如何在iOS中使用新版本的应用程序修改Core Data时修复崩溃

时间:2014-04-18 15:03:35

标签: ios objective-c core-data

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

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

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

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

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

提前致谢。

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

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

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