我发现有些库可以监控mac上的文件更改,例如:https://github.com/bdkjones/VDKQueue 但我没能找到一个库来监控ios平台上的文件更改。
任何人都可以告诉我如何在objc包装器中监视文件更改。
感谢
答案 0 :(得分:9)
iOS上的文件监控是通过创建GCD为您要监控的任何文件或文件夹调用“调度源”来实现的。在创建调度源时,您提供了三个有趣的事情:
创建调度源后,您可以设置在事件发生时或源被取消(销毁)时要执行的代码块。在为事件发生时设置的块中,您可以确定发生了哪个事件(如果您注册了多个类型),并依次使用if ... else ... then或switch ... case语句。< / p>
我正在创建一个简化过程的可移植Objective-C类,但与此同时,你应该看一下demo project I've put on GitHub。它显示了如何完成我所描述的内容。
修改强>
现在可以通过CocoaPods获得iMonitorMyFiles。要安装它,只需将以下行添加到Podfile:
pod 'iMonitorMyFiles', '~> 0.1.0'
答案 1 :(得分:2)
查看`dispatch_sources' - 这是一种基于GCD的监控方式,例如文件系统:https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/GCDWorkQueues/GCDWorkQueues.html
我在Mac OS上使用它而不是kqueue,根据链接的文档,它也应该在iOS上使用。