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,013評論 0 13
  • iOS開發系列--網絡開發 概覽 大部分應用程序都或多或少會牽扯到網絡開發,例如說新浪微博、微信等,這些應用本身可...
    lichengjin閱讀 3,721評論 2 7
  • IOS開發之----詳解在IOS后臺執行 文一 我從蘋果文檔中得知,一般的應用在進入后臺的時候可以獲取一定時間來...
    dongfang閱讀 1,403評論 0 7
  • 當想要放棄時,想一下柳比歇夫堅持的一生,維克多弗蘭克在絕望下的生存。試問他們如果給都給自己找一個借口,還會有60年...
    新自由閱讀 247評論 0 0
  • 沒有星星的夜晚,走在異鄉他村的主道上漆黑一團伸手不見五指,絲絲涼風襲來,頓時打了一個寒磣,生活快兩個月了還是有所不...
    湘江隱士閱讀 365評論 0 0