在我的Mac應用程序中,我有一個NSMetadataQuery
來觀看應用程序的iCloud目錄。NSMetadataQuery在將它們移動到iCloud後找不到文檔
- 呼叫
[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]
建立訪問iCloud的容器 - 開始
NSMetadataQuery
找到的所有文件(模式:"*"
)。當用戶決定從應用程序內啓用的iCloud我做的順序如下icloud的容器 - 現在我遍歷所有文件在本地容器和使用
[fileManager setUbiquitous:YES itemAtURL:fileURL destinationURL:targetURL error:&error]
它們移動到iCloud我有兩個類型的文檔,我移動到iCloud:
- 實際的文件存儲爲文件包
- 對於每一個文檔我有一個
.preview
文件一樣簡單的二進制文件
我的問題是元數據查詢僅回報我的二進制預覽文件,但而不是我的實際文檔,直到我重新啓動我的應用程序(或從終端打開應用程序的iCloud文件夾的Finder窗口 - 在這種情況下,我的應用程序獲得所有文件的另一個查詢結果)。
那麼這是一個奇怪的緩存問題?這是因爲文檔是文件包而不是簡單的二進制文件?
我不明白爲什麼這應該是一個問題。如果我重新啓動我的應用程序查詢確實返回所有文件。
這可能是我的自定義文檔類型在Info.plist
中導出的問題嗎?