我有一个使用UIManagedDocument(即核心数据)文档格式的应用程序。为了让生活变得有趣,我试图让它与iCloud一起工作。我已经设法达到了以下两个选项之一:
DocumentMetadata.plist
,不用说,这很令人困惑显然这些都不可接受(尽管第二个是最差的。)
在方案一中,我不有文档类型或导出的UTI类型,我设置NSMetadataQuery
来查找DocumentMetadata.plist
(因为那是一个文件和查询只能找到被认为是文件的东西。)
在方案二中,我 do 同时定义了文档类型和导出的UTI类型。在这种情况下,NSMetadataQuery
会查找我的文档类型的文件扩展名。在这种情况下奇怪的是saveToURL:completionHandler:
方法永远不会调用完成块:
[docToOpen saveToURL:docURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){
NSLog (@"This line never gets executed.";
}];
(在第一种情况下确实如此。)
我猜 - 这是一个猜测 - 是它使用与NSMetadataQuery
相同的机制来查看文档的“guts”文件何时被创建,但是因为我的文档是{{1它无法看到内部,并认为它没有完成。
我错过了什么?您是不是应该将托管文档放在iCloud的用户可见部分?