如何知道app是否被用户或iOS终止(10min后)

如何知道app是否被用户或iOS重新启动时终止>

“按用户”的意思是“通过双击Homebutton并按下 – button”。 被用户杀害

“通过iOS”的意思是“应用程序成为后台运行状态,iOS 10分钟后终止应用程序”

如果您的应用程序处于挂起状态,则无论是谁杀死了应用程序iOS或用户, applicationWillTerminate都不会被调用。

您的applicationWillTerminate只会在您的应用程序处于后台并且被杀死(iOS或用户)时调用,术语背景意味着它在后台运行而不处于挂起状态。

只要阅读这个参考

applicationWillTerminate: – 让你知道你的应用程序正在被终止。 如果您的应用已被暂停,则不会调用此方法。

这里是各个州的表格 在这里输入图像说明

背景 – 该应用程序在后台执行代码。 大多数应用程序在进入暂停状态时进入这个状态。 但是,请求额外执行时间的应用程序可能会保持一段时间。 另外,直接启动到后台的应用程序将进入此状态而不是非活动状态。 有关如何在后台执行代码的信息,请参阅后台执行。

如果系统资源不足,iOS可能会终止您的应用程序 – 如果发生这种情况,您将看到applicationWillTerminate

它曾经是,如果用户杀了应用程序(任务pipe理器,通过button双击,然后点击红色的“ – ”)这是一个SIGKILL和applicationWillTerminate不会被调用。 2013年年中的一份报告显示,这一情况已经发生变化,现在正在调用applicationWillTerminate

你可以使用NSUserDefaults在applicationWillTerminate写入一些状态位,注意这个函数被调用,大概是系统kill,而不是用户kill。