我有时在打开存储在 iCloud 上的 UIDocuments 时遇到问题。在检查 iCloud 是否可用并获得 NSMetaDataQuery 的结果后,我在我的应用程序的最开始调用以下代码。这适用于所有情况的 98%。只是有时(例如,有时在重新安装应用程序后)完成处理程序永远不会被调用:
FRNBDocument *doc = [[FRNBDocument alloc] initWithFileURL:fileURL];
[doc openWithCompletionHandler:^(BOOL success) {
NSLog(@"... doc: openedWithCompletionHandler");
正如您从代码中看到的那样,我正在初始化一个新的 UIDocument 实例 (FRNBDocument),因此不可能是旧的 UIDocument 仍处于打开状态,因此无法打开。
让应用程序再次运行的唯一方法是杀死它,然后转到 settings.app > iCloud > Documents & Data 并关闭它,然后再次打开它。当我返回应用程序时,将毫无问题地加载 UIDocs。
我注意到其他应用程序(例如 xTrail by sophiestication)也有同样的问题,我只能在完成上述技巧后让它们再次运行。
到底是怎么回事?