#iphone #ios
#iPhone #iOS
Вопрос:
Я ищу надежный способ получить уведомление, если пользователь изменил содержимое каталога документов через общий доступ к файлам itunes во время работы приложения.
Я предпочитаю не использовать
- (void)applicationDidBecomeActive:(UIApplication *)application
потому что это ненадежно с iOS 5, потому что вы можете изменить каталог документов без вызова этого метода..
Я также изучил класс DirectoryWatcher от Apple и обнаружил, что он не работает на iOS 4.3 и более поздних версиях.
Редактировать: Согласно приведенному ниже ответу, этот DirectoryWatcher действительно работает, я только что пропустил, что он по умолчанию автоматически выпущен.
Ответ №1:
DirectoryWatcher от Apple выглядит неплохо. Я не полностью протестировал его, но с беглого взгляда…
Вам необходимо обновить его до iOS5, но XCode предложит вам это сделать. Это приводит к созданию проекта с одной ошибкой, которую можно устранить, добавив QLPreviewControllerDelegate в интерфейс DITableViewController.
@interface DITableViewController : UITableViewController <QLPreviewControllerDataSource,
DirectoryWatcherDelegate,QLPreviewControllerDelegate,
UIDocumentInteractionControllerDelegate>
Комментарии:
1. Я обновил свой пост, вы были правы, что он работает для iphone, но по какой-то причине он не запускается на ipad
2. Для меня это работает на устройстве iPad, если я настрою целевое устройство на ipad и запущу.
3. Угу, сначала я не видел авторелиза, поэтому обратные вызовы происходили после того, как до него добрался releasepool. Спасибо. DirectoryWatcher * tempManager = [[[DirectoryWatcher alloc] инициализация] авторелиз];