只是在第一个应用程序发布之前对核心数据轻量级迁移的一个小说明

Posted

技术标签:

【中文标题】只是在第一个应用程序发布之前对核心数据轻量级迁移的一个小说明【英文标题】:Just a small clarification on Core Data Lightweight Migration before 1st app release 【发布时间】:2013-12-14 19:41:39 【问题描述】:

我(希望)即将发布我的第一个使用 Core Data 的应用程序。现在我已经阅读了所有关于轻量级迁移的文章和帖子,这很有意义。我唯一的问题是,在发布应用程序之前我必须做任何事情吗?

我的理解是,在我发布后,如果我想更改模型中的任何内容,我会在 App Delegate 中使用 NSMigratePersistentSToreAutomaticallyOptio 和 NSInferMappingModelAUtomatallyOption 设置第二个模型对象。

在发布我的应用的第一个版本之前,我还需要做些什么吗?

谢谢,

【问题讨论】:

【参考方案1】:

如果您想进行任何修改,您将需要创建对象模型的第二个版本(即核心数据图,您在 Xcode 中而不是在代码中),并使用该方法设置您的持久存储对象described here。如果您没有对数据模型进行非常复杂的更改或迁移到新模型,这通常会起作用。

【讨论】:

谢谢托马斯。这很有帮助,只是为了确认,在我的应用程序发布的第一个版本发布之前,我不需要做任何事情(为将来的迁移做准备等)。当然,第一个版本目前只有一个数据模型版本,但只是想确认在发布 v1 之前没有任何事情要做。 不,您不需要对应用程序的第一个版本执行任何操作,因为您将使用对象图的第一个版本。这两个持久存储属性不会影响 Core Data 文件的设置方式,只影响它们的处理方式如果需要迁移。 谢谢托马斯 - 绝对完美

以上是关于只是在第一个应用程序发布之前对核心数据轻量级迁移的一个小说明的主要内容,如果未能解决你的问题,请参考以下文章

核心数据版本控制(轻量级迁移)问题

轻量级迁移后如何从 Core Data 中删除数据

核心数据轻量级迁移 - 何时版本?

轻量级迁移核心数据

轻量级核心数据迁移后崩溃

iOS 核心数据轻量级迁移