IOS 監(jiān)聽文件改變

NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

if(paths.count==0){return;}

NSString*ksnowDir=[[pathsobjectAtIndex:0]stringByAppendingPathComponent:@"ksnow"];NSLog(@"ksnowdir = %@",ksnowDir);

NSURL*directoryURL=[NSURLURLWithString:ksnowDir];intconstfd=open([[directoryURLpath]fileSystemRepresentation],O_EVTONLY);

if(fd<0){NSLog(@"Unable to open the path = %@",[directoryURLpath]);return;}

dispatch_source_tsource=dispatch_source_create(DISPATCH_SOURCE_TYPE_VNODE,fd,DISPATCH_VNODE_WRITE|DISPATCH_VNODE_RENAME,DISPATCH_TARGET_QUEUE_DEFAULT);

dispatch_source_set_event_handler(source,^(){

unsignedlongconsttype=dispatch_source_get_data(source);

switch(type){

caseDISPATCH_VNODE_WRITE:{

NSLog(@"目錄內(nèi)容改變!!!");break;

}

caseDISPATCH_VNODE_RENAME:{

NSLog(@"目錄被重命名!!!");break;

}

default:break;

}});

dispatch_source_set_cancel_handler(source,^(){close(fd);

});

self.source=source;

dispatch_resume(self.source);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容