Подтвердить что ты не робот

Обновление приложения iOS с обновленной моделью данных ядра

Я почти закончил выпуск моего первого приложения iOS в своем выпуске версии 1.1, в котором я сделал две небольшие изменения в моей базовой модели данных. Более конкретно, я добавил два атрибута в одну из моих таблиц. Это мое первое приложение с основными данными и, следовательно, первое обновление основных данных для живого приложения, и я немного нервничаю в отношении кода доставки, который может не работать для моих текущих пользователей. Поскольку это небольшое обновление, я предполагаю, что метод автоматической миграции Яблок будет делать, но я не хочу угадывать.

Соответствующий код выглядит следующим образом:

NSError *error = nil;
__persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                        [NSNumber numberWithBool:YES],   NSMigratePersistentStoresAutomaticallyOption,
                        [NSNumber numberWithBool:YES],  NSInferMappingModelAutomaticallyOption, nil];
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error])
{

    //NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}    

В 1.1 я добавил NSDictionary *options.

В моем контроллере я удостоверяюсь, что нужные строки не ноль:

if (currentPage.inputType == @"drawing") {
    [pageView changeToDrawing];
} else if (currentPage.inputType == @"text") {
    [pageView changeToText];
} else {
    currentPage.inputType = @"text";
    [pageView changeToDrawing];
}

В основном, эти изменения достаточно или мне нужно сделать что-то еще?

4b9b3361

Ответ 1

Вот очень полезная статья в отношении управления версиями Core Data, которая отвечает на ваш вопрос.

Чтобы подвести итог в нескольких словах, вам нужно добавить новую версию модели в свой проект. Это необходимо для процесса миграции.

Edit

Ссылка выше была изменена и перенаправит вас на следующую ссылку: Версии и моделирование модели основных данных

Если все остальное не удается, google: Java-разработчик разработки и переноса данных с базовыми данными.