Миграция и iCloud

При использовании iCloud можно только переместить содержание хранилища с помощью автоматической легкой миграции. Для миграции персистентного хранилища, которое находится в iCloud Вы добавляете хранилище к персистентному координатору хранилища, использующему addPersistentStoreWithType:configuration:URL:options:error: и передайте, по крайней мере, следующие опции в словаре опций:

NSDictionary *optionsDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:
    [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
    [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
    <#Ubiquitous content name#>, NSPersistentStoreUbiquitousContentNameKey, nil];

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

Если Вы мигрируете, персистентное хранилище сконфигурировало с a NSPersistentStoreUbiquitousContentNameKey опция к новой версии модели, истории хранилища изменений, происходящих из текущего устройства, будет также перемещена и затем объединена с любыми другими устройствами, сконфигурированными с той новой версией модели. Любые изменения от хранилищ с помощью новой версии также объединяются в. Если миграция выполняется с помощью пользовательской модели отображения, существующие изменения не могут, однако, быть перемещены на новую версию модели.