【发布时间】:2014-01-20 13:01:03
【问题描述】:
我看到我的 iPad 上的 4Gb 数据库在应用程序启动时成功完成核心数据迁移需要几分钟时间。 现在突然间,一些用户在安装新版本后报告崩溃,应用程序被踢出并显示:未能及时启动错误。
我刚刚通过恢复旧数据库再次进行了测试,我确信核心数据迁移可能需要 10 秒以上的时间。
但其他人担心它不应该并尝试将其带到后台,或者至少在启动时退出运行循环:
iPhone app launch times and Core Data migration
这是否与其他条件有关,例如连接到电源?或者电池电量超过 50%?
更新:我只是通过在设备上启动应用程序(拔下电源)而不是调试来重现崩溃。 然后我尝试在连接了 USB 的设备上启动应用程序:崩溃。 然后通过调试器启动应用程序:没有崩溃(迁移大约需要 4 分钟。)
额外信息:我只有企业用户(大约 75 个),他们都有一个 4.5Gb 的数据库。有些用户升级没有问题,有些用户有。如果成功,升级都需要几分钟。崩溃总是在 20 秒后发生。 (如果您在这些设备上再次尝试,它们会继续崩溃)。
我按照建议将迁移置于运行循环之外,但我仍然想知道为什么旧方法适用于某些设备而不适用于其他设备。所有用户都使用 iOS 7。
【问题讨论】:
-
这真的取决于设备本身和应用程序的可用资源,例如内存,处理器功率等。但我建议在后台处理迁移,不要在 10 秒启动上限内运行。
标签: ios core-data core-data-migration