アプリのiCloudコンテナとiCloudドライブにあるユーザーのドキュメントをリストする基本的なiOS 8アプリがあります。
私の問題は、iCloud Drive (Finder → Go → iCloud Drive) に直接あるドキュメントが、メタデータ クエリの結果として含まれないことです。クエリは、アプリの iCloud コンテナーのDocuments
フォルダーにある結果のみを返します。
次のようにクエリを初期化します。
self.query = [NSMetadataQuery new];
self.query.searchScopes = @[NSMetadataQueryUbiquitousDataScope,
NSMetadataQueryUbiquitousDocumentsScope,
NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope]; // iCloud Drive
権利は次のようになります。
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
<string>$(TeamIdentifierPrefix)com.my.app</string>
<string>iCloud.com.my.app</string>
</array>
さらに奇妙なことに、iCloud Drive 内のいくつかのドキュメントがときどき表示されることがありますが、iCloud Drive からそれらを移動して戻すと、それらは表示されなくなります。