3

在我基于 iCloud 的应用程序中,我注意到如果在 UIDocument 打开(并且尚未关闭)时发生崩溃,文档的状态有时会变为UIDocumentStateSavingError并且它永远不会再次成功打开。

当我[UIDocument openWithCompletionHandler:]在此之后运行时,文档永远不会打开,返回NOforsuccess和 5 (UIDocumentStateClosedUIDocumentStateSavingError) for documentState

在 iOS 5 上,我还观察到它NSMetadataQueryDidUpdateNotification会不断被调用(每秒),直到文件被删除并重新启动应用程序。这会导致应用程序中出现额外的可用性问题。

还有一件事,在 developer.icloud.com 上,我注意到该文件显示了第二个存在冲突的版本。但是,即使重新启动或重新安装应用程序,在我的任何设备上都没有发现此冲突。

我该怎么做才能让 UIDocument 正常打开?

这是我到目前为止所尝试的:

  • 使用 .检查[NSFileVersion unresolvedConflictVersionsOfItemAtURL:]冲突并删除所有旧版本[NSFileVersion removeOtherVersionsOfItemAtURL:]

  • 在调用[[NSFileManager defaultManager] evictUbiquitousItemAtURL:]之前调用[UIDocument openWithCompletionHandler:]以将文件重新下载到设备。

  • 从 developer.icloud.com 下载主要版本和冲突版本,查看其中是否有损坏或部分文件。两个都开得很好。

  • 我的头撞在我的桌子上。初步结果不成功。

4

0 回答 0