CoreDataを使ったアプリ バージョンアップで以前のデータが消えてしまいました
バージョンアップ時に全データが消える(もしくは内部に保存されているが見えなくなる)という
とんでもない失態を犯してしまいました。
原因も分かりません。
バージョンアップでもデータモデルはいじっておりません。
現在、自分が考えている原因の候補としては
・本に書いてあるままに- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
の最下部に、[[NSFileManager defaultManager]removeItemAtURL:storeURL error:nil];
と書いたままにしておいたから
・マイグレーション処理をしていなかったから
の二つですが確証はありません。ググっても同じような例が見つかりませんでした。
基本的にAppDelegateはいじっておらず、候補1の処理以外は初期通りです。
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
// 略
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil URL:storeUrl
options:nil error:&error]) {
[[NSFileManager defaultManager]removeItemAtURL:storeURL error:nil]; //追加
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return persistentStoreCoordinator;
}
本当にユーザのみなさまに申し訳なくて、もしデータ復旧できるのであれば
その手段を教えていただけると助かります。
データが戻らない場合でも、次回からそうならないような対処法を教えていただけると
助かります。