iOS处理强制应用程序退出的正确方法是什么

时间:2014-07-31 09:29:11

标签: c++ ios objective-c

当app强行退出时,iOS会发出某种类型的通知吗?

强迫我的意思是当app处于活动状态时点击主页按钮,然后从多任务菜单中删除它。

我希望能够检测到强制退出,以便优雅地处理所有事情。

我们的某个游戏有这样的问题,我们的发布商希望我们处理这个问题。 这不是标准的Cocoa App,这是从PC上移植的游戏,主要用C ++编写。

仅在iPad Mini第二代上发生这种情况,当应用程序强制退出时,它将在下次启动时崩溃。 在其他设备上,当应用程序被激活时,它将正确加载并继续正确的场景加载顺序。

iPad mini 2nd gen与开发中的其他设备有什么不同吗?

崩溃日志说应用程序在强制退出后立即崩溃,嗯... ...

- (void)applicationWillTerminate:(UIApplication *)application 并不是真正有用,它不会检测强制应用程序退出。

1 个答案:

答案 0 :(得分:1)

我们的想法是,无论是由操作系统还是由用户发起,您的应用都应该处理相同的终止。建议您保存应用程序的状态并在下次启动时重新加载。当你的应用程序被发送到后台时保存状态可能是一个好主意,因为根据下面的第二段,当系统杀死你的应用程序时,并不总是调用applicationWillTerminate

根据documentation

  

此方法可让您的应用知道它即将被终止并完全从内存中清除。您应该使用此方法为您的应用执行任何最终清理任务,例如释放共享资源,保存用户数据以及使计时器无效。

另外

  

对于不支持后台执行或与iOS 3.x或更早版本链接的应用,当用户退出应用时,始终会调用此方法。对于支持后台执行的应用程序,当用户退出应用程序时通常不会调用此方法,因为在这种情况下应用程序只是移动到后台。但是,可以在应用程序在后台运行(未暂停)并且系统因某种原因需要终止它的情况下调用此方法。

相关问题