iOS 监听APP被强制退出的方法,双击Home键杀死应用

起初设置的方法为这个

- (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键杀死应用)