检测文档目录下的文件更改

cod*_*cat 3 itunes objective-c ios

我的应用程序已打开iTunes文件共享,当用户在iTunes中添加文件时,它应该能够检测到.

Application Delegate中的以下函数用于调用,但不再是:

- (void)applicationDidBecomeActive:(UIApplication *)application
Run Code Online (Sandbox Code Playgroud)

有替代解决方案吗?

Jus*_*Sid 6

有一个解决方案:GCD.GCD允许您创建一个dispatch_source_t监视vnode更改的内容,例如在目录中写入,然后通知您.基本是:使用open(path, O_EVTONLY)syscall获取目录的文件描述符,然后调用dispatch_source_create()DISPATCH_SOURCE_TYPE_VNODE作为类型和DISPATCH_VNODE_WRITE掩码传递.设置事件处理程序使用dispatch_source_set_event_handler并执行在目录中写入文件时需要执行的操作,此外,您还需要设置一个取消处理程序,该处理程序调用close()以关闭文件描述符.最后,打电话dispatch_resume()开始监控.