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