我如何知道应用是否被用户终止?
(双击主页按钮并按红色减' - '按钮)
我需要样本或伪代码......
答案 0 :(得分:2)
有时你会得到UIApplicationWillTerminateNotification
(你也可以在你的app代理中实现applicationWillTerminate:
方法),但是在这种情况下你无法确保得到任何通知。所以不要依赖它。
如果您的应用被“暂停”,即在后台但未运行,您将不会收到通知。在暂停的情况下,您只是被不可捕获的SIGKILL
杀死。当你因内存不足而被杀时也一样。
来自applicationWillTerminate:
的文件(强调我的):
对于不支持后台执行或链接到iOS 3.x或更早版本的应用程序,当用户退出应用程序时,始终会调用此方法。对于支持后台执行的应用程序,当用户退出应用程序时通常不会调用此方法,因为在这种情况下应用程序只是移动到后台。但是,在应用程序在后台运行(未挂起)并且系统因某种原因需要终止它的情况下,可以调用此方法 。
答案 1 :(得分:2)
试试这个:
- (void)applicationWillTerminate:(UIApplication *)application
{
/*
Called when the application is about to terminate.
Save data if appropriate.
See also applicationDidEnterBackground:.
*/
}
您应该在实现UIApplicationDelegate
更多注意事项:如果您通过Xcode停止应用程序(停止调试按钮),则不会调用该方法。所以在测试时请耐心等待。
答案 2 :(得分:2)
当用户杀死应用时:
- (void)applicationWillTerminate:(UIApplication *)application{
}
应用程序将进入非活动状态:
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"Application Did Resign Active");
}
用户按下主页按钮:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"Application Did Enter Background");
}
答案 3 :(得分:0)
还有这个:
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
如果您想知道它是否输入背景可能会有所帮助;)