【问题标题】:Xcode keeps reverting my Core Data model to an older versionXcode 不断将我的 Core Data 模型恢复到旧版本
【发布时间】:2013-10-08 02:33:48
【问题描述】:

我有一个带有核心数据模型的 Xcode 项目。我在项目中添加了一个新的模型版本,并在 xcode 中将其标记为当前版本。

这很好用,我的应用将执行轻量级迁移并打开数据库。

问题是当我关闭 Xcode 然后再次打开项目时,模型恢复到旧版本。这在 Xcode 中没有显示,因为绿色箭头仍然针对 Model.1.0.6,但如果我查看 .xcdatamodeld 文件,我可以清楚地看到这一点。

当我在重新打开后启动应用程序时,由于缺少实体而出现异常。如果我使用项目导航器将当前模型版本选择为“Model.xcdatamodel”,然后将其切换回“Model.1.0.6.xcdatamodel”,然后再次启动应用程序,它会再次正常工作。

每次我重新打开项目时都必须这样做。每次我出于某种原因打开项目时,Xcode 似乎都会恢复到旧模型版本,但我不知道为什么。

【问题讨论】:

  • 有点摸不着头脑,但您是否尝试过重命名不带句点的新模型?即'Model_1_0_6'。它可能正在解析句点。
  • 你检查过你的文件检查器 -> 模型版本 -> 当前吗?
  • @akash Yes Inspector>当前显示正确的版本。
  • @MySpecialPurpose 试了一下,虽然没有帮助,但感谢您的建议。

标签: iphone ios objective-c core-data


【解决方案1】:

您是否确定两个模型版本都设置为最新的 XCode 格式?当存在竞争文件版本时,我在 XCode 的其他领域发现了一些奇怪的问题......

检查每个模型的“工具版本”,并将两者的最小值设置为 XCode 4.5。

【讨论】:

  • 似乎没有帮助,将它们都更改为 4.5,保存、关闭、重新打开,但问题仍然存在。
【解决方案2】:

我可以解决此问题的唯一方法是删除模型并添加具有不同名称的新模型。然后,我从两个模型版本手动复制了 xml 架构,现在它可以工作了。

不太确定模型以某种方式将自己置于某种状态中发生了什么。

【讨论】:

    猜你喜欢
    • 2020-07-23
    • 2014-03-31
    • 2016-08-11
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2022-10-07
    • 1970-01-01
    相关资源
    最近更新 更多