У меня иногда возникает проблема с открытием UIDocuments, которые хранятся в iCloud. Я вызываю следующий код в самом начале моего приложения после проверки доступности iCloud и получения результатов NSMetaDataQuery. Это работает в 98% случаев. Это просто иногда (например, иногда после повторной установки приложения), что завершениеHandler никогда не будет вызвано:
FRNBDocument *doc = [[FRNBDocument alloc] initWithFileURL:fileURL];
[doc openWithCompletionHandler:^(BOOL success) {
NSLog(@"... doc: openedWithCompletionHandler");
Как вы можете видеть из кода, я инициализирую новый экземпляр UIDocument (FRNBDocument), так что это не может быть так, как старый UIDocument все еще открыт, и поэтому этот не открывается.
Единственный способ заставить приложение работать снова - убить его, а затем перейти к settings.app > iCloud > Documents and Data и выключить его, а затем снова включить его. Когда я вернусь к приложению, UIDocs загрузятся без проблем.
Я заметил, что другие приложения (например, xTrail by sophiestication) имеют одинаковую проблему и что я могу заставить их работать снова после выполнения трюка, описанного выше.
Что происходит?