我创建了一个工作正常的核心数据模型,直到我向模型中添加了一个新实体,我认为我的代码很好...因为Xcode无法检测到任何错误,但只要我运行我的应用程序模拟器编译器给我一个错误说
reason =用于打开商店的模型与用于创建商店的模型不兼容
我不太明白这个错误意味着什么。我确实搜索了关于这个错误的引用,但是我找到的那个是过时的,它来自Xcode 3.2,我现在正在运行Xcode 7.1.1,有趣的是,没有任何回复都没有复选标记。尽管我仍然尝试使用其中一些方法,但没有任何方法可行。
我尝试过的事情
删除[Simulator App Folder] / Document / * .sqlite并运行项目
你有同样的问题吗?如果是这样,你可以帮我排除故障吗?感谢。
答案 0 :(得分:14)
该错误意味着您更改了模型,使其与您在创建应用程序数据时使用的模型不匹配。这是改变数据模型的经典标志,而不是模型迁移或从电话/模拟器中删除应用程序(只要核心数据已存在,它几乎是相同的,因此旧信息并不相关)。从模拟器中删除应用程序通常是再次运行应用程序所需的全部内容。如果它不起作用,那么你就会以某种方式留下旧数据。
从模拟器中删除应用程序的最佳方法通常与在真实设备上删除应用程序相同 - 单击并按住直到应用程序图标开始移动,然后单击其图标上的“x”删除它。
如果删除该应用程序没有帮助,那么您将以其他方式使用旧数据。也许您在应用程序中内置了一些使用旧版本模型配置的预加载数据?
答案 1 :(得分:0)
我最喜欢的解决方案是使用第三方应用程序打开sqlite数据库,然后打开Z_MetaData表并删除其中的行。
每次都像魅力一样。
如果您进行迁移,可能会影响您的“迁移” 我们不这样做,所以不是问题。