如果第三方应用程序以iOS为背景(仍在内存中)并且用户从App Store更新应用程序,应用程序是否会在安装过程之前或期间终止?升级后有没有办法让后台应用程序保留在内存中?在更新后打开时,应用程序是否始终会收到application:didFinishLaunchingWithOptions:
回调?
(我的假设是应用程序被杀死并完全从内存中删除,因为应用程序的可执行代码在更新期间可能已更改。)
答案 0 :(得分:6)
它会被杀死。是否在更新之前,期间或之后终止是无关紧要的 - 您应该在收到applicationDidEnterBackground:时保存状态。一旦应用程序的基础代码发生了变化,应用程序就可以继续执行 no 方式 - 结构可能已经改变,您可以重写线程模型,以便完全不同地完成所有操作。
如果兼容,您将必须保存状态并尝试恢复它;否则你应该从头开始。你应该在applicationDidEnterBackground:电话中保存状态 - 你可能无法在applicationWillTerminate:电话中获得机会,因为它可能不会被调用。