【发布时间】:2016-02-11 14:49:39
【问题描述】:
您好,我已经阅读了关于 SO 的几个关于 applicationWillTerminate 被调用而不被调用的问题。
我想总结一下我的理解,因为有几篇文章的说法不同。
对于 IOS(没有多任务处理),它总是在按下主页按钮时调用。
-
适用于 IOS 4 及更高版本
一个。它在按下主页按钮时不被调用(当应用移至后台时)
b.从多任务坞站关闭应用程序时调用它,并且如果应用程序在 info.plist 中禁用了突然终止标志,否则不会调用它。 (我设置了“应用程序应该获取 App Died 事件”,即使在从多任务坞站关闭应用程序时,也没有调用终止函数)
基于此,我有几个问题
设置应用程序应该获得 App Died 事件标志是一个好习惯吗? (我设置了“应用程序应该获取 App Died 事件”,即使在从多任务坞站关闭应用程序时,也没有调用终止函数)
或
注册“UIApplicationWillTerminateNotification”是否比 info.plist 设置更好?
基本上我只需要在应用程序终止时才需要做一些工作,而不是在它移动到后台时。
或
编辑(1): 当应用程序终止时,以下内容将发送到 APP。怎么抓?
程序收到信号:“SIGKILL”。
编辑(2):
请注意:从多任务坞站中移除时,它不会在 IOS 4 及更高版本中被调用。你可能认为是。但在我的情况下不是。
请问有人知道为什么吗?还有什么我想念的吗。
另请注意,我设置了“应用程序应该获取 App Died 事件”,即使这样它也没有被调用。
编辑(3):
以下问题的答案也无效。 applicationWillTerminate does not get invoked
有人和我有同样的问题吗?
【问题讨论】:
-
我也有同样的问题。备注:您无法捕获 SIGKILL,此信号由操作系统处理,相当于删除所有应用资源(因此您的应用无法捕获此信号)。
-
谢谢。所以我们回到寻找如何在IOS 4及更高版本中制作“applicationWillTerminate”。