【发布时间】:2026-01-09 10:25:01
【问题描述】:
我的 xdatamodeld 文件收到此警告:“版本哈希信息不适用于所有模型”。我该如何摆脱这个?当我将应用程序安装为新应用程序时,我也开始在启动时崩溃......想知道它们是否相关?这是崩溃:
* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法使用 nil 模型创建 NSPersistentStoreCoordinator”
【问题讨论】:
标签: core-data
我的 xdatamodeld 文件收到此警告:“版本哈希信息不适用于所有模型”。我该如何摆脱这个?当我将应用程序安装为新应用程序时,我也开始在启动时崩溃......想知道它们是否相关?这是崩溃:
* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法使用 nil 模型创建 NSPersistentStoreCoordinator”
【问题讨论】:
标签: core-data
这是一个 iOS5 测试版问题,由模型文件中的获取请求引起。目前,删除 fetch 请求可以修复它。
【讨论】:
一旦我安装了带有 iOS 5 beta 5 的 Xcode 4.2,我遇到了同样的事情,也许它在那里? 我昨晚在使用 Xcode 4.1 开发生产系统时没有。不幸的是,我现在正在重新安装它,我需要一段时间才能知道是否是这个原因。
【讨论】:
第一个错误表明您有多个.xcdatamodel 文件,名称相同但版本不同。多个倍数中的一个缺少内部版本号,即版本哈希。
第二个错误是由第一个错误引起的,因为托管对象模型无法通过合并同名但不同和未知版本的模型文件来创建自己。反过来,如果没有有效的托管对象模型,持久存储协调器就无法初始化。
如果这发生在开发过程中,并且您没有故意拥有多个版本,那么您可能在模拟器上从以前的版本中获得了一个旧编译的 .mom 或 .momd 文件。完全从模拟器中删除应用程序,然后在 Xcode 中清理整个项目并重新构建并重新安装。这通常可以解决问题。
【讨论】:
我在 iOS 5 SDK 上遇到了这个问题,不是上述任何问题。我的问题是因为我在一个实体中有很多属性,我无意中有重复(即同一实体中有两个 lastUpdatedDate 属性)。
【讨论】: