我想在用户退出应用时保存一些应用状态数据。我在想我应该在appDelegate中使用applicationWillTerminate方法,但当我尝试在那里做任何事情时,它没有做任何事情:
- (void) applicationWillTerminate:(UIApplication *)application {
NSLog(@"test");
}
当我运行我的应用程序并执行某些操作,然后点击主页按钮退出应用程序时,控制台上没有任何内容......
我是否必须在appDelegate中实现applicationWillTerminate方法?我的应用程序的用户很可能在他们离开时处于阅读器视图中,无论如何实现应用程序将关闭方法吗?
答案 0 :(得分:2)
请参阅此链接iPhone simulator and applicationWillTerminate()以获取较旧的iOS版本;
但请记住,Home按钮不一定会终止应用程序ios4 ...您应该使用applicationDidEnterBackground
,但会建议applicationWillTerminate
和applicationDidEnterBackground
将UIApplicationExitsOnSuspend
密钥添加到应用程序的Info.plist
文件并将其值设置为YES
将使您在点击主页按钮时退出应用程序,即使在iOS4上也是如此
答案 1 :(得分:2)
在iOS 4中,只有在您退出后台执行模型时才会调用applicationWillTerminate:
方法。在标准的iOS 4应用程序生命周期中,按下主页按钮时应用程序将暂停(不终止)。您的应用程序代理将收到applicationWillResignActive:
消息,后跟applicationDidEnterBackground:
消息。 applicationDidEnterBackground:
方法是保存用户数据的好地方。