【问题标题】:Synchronization with iTunes renders Core Data model incompatible - how is this possible?与 iTunes 同步会导致 Core Data 模型不兼容——这怎么可能?
【发布时间】:2011-07-16 02:29:10
【问题描述】:

现在有一些奇怪的问题困扰着我:

我的一个应用程序(尚未发布)在启动时崩溃,但前提是该设备在安装该应用程序后已与 iTunes 同步。
该应用程序是临时分发给一些测试人员的,其中一个人注意到了这个崩溃,下面是它的重现方式:

  1. 安装应用程序
  2. 运行 App,填充 Core Data Store,一切正常
  3. 关闭App,重新启动App,正常使用,一切正常
  4. 将设备与 iTunes 同步
  5. 应用在启动时立即崩溃

从我在崩溃后看到的设备控制台:
The operation couldn’t be completed. (Cocoa error 134100.)
并且,再往下:
The model used to open the store is incompatible with the one used to create the store

我没有得到的是 - 模型从来没有机会(除了同步)改变,我几个月没碰过它。

让我更困惑的是,如果我再次安装该应用程序(通过 Testflight,没有先将其删除以保存数据),它会再次运行。使用之前导致应用崩溃的相同数据存储。

所以它甚至不可能是数据本身被破坏,而是同步对模型做了什么,或者什么。

我什至不知道从哪里开始调试,因为我不知道在 iTunes 同步期间到底发生了什么。

非常感谢任何提示!

【问题讨论】:

  • 你的应用程序在 iTunes 的应用程序列表中吗? iTunes 中可能有一个非常旧版本的应用程序的备份。如果是这样,请尝试在不连接设备的情况下从 iTunes 的应用列表中删除该应用。
  • 你说得对!我永远不会想到这一点,我以某种方式期望应用程序只有在尚未安装在设备上的情况下才会从 iTunes 同步到 iPhone——正如我现在所知道的那样,这非常天真而且非常错误。谢谢你!您可能想发布您的解决方案作为答案,以便我可以正确接受它..
  • 很高兴知道它成功了,谢谢 :)

标签: objective-c ios debugging core-data itunes


【解决方案1】:

如果您在 iTunes 的应用程序列表中有该应用程序,则 iTunes 可能会备份同一应用程序的非常旧版本,并且数据模型已过时。

尝试在不连接设备的情况下从应用列表中删除您的应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-11
    • 2015-07-30
    • 2021-07-19
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    相关资源
    最近更新 更多