在我的应用程序的最后一次更新中,我更改了CoreData Data Modell。不幸的是我忘记了迁移,我丢失了旧版本的源代码。所以我现在有了挑战来解决问题。首先 - CoreData中保存的数据并不重要,我考虑删除momd-File,但问题是,应用程序崩溃,需要重新启动。是否可以正确删除文件并创建一个新文件而不会崩溃?
这里是Code如何设法删除momd-File。我在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];
}
答案 0 :(得分:0)
非常感谢,我现在正在删除.sqlite文件,它就像我想要的那样!感谢@Wain和@aroth
NSFileManager * fileManager = [NSFileManager defaultManager];
NSURL * storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Vocabulary.sqlite"];
NSError * error;
if ([fileManager fileExistsAtPath:storeURL.path])
[fileManager removeItemAtURL:storeURL error:&error];