当我的应用在iPhone模拟器中运行时,委托方法
- (void)applicationWillTerminate:(UIApplication *)application
当我第一次点击 iPhone 模拟器的主页按钮时,只会调用一次该方法。
在按下主页按钮后,再次启动应用程序并点击主页按钮不会调用委托方法。
这里发生了什么?我是否有什么基本误解?
当我的应用在iPhone模拟器中运行时,委托方法
- (void)applicationWillTerminate:(UIApplication *)application
当我第一次点击 iPhone 模拟器的主页按钮时,只会调用一次该方法。
在按下主页按钮后,再次启动应用程序并点击主页按钮不会调用委托方法。
这里发生了什么?我是否有什么基本误解?
我猜测它正在被调用,但你可能会感到困惑,因为在模拟器中按下Home按钮后,你已经结束了Xcode中的当前会话。你的applicationWillTerminate:
方法中可能有一个NSLog
,是吗?一旦你按下Home按钮,NSLog
就不再显示在Xcode的运行控制台中。如果你打开/Applications/Console.app
,我相信它们会在那里显示出来。
- (void)applicationWillTerminate:(UIApplication *)application
当应用程序“终止”时被调用。 如果您正在使用iOS,则除非禁用了应用程序的多任务处理或用户没有“支持多任务处理”的设备,否则在按下主屏幕按钮时应用程序不会终止。
- (void)applicationDidEnterBackground {
现在,当用户按下主页按钮时,会使用此功能。除非(如我之前所说的)您已为您的应用禁用了多任务处理或用户没有“支持多任务处理”的设备。