我真的陷入了从iPhone应用程序的v1到v2的升级测试.我有IPA版本,我正在测试通过iTunes临时分发到我的iPhone设备,一个用于应用程序的v1,另一个用于v2.注意:
错误的片段......*
reason=**Can't find model for source store**}, {
URL = "file://localhost/var/mobile/Applications/AAAAF424-D6ED-40FE-AB8D-66879386739D/Documents/MyApp.sqlite";
metadata = {
NSPersistenceFrameworkVersion = 320;
<cut>
Run Code Online (Sandbox Code Playgroud)
问题 - 任何想法如何解决这个问题?我可以在这做什么调试/分析?如果您需要更多信息,请告诉我.
我作为概述所做的是:
PS更全面的错误版本,如果这有帮助 - 这次它来自模拟模拟器上的迁移错误
, reason=Can't find model for source store}, {
URL = "file://localhost/Users/greg/Library/Application%20Support/iPhone%20Simulator/4.3.2/Applications/69FDFDCF-631D-4191-B852-CD75151B1EA9/Documents/MyApp.sqlite";
metadata = {
NSPersistenceFrameworkVersion = 320;
NSStoreModelVersionHashes = {
Config = <5f92f988 71e11a66 554ae924 61887562 22b8de8a c318b110 e3e4a569 81adafa2>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers …Run Code Online (Sandbox Code Playgroud) 伙计们,
轻量级迁移在这条线上100%的时间都失败了:
[persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]
Run Code Online (Sandbox Code Playgroud)
有错误:
Error: Error Domain=NSCocoaErrorDomain Code=134130 UserInfo=0x4fbff20 "Operation could not be completed. (Cocoa error 134130.)"
"Can't find model for source store";
Run Code Online (Sandbox Code Playgroud)
这是我的托管对象上下文,模型和持久性存储:
- (NSManagedObjectContext *) managedObjectContext {
if (managedObjectContext != nil) {
return managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
managedObjectContext = [[NSManagedObjectContext alloc] init];
[managedObjectContext setPersistentStoreCoordinator: coordinator];
}
return managedObjectContext;
}
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] …Run Code Online (Sandbox Code Playgroud) 我有一个ios应用程序,预先存在sqlite数据库,我正在使用核心数据.现在我发布了一个新版本的应用程序,在核心数据预先存在存储(sqlite)中进行了一些属性更改.现在用户更新应用程序,然后应用程序在加载时崩溃并给出下面给出的错误.我通常在iphone simulatore中修复此错误但重置模拟器.但现在如何为我的实时用户处理这个问题.
如果我的用户删除了应用程序,然后安装新版本,那么它可以正常工作

我在商店里有一个使用核心数据进行数据持久化的精简应用程序,如果用户可以在升级后将数据迁移到应用程序的完整版本,那将会很不错.
我找到了这篇文章,但它只讨论了SQLite数据库.
我好像没有找到任何关于这个的信息.
谁知道如何做到这一点?
我的核心数据将再更新一个属性,为了避免崩溃,我首先添加了一个新的模型版本,此外:
关于这个问题的大部分关键是改变:
coordinator!.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: url, options: nil)
Run Code Online (Sandbox Code Playgroud)
选项:在代码中为零
options:[NSMigratePersistentStoresAutomaticallyOption:true, NSInferMappingModelAutomaticallyOption: true]
Run Code Online (Sandbox Code Playgroud)
但是在我的appdelegate.swift 中,我找不到任何“persistentStoreCoordinator”,那么我可以在我的版本中迁移 CoreData 吗?