ios - 将现有的核心数据镜像存储从可转换数据更改为二进制数据/允许外部存储

标签 ios objective-c core-data migration binary-data

我将要完成一项艰巨的项目,即将我的 Activity (即已经在应用商店中已经存在多年)的应用从“可转换”应用转换为“二进制数据”存储,以用于Core Data中的图像。

我有很多用户,他们的数据库很大,可以存储大量图像。这确实减慢了备份/还原过程,并可能还导致了一些其他幕后问题。几年前以这种方式设置时,我再也知道不了。

我如何进行此过程,以免丢失客户的一张图像?如果只是我和我自己的数据,我相信我可以使事情顺利进行。但是我想确保逐步正确地做到这一点,而且我知道这个社区可以在该领域提供很大帮助。我真的不知道从哪里开始现有的图像。

基本上,我在寻找1)要采取的步骤,以免错过任何拍子。和2)在此过程中的一般建议,警告等。这个版本上线时,我确实需要进行干净的迁移。

在此先感谢任何可以提供帮助的人。

最佳答案

可转换的数据类型实际上只是带有一些附加元数据的二进制数据。您是否在现有商店上测试了简单的轻量级迁移?我怀疑迁移将正常进行,并将现有数据保留在存储中。

如果您希望将现有的二进制数据实际从SQLite文件中移出,那么您正在研究的内容会更多一些。

繁重的迁移将满足您的需求,但是如果商店很大,则可能要花费很长时间,并且可能无法提供足够的反馈来获得良好的用户体验。我个人从来没有在IOS上使用繁重的迁移,但是它可以实现您的目标。

导出/导入也将起作用。我通常建议在轻量级迁移不起作用时进行导出/导入。它涉及大量的代码,但最终您拥有代码,了解整个过程,并可以根据您的实际需求进行调整。

关于ios - 将现有的核心数据镜像存储从可转换数据更改为二进制数据/允许外部存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22387924/

相关文章:

iOS - 在更新期间调试 NSUserDefault 崩溃的任何建议

ios - 使用 NSURLSession 下载大量图片

objective-c - iOS6 UIImage 导致崩溃

iphone - 如何删除主从模板上的编辑按钮

ios - 将 CoreData 内容从精简版移至完整版

ios - 如何在合并更改时打破 Core Data 多线程保留周期?

core-data - 如何避免更改 NSBatchInsertRequest 中的属性值?

ios - 处理 iOS 中动态 View 的所有旋转

iOS Weather Like 导航组件

ios - objective-c 使用 AutoResizingMask 将 UILabe 对齐到 UitableViewCell 内部