亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS開發學習之監測程序的崩潰次數詳解

2020-07-26 02:45:12
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹的是關于iOS如何監測程序崩潰次數的相關內容,分享出來供大家參考學習,下面話不多說,來一起看看詳細的介紹:

在寫代碼之前,我們先弄明白一個app運行的流程。

程序運行啟動時依次調用

      1.啟動頁先運行

      2. - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

      3. - (void)applicationDidBecomeActive:(UIApplication*)application

程序退到后臺依次調用

      1. - (void)applicationWillResignActive:(UIApplication*)application

      2. - (void)applicationDidEnterBackground:(UIApplication*)application

程序從后臺回到前臺依次調用

      1. - (void)applicationWillEnterForeground:(UIApplication*)application

      2. - (void)applicationDidBecomeActive:(UIApplication*)application

程序被殺掉會依次調用

      1. - (void)applicationWillResignActive:(UIApplication*)application

      2. - (void)applicationDidEnterBackground:(UIApplication*)application

      3. - (void)applicationWillTerminate:(UIApplication*)application

程序崩潰閃退則不會調用任何方法

根據程序被殺掉和崩潰之間的區別可以寫一個方法來檢測和記錄程序崩潰次數。

實現思路

在程序啟動時把存儲在沙盒中的崩潰標識isCrash置為YES,程序將要退出時把isCrash改為NO。

代碼:

程序啟動

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self recordCrashCount];}

程序退出

- (void)applicationWillTerminate:(UIApplication *)application { [[NSUserDefaults standardUserDefaults] setObject:@(NO) forKey:@"JJ_isCrash"]; [[NSUserDefaults standardUserDefaults] synchronize];}
// 判斷和記錄崩潰的次數- (void)recordCrashCount{ BOOL isCrash = [[[NSUserDefaults standardUserDefaults] valueForKey:@"JJ_isCrash"] boolValue]; [[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:@"JJ_isCrash"]; if (isCrash == YES) {  //獲取到本地存儲的崩潰次數  NSNumber *crashNum = [[NSUserDefaults standardUserDefaults] valueForKey:@"JJ_crashCount"];  NSInteger count =0;  if (crashNum != nil) {   count = [crashNum integerValue];  }  count++;  //判斷崩潰次數達到多少次時執行操作  if (count >= crashCount) {   NSLog(@"多次崩潰");   //將本地文件崩潰次數重新置為0   [[NSUserDefaults standardUserDefaults] setObject:@0 forKey:@"JJ_crashCount"];   // 5秒后執行彈窗警告操作   [self performSelector:@selector(showAlertAction)withObject:nil afterDelay:5];   return;  }  //崩潰次數未達到3次則向本地存儲崩潰次數  crashNum = [NSNumber numberWithInteger:count];  [[NSUserDefaults standardUserDefaults] setObject:crashNum forKey:@"JJ_crashCount"]; }}
// 彈出升級警告- (void)showAlertAction{UIAlertController*alert=[UIAlertControlleralertControllerWithTitle:@"警告"message:@"檢測到軟件多次異常退出,建議您盡快更新到最新版本!" preferredStyle:UIAlertControllerStyleAlert];UIAlertAction*sure = [UIAlertAction actionWithTitle:@"確定" style:UIAlertActionStyleDefaulthandler:nil];[alert addAction:sure];[self.window.rootViewController presentViewController:alert animated:YES completion:nil];}

為了方便大家直接使用,我已經將實現代碼封裝為一個小框架,只需使用一句代碼即可調用。

github下載地址: https://github.com/jiangbin1993/JJRecordCrash

本地下載地址:http://xiazai.VeVB.COm/201707/yuanma/JJRecordCrash(VeVB.COm).rar

使用方法:

在appdelegate.m中導入頭文件 #import "JJRecordCrash.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 參數crashCount為崩潰多少次后執行block中的代碼 [[JJRecordCrash shareInstance] recordCrashWithCrashCount:2 handle:^{  // 多次崩潰后執行自己想執行的代碼,如:清除緩存 提示用戶更新  NSLog(@"崩潰啦"); }]; return YES;}

注意:調試時,在程序運行中直接使用xcode重新運行程序,因為不會走- (void)applicationWillTerminate:(UIApplication*)application方法,所以也相當于是崩潰,同樣會被記錄下來。

總結

以上就是這篇文章的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品久久久久久影视8| 91在线视频九色| 最近2019年日本中文免费字幕| 久久影院模特热| 久99久在线视频| 精品国偷自产在线视频99| 欧美国产在线电影| 日韩电影在线观看永久视频免费网站| 2019中文字幕在线免费观看| 久久综合免费视频影院| 欧美电影第一页| 一本大道久久加勒比香蕉| 欧洲成人免费视频| 亚洲一区二区三区在线免费观看| 欧美尺度大的性做爰视频| 欧美另类极品videosbestfree| 欧美激情综合色综合啪啪五月| 亚洲白虎美女被爆操| 国产美女高潮久久白浆| 深夜福利国产精品| 国产精品视频永久免费播放| 国产一区二区动漫| 中文字幕精品久久久久| 国产视频丨精品|在线观看| 国产精品普通话| 色综合久久久888| 亚洲女人被黑人巨大进入al| 亚洲肉体裸体xxxx137| 欧美视频中文字幕在线| 成人黄色av免费在线观看| 2018中文字幕一区二区三区| 日本久久亚洲电影| 一区二区三区国产视频| 亚洲欧美激情精品一区二区| 国产午夜精品美女视频明星a级| 国产精品成av人在线视午夜片| 色综合久久88| 久久91亚洲人成电影网站| 中文字幕国内精品| 亚洲黄色av女优在线观看| 国产成人综合久久| 久久免费精品视频| 欧美丝袜第一区| 欧美成aaa人片在线观看蜜臀| 色综合久综合久久综合久鬼88| 97久久超碰福利国产精品…| 5566日本婷婷色中文字幕97| 亚洲精品之草原avav久久| 亚洲一区二区三区xxx视频| 国产91ⅴ在线精品免费观看| 91精品在线国产| 青青草成人在线| 国产精品wwww| 日韩av123| 97久久精品在线| 色综合久久精品亚洲国产| 久久久人成影片一区二区三区观看| 欧美国产精品日韩| 亚洲美女福利视频网站| 精品国产一区二区三区四区在线观看| 欧美放荡办公室videos4k| 日韩中文字幕视频在线| 欧美成人sm免费视频| 亚洲丝袜av一区| 亚洲精品乱码久久久久久按摩观| 国产精品久久二区| 亚洲最大的av网站| 亚洲深夜福利网站| 色综合伊人色综合网| 高清日韩电视剧大全免费播放在线观看| 欧美精品videos| 韩日欧美一区二区| 国产精品久久久久久久久久尿| 国内外成人免费激情在线视频网站| 国产精品日韩久久久久| 国产盗摄xxxx视频xxx69| 国产午夜精品麻豆| 91极品女神在线| 国产精品久久久久久久久免费看| 欧美在线激情网| 国产精品一区二区三区在线播放| 日韩av在线网站| 亚洲一区二区在线播放| 国产精品三级久久久久久电影| 中文字幕在线观看日韩| 日韩欧美高清在线视频| 成人在线一区二区| 国产精品亚发布| 欧美专区在线播放| 欧美在线影院在线视频| 日韩电影在线观看永久视频免费网站| 久久精品人人爽| 91av福利视频| 韩国三级电影久久久久久| 精品视频久久久| 成人性生交大片免费看视频直播| 91亚洲精品久久久久久久久久久久| 欧美精品www| 欧美激情videos| 欧美又大又硬又粗bbbbb| 国产成人精品免费久久久久| 亚洲黄页视频免费观看| 国产精品人成电影在线观看| 国产成人精品免高潮在线观看| 欧美日韩精品在线视频| 国产成人精品电影久久久| 亚洲三级 欧美三级| 欧美情侣性视频| 精品一区精品二区| 亚洲国产天堂久久综合| 日韩av最新在线观看| 国产网站欧美日韩免费精品在线观看| 亚洲在线观看视频网站| 欧美—级高清免费播放| 亚洲新中文字幕| 日韩免费在线视频| 欧美主播福利视频| 中文字幕亚洲一区二区三区五十路| 亚洲视频电影图片偷拍一区| 亚洲九九九在线观看| 精品中文字幕在线观看| 欧美成人精品在线视频| 日韩福利伦理影院免费| 亚洲自拍偷拍一区| 日韩精品一二三四区| 国产精品99久久久久久久久久久久| 久久资源免费视频| 国产一区二区在线免费视频| 亚洲国产精品免费| 亲爱的老师9免费观看全集电视剧| 亚洲精品久久久久久久久久久久久| 日韩精品在线免费观看视频| 日韩欧美在线播放| 国产欧美精品在线| 欧美日韩一区二区在线| 久久精品国产久精国产思思| 日韩精品高清在线| 国产自产女人91一区在线观看| 日韩免费观看在线观看| 国产免费亚洲高清| 久久久国产91| 欧美剧在线观看| 亚洲国产精品成人va在线观看| 国产精品成人在线| www.99久久热国产日韩欧美.com| 亚洲激情视频在线播放| 一区二区在线视频| 91亚洲精品一区二区| 国产精品午夜视频| 免费不卡欧美自拍视频| 国产一区二区成人| 九九精品在线播放| 欧美视频免费在线| 国产精品久久久久久五月尺| 亚洲第一中文字幕在线观看| 日韩va亚洲va欧洲va国产| 色777狠狠综合秋免鲁丝| 欧美猛男性生活免费| www亚洲欧美| 欧美亚洲一级片| 亚洲第一精品夜夜躁人人躁| 亚洲福利视频久久| 日本久久久久久| 国产精品久久久久久久久久免费|