核心数据迁移错误134100

时间:2013-01-20 14:31:21

标签: ios core-data core-data-migration

我正在尝试将当前的核心数据结构迁移到新的数据结构,但无论我做什么,我都会不断得到同样的错误:

Terminating app due to uncaught exception 'Open Failed', reason: 'Reason: The operation couldn’t be completed. (Cocoa error 134100.)'

根据文档,这意味着:NSPersistentStoreIncompatibleVersionHashError

我不能从模拟器中删除应用程序,因为它已经发布到应用程序商店。

app委托中的持久性商店协调员如下:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{

if (persistentStoreCoordinator != nil) {

    return persistentStoreCoordinator;

}

NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"DATABASELOC.sqlite"];

NSLog(@"URL: %@", storeURL);

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:

                         [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,

                         [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

NSError *error = nil;

persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {

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

    abort();

}

return persistentStoreCoordinator;


}

我在app委托中的managedobjectmodel如下:

- (NSManagedObjectModel *)managedObjectModel
{

if (managedObjectModel != nil) {

    return managedObjectModel;

}

NSString *path = [[NSBundle mainBundle] pathForResource:@"DATABASELOC" ofType:@"momd"];

NSURL *momURL = [NSURL fileURLWithPath:path];

managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL];

return managedObjectModel;


}

我已经生成了第二个模型版本,并更新了当前版本,如果我选择当前版本,如果它与原始模型相同,则加载正常。但是,只要我稍作修改,当前出现相同错误的模型就会出现。

我想它似乎没有意识到有一个新的模型,但无论我做什么我都无法通过这个错误。

还有其他人有这个问题吗?有人可以提供一些建议吗?

如果您需要更多信息,请与我们联系。

提前感谢您的帮助!

0 个答案:

没有答案