2015-12-30 117 views
4

我面对奇怪的iOS应用问题的核心数据迁移。以下是您这个问题提到的日志时iOS8上设备迁移,从较低版本的应用程序,以更新version.Note在IOS9使用模型版本光数据迁移升级我已经通过该测试才会发生。核心数据迁移问题在IOS 8只,而不是IOS 9

任何快速的帮助深表感谢其在生产中。

CoreData: error: -addPersistentStoreWithType:SQLite configuration:(null) URL:file:///xxxxx/Documents/Application.sqlite options:{ 
    NSInferMappingModelAutomaticallyOption = 1; 
    NSMigratePersistentStoresAutomaticallyOption = 1; 
} ... returned error Error Domain=NSCocoaErrorDomain Code=134130 "The operation couldn’t be completed. (Cocoa error 134130.)" UserInfo=0x171a7ca80 {URL=file:///xxxxx/Documents/Application.sqlite, metadata={ 
    NSPersistenceFrameworkVersion = 519; 
    NSStoreModelVersionHashes =  { 
     ChatTAble = <a131aa9a f7588fa9 598a8949 05511a36 d0bf9ea9 33c0a87e 96828261 f5de30d4>; 
     OperationTable = <6a3eaabc 7ef604c6 deb9314a 309bf207 378ff20a 4be5546a 6b602826 f0d049db>; 
     Contact = <db1bb713 c747ff41 d73a018c a5208828 8dcd87e8 d4d8afd8 c37f055b 3d7f7f5a>; 
     Email = <35cfbcd3 d990c32c 2bd3b793 a55a6e06 5f88a3a8 d67f77e7 d4a63c17 a512cf73>; 
     Table3 = <373be7dc e2ab077d f0503f49 6a9f8b78 0b5392d9 c5fc2309 e4035d2b 6fd49388>; 
     Table4 = <42c77ddb da95c75b 22186c01 5407888f 41c92961 47ec4d22 e8183b35 3d002893>; 
     RCTable1 = <c9dc1b34 b49b1c2b 291f32a6 f5297396 21152a09 c12cd735 15caf6bb e5aade3b>; 
     TAble2 = <cd2d5199 058890f8 0dd7381f dfae070b ffab95e8 8ca28838 cb6f6127 7bde6f3c>; 
     User = <88f315d2 6b34a4f4 4ce1b4ed ee2cf303 94c9a7bc 3efe7d71 7e84744b 1203d13a>; 
    }; 
    NSStoreModelVersionHashesVersion = 3; 
    NSStoreModelVersionIdentifiers =  (
     "" 
    ); 
    NSStoreType = SQLite; 
    NSStoreUUID = "CDAB1111-D8D9-4021-B8B5-C8B823FBFD3F"; 
    "_NSAutoVacuumLevel" = 2; 
}, reason=Can't find model for source store} with userInfo dictionary { 
    URL = "file:///xxxx/Documents/Application.sqlite"; 
    metadata =  { 
     NSPersistenceFrameworkVersion = 519; 
     NSStoreModelVersionHashes =   { 
      ChatTAble = <a131aa9a f7588fa9 598a8949 05511a36 d0bf9ea9 33c0a87e 96828261 f5de30d4>; 
      OperationTable = <6a3eaabc 7ef604c6 deb9314a 309bf207 378ff20a 4be5546a 6b602826 f0d049db>; 
      Contact = <db1bb713 c747ff41 d73a018c a5208828 8dcd87e8 d4d8afd8 c37f055b 3d7f7f5a>; 
      Email = <35cfbcd3 d990c32c 2bd3b793 a55a6e06 5f88a3a8 d67f77e7 d4a63c17 a512cf73>; 
      Table3 = <373be7dc e2ab077d f0503f49 6a9f8b78 0b5392d9 c5fc2309 e4035d2b 6fd49388>; 
      Table4 = <42c77ddb da95c75b 22186c01 5407888f 41c92961 47ec4d22 e8183b35 3d002893>; 
      RCTable1 = <c9dc1b34 b49b1c2b 291f32a6 f5297396 21152a09 c12cd735 15caf6bb e5aade3b>; 
      TAble2 = <cd2d5199 058890f8 0dd7381f dfae070b ffab95e8 8ca28838 cb6f6127 7bde6f3c>; 
      User = <88f315d2 6b34a4f4 4ce1b4ed ee2cf303 94c9a7bc 3efe7d71 7e84744b 1203d13a>; 
     }; 
     NSStoreModelVersionHashesVersion = 3; 
     NSStoreModelVersionIdentifiers =   (
      "" 
     ); 
     NSStoreType = SQLite; 
     NSStoreUUID = "CDAB1111-D8D9-4021-B8B5-C8B823FBFD3F"; 
     "_NSAutoVacuumLevel" = 2; 
    }; 
    reason = "Can't find model for source store"; 
} 
2015-12-30 13:55:11.279 Closrr_LV4[8639:2062615] CoreData: annotation: NSPersistentStoreCoordinator's current model hashes are { 
    ChatTAble = <53f22878 98260327 12c33f30 8d3ef551 a1d7f284 079eb744 212a896f e13d6398>; 
    OperationTable = <92a573a7 a131a638 754226be 515cd608 84d6f04a f58b8e28 6e477951 4d2a143d>; 
    ChatPushConfig = <d0ecca3f 05d67a77 7a909f4f f9bae449 f6338c17 1a70991f 11cabaf3 efbb15d6>; 
    Contact = <1d6da19b 5bb3ca73 480e4235 9aedb38d 4dbd80d1 402f0f00 715504b4 4a165454>; 
    Table3 = <072e4c37 22cc6fcd d77c8e66 235df69a f8478d4e 9e76894c e0bffbf6 448bf321>; 
    GMTable = <5cd15514 954477e9 439521cc c48044de 6e15c3f7 dfb6289e 260f8c26 4182cf78>; 
    Table4 = <a949a462 e11e300c 1be32e1f 9106c5e5 a2d16ce1 93b8ed68 8c9fe18f fff9886e>; 
    RCTable1 = <f526cbca 492a30ab 9af60b86 fd7d103f e9bfed46 1aa3daad ae9ea90f 37cb3cc6>; 
    TAble2 = <3e371807 557217db 22e78097 0055a51c bcec2200 4a1ced2e 79c8e612 63220389>; 
    User = <dbe32c0d 95fc9df5 bf457c67 906be0c5 f659e106 d52497ac eb3da3f3 b1e1fcbc>; 
} 
+0

嗨,朋友,你有没有得到这个问题的解决方案?谢谢! – DccBr

+0

我不得不删除它并安装重新加载应用:(再次悲伤的状态,我希望有人找到一个更好的解决方案。在这里 –

+0

同样的问题,任何更新? – HaneTV

回答

3

在iOS版本8下,你需要明确在项目中创建你的方案的新版本,这样可以iOS版两种模式从应用程序包比较和执行轻量化迁移。在iOS 9中,Core Data存储将当前架构与(sqlite)数据文件一起存储,这样,如果/当您更改应用程序包中的架构时,它可以在捕获的架构之间执行轻量级迁移磁盘上和应用程序包中的新架构。

这里有一个快速谷歌搜索结果指向你在正确的方向... http://www.informit.com/articles/article.aspx?p=2150667&seqNum=2

+1

你”关于iOS 9是否正确。您是否有资源记录自iOS 9以来改进的行为? –

+0

您知道我在哪里可以找到证明吗? – Arsen

0

为了避免我创建新数据库的崩溃为的iOS 8,因为我没有需要现有数据那么多。

我改变了我的storeURL从

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

NSURL *storeURL; 
if (OS_VERSION<9.0) 
{ 
    storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Project1.sqlite"]; 
} 
else 
{ 
    storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Project.sqlite"]; 
} 

这种固定的崩溃给我。