iOS生命周期之WillTerminate不执行的问题

//今天遇到了一个问题
//applicationWillTerminate:(UIApplication *)application 在退出程序时不执行怎么办?
//答案:直接上代码...

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

    NSLog(@"%s", PRETTY_FUNCTION);
    __block UIBackgroundTaskIdentifier identifier = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
    if (identifier != UIBackgroundTaskInvalid) {
    [[UIApplication sharedApplication] endBackgroundTask:identifier];
    identifier = UIBackgroundTaskInvalid;
    }
    }];

    dispatch_async(dispatch_get_main_queue(), ^{
    NSLog(@"执行进入后台调用的方法...");

     //此处写正常进入后台时程序需要执行的动作
    
      if (identifier != UIBackgroundTaskInvalid) {
          [[UIApplication sharedApplication] endBackgroundTask:identifier];
          identifier = UIBackgroundTaskInvalid;
      }
    

    });
    }

  • (void)applicationWillTerminate:(UIApplication *)application {

//此方法内写程序将要退出时需要执行的动作

// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.

NSLog(@"%s", __PRETTY_FUNCTION__);
[self.backView removeFromSuperview];
[self.manager closeSocketServer];
[self.conn stopNotifier];
[[NSNotificationCenter defaultCenter]removeObserver:self];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • -- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实...
    翘楚iOS9阅读 3,003评论 0 13
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,721评论 2 7
  • IOS开发之----详解在IOS后台执行 文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来...
    dongfang阅读 1,402评论 0 7
  • 当想要放弃时,想一下柳比歇夫坚持的一生,维克多弗兰克在绝望下的生存。试问他们如果给都给自己找一个借口,还会有60年...
    新自由阅读 247评论 0 0
  • 没有星星的夜晚,走在异乡他村的主道上漆黑一团伸手不见五指,丝丝凉风袭来,顿时打了一个寒碜,生活快两个月了还是有所不...
    湘江隐士阅读 365评论 0 0