2015-02-23 42 views
0

我有一个基本的iOS 8应用程序,它在应用程序的iCloud容器和iCloud Drive中列出用户的文档。未包含在NSMetadataQuery结果中的iCloud Drive文档

我的问题是,直接位于iCloud Drive(Finder→Go→iCloud Drive)中的文档不包含在元数据查询结果中。该查询只返回应用程序的iCloud容器的Documents文件夹中的结果。

我初始化这样的查询:

self.query = [NSMetadataQuery new]; 
self.query.searchScopes = @[NSMetadataQueryUbiquitousDataScope, 
    NSMetadataQueryUbiquitousDocumentsScope, 
    NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope]; // iCloud Drive 

的权利是这样的:

更为奇特:在iCloud中驱动器的几个文件,有时的确会出现,但如果我移动他们离开了iCloud Drive并回来,他们不再显示。

回答

2

想通了。 iCloud Drive文档不在应用程序的容器中,因此不包含在元数据查询结果中,因为该应用程序无法访问外部文件。

一旦文档被与文档选择器打开时,该应用获得访问该文档,它会从此是元数据查询结果的一部分(直到用户移动出来的iCloud驱动的)。

还有一件事我观察到:如果用户将文档出来的iCloud驱动器在Mac上的,元数据查询将不会收到在iOS的更新。试图在iOS上打开文档只会导致错误(找不到文件)。

0

我也想获得直接在iCloud驱动器中的文件和目录。我发现一个名为“文档5”的应用程序已经完成了这项工作。这是我的问题:iCloud Drive list directories and files through NSMetadataQuery

+0

我了解,您没有足够的代表发表评论,但答案不是提问的媒介。 – 2015-08-08 10:37:15

相关问题