我收到以下错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyExprojectception', reason: 'Managed object store failed to create persistent store coordinator: Error Domain=NSCocoaErrorDomain Code=134130 "The operation couldn’t be completed. (Cocoa error 134130.)" UserInfo=0x6eb53f0 {URL=/Users/user/Library/Application Support/iPhone Simulator/4.3.2/Applications/4EFD7570-AD87-48E8-8606-1D5633F65AD9/Documents/DiscussionBoard.sqlite, metadata=<CFBasicHash 0x6e7b610 [0x1957400]>{type = immutable dict, count = 7,
entries =>
2 : <CFString 0x6e7bc80 [0x1957400]>{contents = "NSStoreModelVersionIdentifiers"} = <CFArray 0x6e7bd60 [0x1957400]>{type = immutable, count = 1, values = (
0 : <CFString 0x194eed0 [0x1957400]>{contents = ""}
)}
4 : <CFString 0x6e7bcb0 [0x1957400]>{contents = "NSPersistenceFrameworkVersion"} = <CFNumber 0x6e7b820 [0x1957400]>{value = +320, type = kCFNumberSInt64Type}
6 : <CFString 0x6e7bce0 [0x1957400]>{contents = "NSStoreModelVersionHashes"} = <CFBasicHash 0x6e7c310 [0x1957400]>{type = immutable dict, count = 13,
entries =>
0 : <CFString 0x6e7bd80 [0x1957400]>{contents = "CVImage"} = <CFData 0x6e7bf00 [0x1957400]>{length = 32, capacity = 32, bytes = 0xbd556295681226e6b1fd6142e2e7bfcc ... e38b423dd3965969}
2 : <CFString 0x6e7bda0 [0x1957400]>{contents = "CVMembers"} = <CFData 0x6e7bf50 [0x1957400]>{length = 32, capacity = 32, bytes = 0xa3d504782e9111ed01b1c02575c48119 ... 1bd1d59e42507652}
4 : <CFString 0x6e7bdc0 [0x1957400]>{contents = "CVMessages"} = <CFData 0x6e7bfa0 [0x1957400]>{length = 32, capacity = 32, bytes = 0xfbd5da9b0fc0ea188505807aea912e83 ... e3a42fa8fbdf416c}
8 : <CFString 0x6e7bde0 [0x1957400]>{contents = "CVEmbed"} = <CFData 0x6e7bff0 [0x1957400]>{length = 32, capacity = 32, bytes = 0x5d65d864e7881875c52882a8fd709079 ... e3ad8204d4ca3de3}
9 : <CFString 0x6e7be00 [0x1957400]>{contents = "CVGroup"} = <CFData 0x6e7c040 [0x1957400]>{length = 32, capacity = 32, bytes = 0xb2989b51004a22a8fb78971436462bcc ... 39d14fd18d892843}
10 : <CFString 0x6e7be20 [0x1957400]>{contents = "CVImgur"} = <CFData 0x6e7c090 [0x1957400]>{length = 32, capacity = 32, bytes = 0x57cb45112309b9fce595cbee14c87e98 ... f88cd7d4eadeb9aa}
12 : <CFString 0x6e7be40 [0x1957400]>{contents = "CVLinks"} = <CFData 0x6e7c0e0 [0x1957400]>{length = 32, capacity = 32, bytes = 0x715c27157179226a0a44cd0015b9017d ... 26a06c18c21630d3}
13 : <CFString 0x6e7b7c0 [0x1957400]>{contents = "CVStar"} = <CFData 0x6e7c130 [0x1957400]>{length = 32, capacity = 32, bytes = 0xeaba2443e38c48975f8e1eda97788ce3 ... 6939185adf9f8bc4}
14 : <CFString 0x6e7be60 [0x1957400]>{contents = "CVLogin"} = <CFData 0x6e7c180 [0x1957400]>{length = 32, capacity = 32, bytes = 0x3089c83eba00f29b13543cdfa16514d7 ... db609adb46524cab}
16 : <CFString 0x6e7be80 [0x1957400]>{contents = "CVTopics"} = <CFData 0x6e7c1d0 [0x1957400]>{length = 32, capacity = 32, bytes = 0x6ba8c6c71281ae9f3731a180cb0509cb ... 3aedf32173e19adf}
17 : <CFString 0x6e7bea0 [0x1957400]>{contents = "CVConversation"} = <CFData 0x6e7c220 [0x1957400]>{length = 32, capacity = 32, bytes = 0xac552b4d9d0a2c0425facda397d0f3c1 ... 8a7b7d36c9a14af3}
20 : <CFString 0x6e7bec0 [0x1957400]>{contents = "CVMessage"} = <CFData 0x6e7c270 [0x1957400]>{length = 32, capacity = 32, bytes = 0x80e0118b52f9679904a359ce469b116a ... ad08d1f238e71130}
21 : <CFString 0x6e7bee0 [0x1957400]>{contents = "CVTopic"} = <CFData 0x6e7c2c0 [0x1957400]>{length = 32, capacity = 32, bytes = 0xe1898a56a02e523bc8879e812cecd756 ... 339f8023561d35f9}
}
7 : <CFString 0x7888b0 [0x1957400]>{contents = "NSStoreUUID"} = <CFString 0x6e7b970 [0x1957400]>{contents = "BDA8B03E-81DA-472C-8966-936DC080900F"}
8 : <CFString 0x788720 [0x1957400]>{contents = "NSStoreType"} = <CFString 0x7888f0 [0x1957400]>{contents = "SQLite"}
9 : <CFString 0x6e7bd10 [0x1957400]>{contents = "NSStoreModelVersionHashesVersion"} = <CFNumber 0x5f70a40 [0x1957400]>{value = +3, type = kCFNumberSInt32Type}
10 : <CFString 0x6e7bd40 [0x1957400]>{contents = "_NSAutoVacuumLevel"} = <CFString 0x6e7c410 [0x1957400]>{contents = "2"}
}
, reason=Can't find model for source store}'
它说无法找到源存储的模型?这是什么意思?
代码是:
- (void)createPersistentStoreCoordinator {
NSURL *storeUrl = [NSURL fileURLWithPath:self.pathToStoreFile];
NSError *error;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:_managedObjectModel];
// Allow inferred migration from the original version of the application.
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {
if (self.delegate != nil && [self.delegate respondsToSelector:@selector(managedObjectStore:didFailToCreatePersistentStoreCoordinatorWithError:)]) {
[self.delegate managedObjectStore:self didFailToCreatePersistentStoreCoordinatorWithError:error];
} else {
NSAssert(NO, @"Managed object store failed to create persistent store coordinator: %@", error); //fails right here
}
}
}
答案 0 :(得分:16)
我注意到你正在使用RestKit,之前我遇到过这个问题,并通过删除我的SqlLite数据库解决了这个问题。对我来说,当我添加新关系并且数据库不喜欢新属性时。
注意:这在开发中运行良好,但在生产中,您通常需要执行Core Data迁移,因为用户不希望他们的数据丢失(取决于您的应用程序)。
答案 1 :(得分:8)
是的,我同意firetoast。当我从设备/模拟器中删除我的应用程序并重新安装时,问题就消失了。在我编辑核心数据模式并使用restkit保持之后,这通常发生在我身上。
答案 2 :(得分:2)
你应该检查的事情:
此外,在处理CoreData时,有一个有趣的userinfo,它包含许多有用的信息:
NSDictionary *ui = [error userInfo];
for(NSString *err in [ui keyEnumerator]) {
NSLog(@"err:%@",[ui objectForKey:err]);
}
答案 3 :(得分:0)
NSAssert正在对一个陈述是否为真进行断言。通过NO传递给它,你正在使它总是失败的断言检查。我假设如果先前的if语句为false,则强制执行硬失败。