起初设置的方法为这个
- (void)applicationWillTerminate:(UIApplication *)application {
// 业务逻辑
}
可是通过测试发现,APP退出的时候并不走这个方法
只要添加观察者才会执行这个方法
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillTerminate:) name:@"UIApplicationDidEnterBackgroundNotification" object:nil];
当我方法名里填applicationWillTerminate的时候,在我点击一次home和两次home的时候都会调用这个方法,两次home则调用两次,没有办法分辨此时我是杀死app还是只是回到后台,因为将方法名设置为另外一个单独的方法
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(comeHome:) name:@"UIApplicationDidEnterBackgroundNotification" object:nil];
- (void)comeHome:(UIApplication *)application {
NSLog(@"进入后台");
}
- (void)applicationWillTerminate:(UIApplication *)application {
NSLog(@"程序被杀死");
}
这么操作之后,comeHome在点击一次home的时候被调用,applicationWillTerminate在点击两次home杀死APP的时候被调用
本文探讨了在iOS中如何监听APP被强制退出的情况,尤其是区分双击home键返回后台和彻底杀死应用的区别。通过添加观察者来实现applicationWillTerminate方法的正确触发,以确保在APP被完全关闭时执行特定操作。

671

被折叠的 条评论
为什么被折叠?



