Неясно, хотите ли вы сохранить старые данные приложения и выполнить миграцию или нет.
Если нет, то при публикации новой модели, когда базовые данные увидят, что модель отличается от старой, вы можете стереть хранилище следующим методом: [[NSFileManager defaultManager] removeItemAtURL:storeURL error:nil];
Затем воссоздайте свой магазин:
[__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error];
Вы будете уведомлены о том, что магазин не соответствует
/**
Returns the persistent store coordinator for the application.
If the coordinator doesn't already exist, it is created and the application's store added to it.
*/
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
метод, вы обычно найдете его в файле appDelegate.
в основном у вас есть два варианта: создать новый магазин в соответствии с вашей новой моделью (старые данные исчезнут) или перенести вашу старую модель на новую (возможно ли это в соответствии с тем, что вы собираетесь делать?)
Если приложение принципиально отличается, вы можете рассмотреть возможность публикации «нового приложения», а не новой версии. Затем вам нужно перенаправить пользователей в новое приложение, например, с сообщением в старом приложении. В основном это тот случай, когда вы хотите, чтобы старые пользователи сохраняли свое приложение «как есть», потому что оно соответствует старой версии iOS, и публиковали совершенно новое приложение с использованием совершенно новых функций, стандартов и пользовательского интерфейса iOS.
person
moxy
schedule
17.06.2012