2015-02-23 43 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

相關問題