3

我可以使用具有相同 Apple ID 的通用通用标识符(例如:iCloud.com.mycompany.CommonFiles)以编程方式将文件从 OS X 应用程序 (10.10) 和 iOS 应用程序 (8.4) 存储到 iCloud Drive。

在 OS X 应用程序中,我可以识别或检索 iCloud Drive 中的所有文件,无论它们来自何处(本地或远程),使用“通用”普遍 ID 和 NSFileManager contentsOfDirectoryAtURL: 等。

然而,在 iOS 8 中,虽然 iOS 应用程序似乎将文件放在 iCloud Drive 中的正确位置(这样它们在 OS X Finder 中可见,并且在 OS X 中可检索),但它只能识别和检索它生成的文件- 在任何其他设备上创建的 iCloud Drive 中的文件对 iOS 应用程序是不可见的。

我必须在 iOS 应用程序中做什么才能查看和使用(以编程方式,而不是通过 UIDocumentPicker)源自同一通用普遍标识符下的 Documents 目录的所有普遍内容?

(这曾经在旧的“文档和数据”中工作 - 在 iCloud Drive 之前 - 技术中“通用”普遍性标识符以我们的公司团队 ID 为前缀 - 现在已替换为“iCloud”。一旦用户选择加入 iCloud Drive,但是,这种在 OS X 和 iOS 上的应用程序之间共享文件的方法已经丢失。)

4

1 回答 1

2

您应该仅使用 .枚举应用程序的 iCloud Drive 文件夹中的文件NSMetadataQuery。该目录中的文件只有在您特别要求下载它们后才会显示,并且为了要求下载,您需要知道它们存在于云中(您只能通过 找到NSMetaDataQuery)。

参见例如https://www.raywenderlich.com/12816/icloud-and-uidocument-beyond-the-basics-part-3和详细信息https://developer.apple.com/library/mac/documentation/Carbon/概念/SpotlightQuery/Concepts/QueryingMetadata.html

于 2016-03-12T12:19:59.623 回答