前言
項目開發時, 遇到崩潰問題, 可以通過控制臺log看到調用堆棧, 從而找到問題所在, ?但上線項目如何解決App閃退那? ?那么, 作者現在就聊聊這個問題.
一 iTunes Connect 中的 [App分析]
直接上傳送門 :?如何查看iOS已上架app崩潰分布、定位crash發生的行 - 簡書
已經寫的很清楚了, 作者不再復述, 說下該方法的限制 : 需要用戶手機設置->隱私->診斷與用量->診斷與用量數據(iOS8以下版本在通用中設置) 選擇自動發送. 這樣才可以獲取到Crash日志, 如未開啟將獲取不到數據, ?所以該方法數據獲取的不全面.?
二 程序內部實現Crash日志
該方法 作者未使用過, 具體效果未驗證, 傳送門 :?經營你的iOS應用日志(一):開始編寫日志組件 - alario - 博客園
三 第三方實現Crash日志
如 友盟移動統計 Mob移動統計 百度移動統計 等第三方實現Crash日志收集與分析.?
作者使用過 友盟 和 百度. 簡單說下 :?
1)百度在3.6后 新增[自動監控模式] ,集成是只需要在?
- (void)viewDidLoad
中 寫入 self.title命名就行,?
2)友盟, 集成需要在
-(void)viewWillAppear:(BOOL)animated
-(void)viewWillDisappear:(BOOL)animated
中寫入 友盟對應語句
詳解 : 用友盟詳細說明一下
1. 進入友盟 個人中心 -> 錯誤分析 -> 錯誤列表 -> 點擊列表中錯誤進入界面
2. 點擊 右上角 進入 [報表中心] 下載該錯誤. ?將 友盟Crash分析工具與下載的錯誤報表放同一文件夾中, ?打開 終端 , 先拖入友盟Crash分析工具 再拖入 錯誤報表 , 按回車.?
終端 運行完成后 , 會顯示錯誤的位置與行數
傳送門 :?友盟統計分析文檔
友盟分析錯誤 只定位到方法, 也就是說 235行對應的是方法, ? 但是具體是方法中哪句代碼有問題, 需要自己仔細分析.
補充結合 : 有需求就有解決, ?answer_huang - ?iOS developer,Python fans? 封裝了一個應用, 可以解決該問題.
使用步驟:
1.將打包發布軟件時的xcarchive文件拖入軟件窗口內的任意位置(支持多個文件同時拖入,注意:文件名不要包含空格) PS. 位置 : /Users/用戶名/Library/Developer/Xcode/Archives
2.選中對應版本的xcarchive文件,右邊會列出該xcarchive文件支持的CPU類型,選中錯誤對應的CPU類型。
3.對比錯誤給出的UUID和工具界面中給出的UUID是否一致。
4.將錯誤地址以及 Slide Address 輸入工具的文本框中,點擊分析。
dSYM分析工具 傳送門 :GitHub - answer-huang/dSYMTools: dSYM analyze
如果好用, 請給answer_huang點個star. 感謝他的分享.
舉例 : ?對應 上面友盟?錯誤詳情?截圖, 將 dSYM的UUID, 首次錯誤內存地址, Slide Arrdress, CPU Type 填入該應用中
可以看到錯誤定位 在 240行, 為方法中的具體代碼, 分析錯誤類型, 對比代碼, 解決問題 .
App上線后, 程序Crash的收集, 分析, 處理方案介紹完.?
以上 !