我applicationWillTerminate:
用来保存一些最后一分钟的东西。但问题是它永远不会被调用。如果我在方法的顶部做这样的事情:NSLog(@"Something");
它不会被调用,也不会被输出到控制台。
有谁知道为什么会这样?
我applicationWillTerminate:
用来保存一些最后一分钟的东西。但问题是它永远不会被调用。如果我在方法的顶部做这样的事情:NSLog(@"Something");
它不会被调用,也不会被输出到控制台。
有谁知道为什么会这样?
来自苹果文档:
对于不支持后台执行或链接到 iOS 3.x 或更早版本的应用程序,当用户退出应用程序时始终调用此方法。对于支持后台执行的应用程序,当用户退出应用程序时通常不会调用此方法,因为在这种情况下应用程序只是移动到后台。但是,在应用程序在后台运行(未挂起)并且系统出于某种原因需要终止它的情况下,可能会调用此方法。
如果您的应用启用了后台使用:
- (void)applicationDidEnterBackground:(UIApplication *)application
改为使用applicationDidEnterBackground:
。当您在多任务系统中按下主页按钮时,应用程序不会终止。
来自关于核心应用程序设计和应用程序生命周期的iOS 应用程序编程指南:
如果您的应用程序当前处于挂起状态,则不会调用 applicationWillTerminate: 方法。
如果您链接到 iOS 4.0,您还应该将数据保存在applicationDidEnterBackground:
.
第 1 步:command + shift + h(双击(tab))
第2步:移动应用程序顶部(杀死)
第三步:申请WillTerminate Work