因此,我一直在大量阅读有关iOS处理应用程序状态通知的方式的信息,看来它们可能在iOS 4中为我造成了问题。

在4.x之前,我正在- (void)applicationWillTerminate:(UIApplication *)application {}委托方法中清除NSUserDefaults。

不幸的是,当用户从桌面退出应用程序(按红色的“-”)时,看起来不再使用此方法。相反,该应用会收到SIGKIL。有没有人计划过一种方法来捕获此错误并在应用终止时执行某些操作(例如清除UserDefaults)?我宁愿不禁用多任务处理,因为这是非标准行为。任何帮助将不胜感激。谢谢!

最佳答案

如果iOS曾经决定退出该应用程序,则仍然会发送该方法。如果您还希望在移至后台时对其进行清理,则可能应该在applicationWillResignActive:中放入相同的清理代码。

但是,如果您说要支持多任务处理,为什么要清除默认设置?用户是否应该能够完全按离开应用程序的方式返回应用程序?

关于iphone - (iOS 4.x)在应用退出时清除NSUserDefaults,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4652190/

10-11 01:22
查看更多