Ios 迁移核心数据错误代码134130

Ios 迁移核心数据错误代码134130,ios,core-data,core-data-migration,Ios,Core Data,Core Data Migration,我想用2个CoreData数据库进行迁移。我读过 对于第一个数据库,我在新版本的数据库中添加了一些属性(字符串、整数和日期属性)。按照所有步骤,我已经成功地完成了第一步的迁移 但在第二个数据库中,我还向新版本的数据库添加了属性(字符串、整数、日期、可转换和二进制数据属性)。按照所有步骤(如第一个数据库),系统返回一个错误(134130) 代码如下: if (persistentStoreCoordinator_) { PMReleaseSafely(persistentStoreCoor

我想用2个CoreData数据库进行迁移。我读过

对于第一个数据库,我在新版本的数据库中添加了一些属性(字符串、整数和日期属性)。按照所有步骤,我已经成功地完成了第一步的迁移

但在第二个数据库中,我还向新版本的数据库添加了属性(字符串、整数、日期、可转换和二进制数据属性)。按照所有步骤(如第一个数据库),系统返回一个错误(134130)

代码如下:

if (persistentStoreCoordinator_) {
    PMReleaseSafely(persistentStoreCoordinator_);
}

// Notify
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName:GCalWillMigrationNotification object:self];

//
NSString *sourceStoreType = NSSQLiteStoreType;
NSString *dataStorePath = [PMUtility dataStorePathForName:GCalDBWarehousePersistentStoreName];
NSURL *storeURL = [NSURL fileURLWithPath:dataStorePath];
BOOL storeExists = [[NSFileManager defaultManager] fileExistsAtPath:dataStorePath];

//
NSError *error = nil;
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                        [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                        [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:self.managedObjectModel];
[persistentStoreCoordinator_ addPersistentStoreWithType:sourceStoreType
                                          configuration:nil
                                                    URL:storeURL
                                                options:options
                                                  error:&error];
if (error != nil) {
    abort();
}
错误不是零,下面是日志:

Error Domain=NSCocoaErrorDomain Code=134130 "The operation couldn\u2019t be completed. (Cocoa error 134130.)" UserInfo=0x856f790 {URL=file://localhost/Users/greensun/Library/Application%20Support/iPhone%20Simulator/5.0/Applications/D10712DE-D9FE-411A-8182-C4F58C60EC6D/Library/Application%20Support/XXX/XXX.sqlite, metadata={type = immutable dict, count = 7, entries => 2 : {contents = "NSStoreModelVersionIdentifiers"} = {type = immutable, count = 1, values = ( 0 : {contents = ""} )} 4 : {contents = "NSPersistenceFrameworkVersion"} = {value = +386, type = kCFNumberSInt64Type} 6 : {contents = "NSStoreModelVersionHashes"} = {type = immutable dict, count = 2, entries => 0 : {contents = "XXX"} = {length = 32, capacity = 32, bytes = 0xfdae355f55c13fbd0344415fea26c8bb ... 4c1721aadd4122aa} 1 : {contents = "XXX"} = {length = 32, capacity = 32, bytes = 0x7676888f0d7eaff4d1f844343028ce02 ... 040af6cbe8c5fd01} } 7 : {contents = "NSStoreUUID"} = {contents = "51678BAC-CCFB-4D00-AF5C-8FA1BEDA6440"} 8 : {contents = "NSStoreType"} = {contents = "SQLite"} 9 : {contents = "_NSAutoVacuumLevel"} = {contents = "2"} 10 : {contents = "NSStoreModelVersionHashesVersion"} = {value = +3, type = kCFNumberSInt32Type} }, reason=Can't find model for source store} 错误域=NSCOCAERRORDOMAIN代码=134130“操作 无法完成\u2019。(可可错误134130。)“UserInfo=0x856f790 {URL=file://localhost/Users/greensun/Library/Application%20Support/iPhone%20Simulator/5.0/Applications/D10712DE-D9FE-411A-8182-C4F58C60EC6D/Library/Application%20Support/XXX/XXX.sqlite, 元数据={type=不可变的dict, 计数=7,条目=>2:{contents= “NSStoreModelVersionIdentifiers”}={type=immutable,count=1,value=(0:{contents=”“})4:{contents=“NSPersistenceFrameworkVersion”}={value=+386,type=kCFNumberSInt64Type}6: {目录= “NSStoreModelVersionHashes”}={type=immutable dict,count=2,entries=>0: {contents=“XXX”}={length=32,capacity=32,字节= 0xFDAE355CF55C13FBD0344415FEA26C8BB…4C1721ADD4122AA}1: {contents=“XXX”}={length=32,capacity=32,字节= 0x7676888F0D7EAFF4D1F844328CE02…040af6cbe8c5fd01}}7: {contents=“NSStoreUUID”}={contents= “51678BAC-CCFB-4D00-AF5C-8FA1BEDA6440”}8:{contents=“NSStoreType”}={contents=“SQLite”}9:{contents=“\u NSAutoVacuumLevel”}={contents=“2”}10:{contents=“NSStoreModelVersionHashesVersion”}= {value=+3,键入= kCFNumberSInt32Type},原因=找不到源存储的模型}
我尝试了很多解决方案,但都不起作用。我只是向2个新版本数据库添加了更多属性,并成功迁移了一次。

这是iOS5中Apple框架中的一个bug。我假设你是苹果iOS开发者计划的成员,所以你可以在这里阅读

简言之,这意味着,如果您有多个模型,例如使用两个持久性存储(但不仅如此),则在某些情况下,您无法添加一个数据模型的新版本,而其他模型保持其当前版本


它已提交给苹果公司并标记为副本。我不知道这是否已经在iOS6中修复。

这是iOS5中Apple框架中的一个bug。我假设你是苹果iOS开发者计划的成员,所以你可以在这里阅读

简言之,这意味着,如果您有多个模型,例如使用两个持久性存储(但不仅如此),则在某些情况下,您无法添加一个数据模型的新版本,而其他模型保持其当前版本


它已提交给苹果公司并标记为副本。我不知道这是否已在iOS6中修复。

感谢您回答我的问题。我已解决了我的问题。我一直在与SVN合作,当我创建Core Date的新版本时,SVN还创建了旧版本数据的副本。我必须在项目外部进行复制,并从SVN中删除全部核心数据。然后,我创建了新的核心数据,它解决了我的问题。感谢回复我的问题。我已经解决了我的问题。我一直在与SVN合作,当我创建Core Date的新版本时,SVN还创建了旧版本数据的副本。我必须在项目外部进行复制,并从SVN中删除全部核心数据。然后,我创建了新的核心数据,它解决了我的问题。