我正在寻找一种可靠的方式来接收通知,如果用户在应用程序运行时通过iTunes文件共享修改了文档目录的内容。
我宁愿不使用
- (void)applicationDidBecomeActive:(UIApplication *)application
因为这在iOS 5上不可靠,因为您可以在不调用此方法的情况下更改document目录。
我还查看了Apple的DirectoryWatcher类,发现它在iOS 4.3及更高版本上不起作用。
编辑:
按照下面这个DirectoryWatcher的答案,它实际上是起作用的,我只是错过了默认情况下它是自动发布的。
最佳答案
苹果的DirectoryWatcher看起来不错。我还没有完全测试过,但是从粗略的外观来看...
您必须将其升级到iOS5-但是XCode会提示您执行此操作。这导致一个项目出现一个错误,可以通过将QLPreviewControllerDelegate添加到DITableViewController接口来解决。
@interface DITableViewController : UITableViewController <QLPreviewControllerDataSource,
DirectoryWatcherDelegate,QLPreviewControllerDelegate,
UIDocumentInteractionControllerDelegate>