UIManagedDocument не импортирует изменения iCloud

Когда у меня есть UIManagedDocument (который находится внутри вездесущего контейнера), открытый на устройстве A, при внесении изменений в этот документ на устройстве B эти изменения не импортируются в стек CoreData на устройстве A.

Я вижу, что изменения поступают на устройство А, потому что для документа вызывается метод presentedSubitemDidChangeAtURL(). Если я закрою и снова открою документ, я увижу эти изменения.

Но я ожидаю, что UIManagedDocument автоматически объединит эти изменения в контекст управляемого объекта, пока документ открыт. Разве это не так? В документации не сказано, что я должен сделать это сам.


Я создаю свой документ с

let document = UIManagedDocument(fileURL:...)
document.persistentStoreOptions = [NSMigratePersistentStoresAutomaticallyOption: true, NSInferMappingModelAutomaticallyOption: true]

и переместите его в iCloud с помощью

let fileManager = NSFileManager()
fileManager.setUbiquitous(true, itemAtURL: documentURL, destinationURL: url)

person brutella    schedule 21.05.2016    source источник


Ответы (1)


После получения помощи от службы технической поддержки разработчиков Apple выясняется, что вы должны включить NSPersistentStoreUbiquitousContentNameKey при настройке постоянного хранилища.

person brutella    schedule 23.06.2016