在我的基于iCloud的应用程序中,我注意到如果在UIDocument打开时(并且尚未关闭)发生崩溃,则文档的状态有时会变为UIDocumentStateSavingError
并且永远不会成功打开试。
在此之后运行[UIDocument openWithCompletionHandler:]
时,文档永远不会打开,为NO
返回success
,为{{1返回UIDocumentStateClosed
和UIDocumentStateSavingError
}}
在iOS 5上,我还观察到documentState
一直被调用(每秒一次),直到文件被删除并且应用程序重新启动。这会在应用程序中导致其他可用性问题。
还有一件事,在developer.icloud.com上,我注意到该文件显示存在第二个冲突的版本。但是,在我的任何设备上都找不到此冲突,即使重新启动或重新安装该应用也不会。
如何才能正常打开UIDocument?
这是我到目前为止所尝试的内容:
检查NSMetadataQueryDidUpdateNotification
是否存在冲突,并使用[NSFileVersion unresolvedConflictVersionsOfItemAtURL:]
删除所有旧版本。
在致电[NSFileVersion removeOtherVersionsOfItemAtURL:]
之前致电[[NSFileManager defaultManager] evictUbiquitousItemAtURL:]
,将文件重新下载到设备。
从developer.icloud.com下载主要版本和冲突版本,以查看其中是否存在任何损坏或部分文件。两者都很好。
朝我的桌子敲我的头。初步结果不成功。