2

我有一个使用 UIManagedDocument(即核心数据)文档格式的应用程序。为了让生活有趣,我试图让它与 iCloud 一起工作。我已经设法达到可以得到以下两个选项之一的地步:

  1. 它可以工作,但在 iCloud 设置中,文档都显示为DocumentMetadata.plist,不用说,这很令人困惑
  2. 现有文档在 iCloud 设置中正确显示,但我无法创建新文档

显然,这些都不可接受(尽管显然第二个是最糟糕的。)

在场景一中,我没有文档类型或导出的 UTI 类型,我设置了我NSMetadataQuery的查找DocumentMetadata.plist(因为那是一个文件并且查询只能找到被认为是文件的东西)。

在此处输入图像描述

在场景二中,我确实定义了文档类型和导出的 UTI 类型。在这种情况下,NSMetadataQuery查找我的文档类型的文件扩展名。在这种情况下,奇怪的是该saveToURL:completionHandler:方法从不调用完成块:

[docToOpen saveToURL:docURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){
  NSLog (@"This line never gets executed.";
}];

(在第一种情况下确实如此。)

NSMetadataQuery我的猜测 - 这是一个猜测 - 是它使用与查看文档的文件“guts”何时创建相同的机制,但是,因为我的文档是一个com.apple.package它看不到内部并且认为它不是完成的。

我错过了什么?您是否只是不应该将托管文档放在 iCloud 的用户可见部分中?

4

0 回答 0