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