为什么iCloud有时会停止工作?

n.e*_*ind 12 iphone ios icloud uidocument

我有时打开存储在iCloud上的UIDocuments有问题.在检查iCloud是否可用并获取NSMetaDataQuery的结果后,我在应用程序的最开始时调用以下代码.这适用于所有情况的98%.有时(例如有时在重新安装应用程序之后),永远不会调用completionHandler:

FRNBDocument *doc = [[FRNBDocument alloc] initWithFileURL:fileURL];
[doc openWithCompletionHandler:^(BOOL success) {

    NSLog(@"... doc: openedWithCompletionHandler");
Run Code Online (Sandbox Code Playgroud)

正如你从代码中看到的那样,我正在初始化一个新的UIDocument实例(FRNBDocument),所以它不能是旧的UIDocument仍然打开的情况,因此这个无法打开.

让应用程序再次运行的唯一方法是杀死它,然后转到settings.app> iCloud> Documents&Data并将其关闭然后再将其打开.当我回到应用程序时,UIDocs将被加载没有问题.

我注意到其他应用程序(例如xTrail by sophiestication)有同样的问题,我只能在完成上述技巧后再次运行它们.

到底是怎么回事?

n.e*_*ind 3

好吧,这似乎是 iCloud 的一个错误。我已经与 Apple 联系,他们建议提交错误报告。我就这样做了(id 12260670)。

我现在要做的就是简单地实现一个计时器。如果 UIDocs 在 20 秒后尚未加载,我将显示一个 AlertView,告诉用户转到 settings.app > iCloud > Documents & Data 并将其关闭,然后再次打开。

这太令人沮丧了。难以置信。