核心数据迁移:Apple是否允许用户在迁移期间退出应用程序?

时间:2012-02-04 04:08:10

标签: iphone objective-c ios ipad

我在做什么:

我很擅长使用Core Data进行数据迁移,但我已经完成了所有设置并且看起来并不太难。

当用户第一次打开更新的应用程序时,应在应用程序加载期间按预期升级数据库。我猜测更新最多不会超过几秒钟,所以我甚至不会让用户知道这种情况正在发生。


可是:

如果用户在数据库升级时决定在最初几秒退出应用程序,会发生什么?

处理得好吗?即 - 应用程序关闭时更新是否继续完成?或者,升级的中间状态是否已保存,并且在下次应用程序启动时从中断状态继续完美无缺?


所以...

我是否必须担心这一点(有大量用户,我确信至少有一些用户在更新期间会退出)。或者,苹果公司是否已经完成了这一切 - 我不必担心它吗?

1 个答案:

答案 0 :(得分:2)

核心数据轻量级迁移将成功或失败。在迁移过程结束之前未提交迁移的情况。如果用户在恰当的时间退出应用程序,他们会在重新启动应用程序时重新迁移,因为事务未正确完成。

如果用户为应用程序提供背景,然后恢复轻量级迁移的执行状态,则确保数据完整性。

有关核心数据迁移的信息 https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/vmMigrationProcess.html