UIManagedDocument (つまり、Core Data) ドキュメント形式を使用するアプリがあります。人生を面白く保つために、私はそれをiCloudで動作させようとしています. 次の2つのオプションのいずれかを取得できるようになりました。
- それは機能しますが、iCloud 設定では、ドキュメントはすべて
DocumentMetadata.plist
、言うまでもなく、かなり混乱しているように見えます - 既存のドキュメントは iCloud 設定で正しく表示されますが、新しいドキュメントを作成できません
明らかに、これらのどちらも受け入れられません (ただし、明らかに 2 番目が最悪です)。
シナリオ 1 では、ドキュメント タイプまたはエクスポートされた UTI タイプがなくNSMetadataQuery
、を検索するように設定しましたDocumentMetadata.plist
(これはファイルであり、クエリはファイルと見なされるものしか検索できないため)。
シナリオ 2 では、ドキュメント タイプとエクスポートされた UTI タイプの両方が定義されています。この場合NSMetadataQuery
、ドキュメント タイプのファイル拡張子が検索されます。この場合の奇妙な点は、saveToURL:completionHandler:
メソッドが完了ブロックを呼び出さないことです。
[docToOpen saveToURL:docURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){
NSLog (@"This line never gets executed.";
}];
(最初のケースではそうです。)
私の推測ではNSMetadataQuery
、ドキュメントの「根性」ファイルがいつ作成されるかを確認するのと同じメカニズムを使用しているのですが、私のドキュメントはcom.apple.package
内部を見ることができず、そうではないと考えているためです。終了した。
私は何が欠けていますか?管理されたドキュメントを iCloud のユーザーに表示される部分に置くことは想定されていませんか?