在未来的应用程序版本中维护核心数据

时间:2012-08-10 00:11:58

标签: iphone ios xcode core-data

我目前正在创建一个应用程序,需要将大量用户生成的信息存储在Core Data中。当我发布此应用的新更新时,我想确保这些用户不会丢失所有这些数据。

当我从我的iPhone中删除当前版本时,所有核心数据都会消失 - 当我创建新的更新版本时会发生这种情况 - 更新会导致在更换应用程序时删除所有核心数据吗?如果是这样,我该怎么做才能保存数据?

我不会在更新之间更改我的核心数据模型,如果这会改变任何内容......

2 个答案:

答案 0 :(得分:7)

简单的问题 - 简单的答案,Core Data作为iPhone备份的一部分备​​份到iTunes / iCloud,用户数据也会在更新之间保留。

您可以选择包含要包含在iCloud同步中的核心数据,这意味着即使删除应用并重新安装,数据仍会存在。

如果更改模型,将旧方案映射到新方案是合理的,然后在新更新发生时通过此映射模型传输数据,之前的方案数据将转移到新的核心数据方案中。

核心数据版本控制:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreDataVersioning/CoreDataVersioning.pdf

答案 1 :(得分:3)

如果应用商店Ver1.0中有您的应用。更新了Ver1.0.1或更高版本,将维护CoreData。如果核心数据模型发生变化,尽管将保留所有以前的核心数据。

如果应用商店Ver 1.0中有您的应用。删除Ver 1.0。再次下载或下载更新版本的CoreData将被删除。

如果删除该应用,核心数据将被删除。为防止这种情况,使用iCloud同步数据应该可以正常工作。

引用以下网站iOS How-To : Using Core Data with iCloud

您必须阅读以下Apple PDF:coredata model versioning and data migration programming guide