gpt4 book ai didi

ios - 核心数据迁移仅在发布版本上失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:18 26 4
gpt4 key购买 nike

我向核心数据模型 (iOS) 添加了一个属性。我在版本2,所以我添加了一个新模型并在版本3下保存了新属性。

我的加载代码是标准的(使用 initWithContentsOfURL: 指向我的包内的 .momd 目录初始化 MOM),然后将该 MOM 传递给 NSPersistentStoreCoordinator

然后,我从 App Store 下载我的应用程序,运行它,然后尝试测试迁移。轻量级迁移在我的模拟器和我的手机调试(绑定(bind)到 Xcode 4)上运行良好。

但是,当我使用 iTunes 同步发布版本(使用 Xcode 上的“存档”功能)时,我的应用程序的数据存储无法迁移并出现此错误:

Error Domain=NSCocoaErrorDomain Code=134130 "The operation couldn’t be completed.
(Cocoa error 134130.)", reason=Can't find model for source store}

更糟糕的是,商店迷失在无法逃脱的某种巫术状态中 - 如果我重新绑定(bind)设备并再次从 Xcode 安装调试版本,我无法“恢复”迁移。

上面的错误消息省略了有关我的实体的详细信息。如果有帮助,我可以提供,但是关于这里可能有什么问题的任何想法?我已经阅读了有关此错误代码的几乎所有问题,但到目前为止,所有问题都未能产生结果。

我尝试了手动迁移,但它也产生了错误。但是,由于我只向 1 个实体添加了 1 个属性,因此轻量级迁移不起作用是没有意义的。

最佳答案

每次我在我的代码或其他人中看到这个问题时,XCode 就其在应用程序中部署的模型版本而言进入了某种不良状态。打开您应用的 Release IPA 存档,并查看其中有哪些 mom 文件。如果您看到以前的版本之一丢失,那很可能是同样的问题。至于解决方案,我得到了不同的结果;以下步骤的一些变体对我有用,但顺序不一致。

  • 清理并删除项目的派生数据(确保您已保存已发布应用程序的存档,以便在必要时进行符号化)
  • 重命名以前的模型版本文件(在xcode中),在名称和代表版本号的数字之间添加或删除空格(如果有空格,则替换为'_',如果没有空格尝试添加一个)
  • 添加模型的新版本,不更改任何内容,并将其设为“当前”版本

我知道这些步骤看起来像是在抓救命稻草,这正是我每次遇到这种情况时的感受。您可能会考虑使用 Apple 的支持事件之一,很高兴知道他们对这个问题的官方回答是什么。

关于ios - 核心数据迁移仅在发布版本上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com