我的iOS应用程序在后台运行(具有位置服务权限),我正在尝试确定应用程序是否被用户或他们的系统终止。在用户终止使用应用程序切换器的情况下,我想要清理一些位置区域监视(理想情况下,立即,或者在重新加载应用程序时不太理想),因为我假设用户想要一个干净的终止。在系统终止的情况下,我想让区域监控到位。问题是在两种情况下(对于应用程序 在后台运行 - 而不是暂停,可以检查状态更改是否在终止之前发生 - ),对用户和系统终止都调用applicationWillTerminate。在这种特殊情况下,这是有问题的,因为我无法确定它是否是系统。有没有办法实现这种差异化?或者,或许是另一个角度:如何检测先前的应用程序终止是否由于崩溃而发生(在这种情况下,尽管不是那么理想,至少可以在重新加载应用程序时进行清理)。
作为编辑,我应该澄清一下,用户强制退出的意思是用户在多任务处理屏幕中向上滑动。这会生成对applicationWillTerminate的调用。在按住电源关闭按钮后按住主页按钮退出强制,不会调用applicationWillTerminate,但我并不关心这种情况 - 我最好确定的是用户是否终止了多任务屏幕(或者是否因为内存问题而破坏了该应用程序)。