核心数据迁移版本

时间:2013-11-19 20:00:29

标签: objective-c

当我创建第二个核心数据模型并运行应用程序时,一切都很好。但是当我修改第二个模型时,应用程序崩溃了,我必须删除我的应用程序并再次运行。这是正常的吗?当我将我的应用程序的第二个版本放入AppStore时,它是否可以?

1 个答案:

答案 0 :(得分:1)

这是预期的行为。您已经更改了核心数据模型,当您尝试在先前构建中的现有模型上运行新模型时,它无法弄清楚如何使用新模型将旧存储迁移到新存储;这称为迁移。只要为每组模型更改对模型进行版本化,就可以执行轻量级迁移(意味着您不必编写任何自定义迁移逻辑)。在版本中进行更改并在先前版本上进行安装时,迁移将失败并且您的应用程序崩溃。

对于在模拟器中工作,在弄乱核心数据模型时经常重置内容和设置是正常的,但是当运送到商店时,了解模型版本非常重要。随附模型版本1,无法再对该模型版本进行编辑。只要您运送模型1,请继续创建一个新模型,您可以自由编辑,直到您的下一个发货日期。通过选择xcdatamodelId文件并选择Editor - >来完成此操作。添加模型版本。 “基于模型”是您当前的模型。创建完成后,再次选择xcdatamodelId文件,并在文件检查器中,确保在标题模型版本下选择了新的模型版本。

执行此操作将允许您使用轻量级迁移并停止崩溃,并且数据将在安装更新时从旧存储迁移到新存储。更多文档中的Read here