В последнем обновлении моего приложения я изменил Data Data Modell CoreData. К сожалению, я забыл о миграции, и я потерял исходный код старой версии. Поэтому у меня теперь есть проблема, чтобы исправить ситуацию. Прежде всего - сохраненные данные в CoreData не важны, я думал об удалении файла momd, но проблема здесь в том, что приложение Crashes и ему требуется перезапуск. Возможно ли правильно удалить файл и создать новый без сбоев?Модель данных с изменением данных ядра без миграции
Вот код, как мне удалось удалить файл momd. Я делаю это в методе AppDelegates - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
.
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"v1.0.4"]) {
NSFileManager * fileManager = [NSFileManager defaultManager];
NSURL * storeURL = [[NSBundle mainBundle] URLForResource:@"Vocabulary" withExtension:@"momd"];
NSError * error;
if ([fileManager fileExistsAtPath:storeURL.path])
[fileManager removeItemAtURL:storeURL error:&error];
}
Почему вы не удаляете файл .sqlite? – Wain
Что сказал @Wain. Если вам не нужны старые данные, удаляемая вещь - это файл '.sqlite'. Другой альтернативой является просто создать новый файл '.sqlite' с другим именем, что оставляет вам возможность вручную обращаться к старым данным, если вы когда-нибудь захотите. – aroth