【问题标题】:How to fix crash when modifying Core Data with a new version of an app in iOS如何在 iOS 中使用新版本的应用程序修改 Core Data 时修复崩溃
【发布时间】:2014-06-03 02:54:17
【问题描述】:

我正在努力解决与 Core Data 相关的问题。

在我的应用程序中,我使用 Core Data 来存储和检索值。在我的最新版本中,我为旧版本的实体添加了一些属性。我从 App Store 更新了应用程序,当我单击需要显示 Core Data 内容的页面时,它崩溃了。

如果旧版本的应用程序被删除并下载新版本,那么它不会崩溃。

我的要求是无需删除旧版本的应用程序(将旧版本与新版本合并)即可修复任何替代方案。

关于如何解决此问题的任何建议?

提前致谢。

【问题讨论】:

标签: ios objective-c core-data


【解决方案1】:

您是否设置了核心数据的版本控制?如果是这样,在您的 Xcode 项目导航器中,您的 .xcdatamodeld 应该下拉,其下方有多个 .xcdatamodeld。然后在选择了父 .xcdatamodeld 的属性检查器中选择当前版本。

如果更改很小,当您在旧版本之上加载新应用版本时,这将自行处理。

如果更改很大,您需要在应用委托中为此设置处理,以告知应用如何在两个版本之间移动数据。

【讨论】:

  • @Augie..ThanQ...我会像上面那样尝试..让你知道。
  • @Augie ..我已经完成了上述操作,包括 AppDelegate 中的代码。但仍然是其崩溃的原因:'无法将模型与名为“Exam”的两个不同实体合并。
【解决方案2】:

您必须将 Core Data 存储从旧版本迁移到新版本。

本教程展示了它是如何工作的:http://www.raywenderlich.com/27657/how-to-perform-a-lightweight-core-data-migration

【讨论】:

    猜你喜欢
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    相关资源
    最近更新 更多