码迷,mamicode.com
首页 > 移动开发 > 详细

iOS-关于如何知道应用被杀死并做相应处理

时间:2019-12-20 16:57:25      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:操作   计数   cat   enter   EDA   and   hex   round   gate   

需求:由于近期项目需求,用户行为不可控,某些用户在执行某些操作之后,强行杀死应用,导致部分统计数据没办法实时上传。所以需要在用户杀死应用的时候,将当前统计的数据上传到服务器(不持久化的数据)。

经过在网上寻找答案,和自己的验证。

在appdelegate中去实现两个api

-(void)applicationDidEnterBackground:(UIApplication *)application {

    NSLog(@"didenterbackgroud");
    [[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:^{
        NSLog(@"auto kill app!");
    }];
}

-(void)applicationWillTerminate:(UIApplication *)application {
    NSLog(@"kill app !!!!");
}

两个方法配合使用。如果不实现

beginBackgroundTaskWithExpirationHandler

应用先退到后台,再杀应用,则不会调用

applicationWillTerminate

在应用界面的界面唤起直接杀死应用会调用

applicationWillTerminate

如上两个方法和一个block配合使用,则无论应用以什么方式被杀死都会调用

applicationWillTerminate

当应用被用户退到后台,一定时间之后会自动调用

beginBackgroundTaskWithExpirationHandler

iOS-关于如何知道应用被杀死并做相应处理

标签:操作   计数   cat   enter   EDA   and   hex   round   gate   

原文地址:https://www.cnblogs.com/qzCodeDiary/p/12073712.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!