デバイスAでUIManagedDocument
(これはユビキタスコンテナ内にあります)を開いて、デバイスBでそのドキュメントに変更を加えた場合、変更はデバイスAのCoreDataスタックにインポートされませんUIManagedDocumentはiCloudの変更をインポートしません
presentedSubitemDidChangeAtURL()
というメソッドがドキュメント上で呼び出されたため、デバイスAに変更が反映されています。 文書を閉じてもう一度開くと、その変更が表示されます。
しかし、UIManagedDocument
は、ドキュメントが開いている間に、管理対象オブジェクトのコンテキストにこれらの変更を自動的にマージすることを期待しています。これは当てはまりませんか?ドキュメンテーションは私がそれを自分で行う必要があるとは言いません。
私は
let document = UIManagedDocument(fileURL:...)
document.persistentStoreOptions = [NSMigratePersistentStoresAutomaticallyOption: true, NSInferMappingModelAutomaticallyOption: true]
と私の文書を作成して、アップルの開発者向け技術サポートからヘルプを取得した後
let fileManager = NSFileManager()
fileManager.setUbiquitous(true, itemAtURL: documentURL, destinationURL: url)