2011-01-25 66 views
4

任何人都可以解释这里发生了什么?我有我刚刚从我的应用程序的新版本中保存的文件 - 但如果我关闭我的应用程序,然后双击该文件的文件,它给了我这个错误:不兼容对象模型版本

The document “main” could not be opened. The managed object model version used to open the persistent store is incompatible with the one that was used to create the persistent store. 

现在,我已经检查了谷歌,这和它似乎是相当普遍的,但是,我尝试了删除应用程序支持文件夹中的文件(由于某种原因文件夹不存在)的建议,并从XCode(Build> Clean All Targets)中清除了所有目标,但没有运气。最奇怪的部分是,当我接受错误并查看它加载的应用程序时,它是旧版本。我在哪里可以找到这个应用程序的神秘版本,我该如何解决它?

回答

0

仅适用于有此问题的任何人 - 我在正确安装应用程序时(测试App Store提交时)以及查看安装程序日志时出现问题,它在计算机上的某些WEIRD位置显示我的应用程序。删除这些并重新安装(或者不要,如果只是从XCode进行调试)并解决问题。

+1

你的管理对象模型的重新定位:一些文档说,这是在〜/库/ Application Support/YOUR_APP_NAME,但我发现我的在〜/图书馆/ YOUR_APP_NAME。如果您对核心数据模型进行了更改并最终导致加载问题,请尝试删除此目录并重建。 – Pete855217 2012-01-09 08:48:18

0

我解决此问题得到了抑制CoreData版本检查:

NSDictionary *options = @{NSIgnorePersistentStoreVersioningOption:@NO} 
    NSPersistentStoreCoordinator *coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:mom]; 
    if (![coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:url options:options error:&error]) { 
    [[NSApplication sharedApplication] presentError:error]; 
    return nil; 
    }