应用更新 CoreData 保存了吗?

Posted

技术标签:

【中文标题】应用更新 CoreData 保存了吗?【英文标题】:App update CoreData saved? 【发布时间】:2015-11-12 22:19:45 【问题描述】:

如果您只是进行应用程序升级并进行错误修复等,但不会以任何方式触及 CoreData 实现,设备是否会保留任何旧的 CoreData 条目?还是会为应用的所有版本创建一个新数据库?

应通过临时构建部署更新,并通过 iTunes 手动安装。

【问题讨论】:

【参考方案1】:

如果未删除并重新安装应用程序,设备保存的数据将保留。

应用程序更新后,在首次启动时,Core data 会查找旧 NSManagedObjectModel 和新版本之间的差异。

如果新机型不同需要进行数据迁移,否则应用崩溃。

Apple 提供自动数据迁移“轻量级迁移”,这在大多数情况下都有效。为了使用轻量级迁移,您必须向您的核心数据模型文件添加一个版本,并调用一些方法:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/Introduction.html

MagicalRecord https://github.com/magicalpanda/MagicalRecord 可以在迁移和一般的 Core Data 方面为您提供很多帮助。

【讨论】:

以上是关于应用更新 CoreData 保存了吗?的主要内容,如果未能解决你的问题,请参考以下文章

数据导入CoreData期间如何显示progressBar?

如何在 Swift 4 CoreData 中设置合并策略

CoreData 更新后不保存信息

UICollectionview 在使用 Core Data 保存实体后重新加载数据

CoreData(IOS)多列的唯一约束?

CoreData 仅在我重新启动应用程序后更新?