如何监听 App 被关闭时 - iOS

在 Appdelegate 里

applicationWillTerminate

是处理应用程序将终止的时候

按道理,我们在这个地方去写我们 App 被关闭时的操作就行。

但是,我发现 App 关闭的时候,并不会走到这里来。

然后我看了下系统的注释:当应用程序即将终止时调用。如果适当的保存数据。可看 appropriate. See also applicationDidEnterBackground:. 这个方法

好像和我遇到的问题没啥关系! 我只想在 App 关闭的时候调用

// 应用程序将终止
- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    NSLog(@"applicationWillTerminate");
}

好了,答案来了。

我们到 applicationDidEnterBackground 执行个方法,代码如下:

// 我们到 applicationDidEnterBackground 执行下 beginBackgroundTaskWithExpirationHandler
- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    [[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:^(){
    }];
    NSLog(@"applicationDidEnterBackground");
}

// 这时候你就会发现 applicationWillTerminate 这货被调用了,有没有人过来解释下。。
- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    NSLog(@"applicationWillTerminate");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值