不兼容的对象模型版本

时间:2011-01-25 07:23:39

标签: objective-c cocoa xcode macos interface-builder

有谁可以解释这里发生了什么?我有一个文件我刚刚从我的应用程序的新版本保存 - 但如果我关闭我的应用程序并双击该文档文件,它会给我这个错误:

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)没有运气。最奇怪的部分是,当我接受错误并查看它加载的应用程序时,它是一个旧版本。我在哪里可以找到我的应用程序的这个神秘版本,我该如何解决它?

2 个答案:

答案 0 :(得分:0)

对于任何遇到此问题的人 - 我也遇到了正确安装应用程序(测试App Store提交时)的问题,并且在查看安装程序日志时,它在计算机上的某些WEIRD位置显示了我的应用程序。删除它们并重新安装(如果只是从XCode调试,则不要重新安装)并解决问题。

答案 1 :(得分: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;
  }