前言
項目開發(fā)時, 遇到崩潰問題, 可以通過控制臺log看到調(diào)用堆棧, 從而找到問題所在, ?但上線項目如何解決App閃退那? ?那么, 作者現(xiàn)在就聊聊這個問題.
一 iTunes Connect 中的 [App分析]
直接上傳送門 :?如何查看iOS已上架app崩潰分布、定位crash發(fā)生的行 - 簡書
已經(jīng)寫的很清楚了, 作者不再復述, 說下該方法的限制 : 需要用戶手機設(shè)置->隱私->診斷與用量->診斷與用量數(shù)據(jù)(iOS8以下版本在通用中設(shè)置) 選擇自動發(fā)送. 這樣才可以獲取到Crash日志, 如未開啟將獲取不到數(shù)據(jù), ?所以該方法數(shù)據(jù)獲取的不全面.?
二 程序內(nèi)部實現(xiàn)Crash日志
該方法 作者未使用過, 具體效果未驗證, 傳送門 :?經(jīng)營你的iOS應(yīng)用日志(一):開始編寫日志組件 - alario - 博客園
三 第三方實現(xiàn)Crash日志
如 友盟移動統(tǒng)計 Mob移動統(tǒng)計 百度移動統(tǒng)計 等第三方實現(xiàn)Crash日志收集與分析.?
作者使用過 友盟 和 百度. 簡單說下 :?
1)百度在3.6后 新增[自動監(jiān)控模式] ,集成是只需要在?
- (void)viewDidLoad
中 寫入 self.title命名就行,?
2)友盟, 集成需要在
-(void)viewWillAppear:(BOOL)animated
-(void)viewWillDisappear:(BOOL)animated
中寫入 友盟對應(yīng)語句

詳解 : 用友盟詳細說明一下
1. 進入友盟 個人中心 -> 錯誤分析 -> 錯誤列表 -> 點擊列表中錯誤進入界面

2. 點擊 右上角 進入 [報表中心] 下載該錯誤. ?將 友盟Crash分析工具與下載的錯誤報表放同一文件夾中, ?打開 終端 , 先拖入友盟Crash分析工具 再拖入 錯誤報表 , 按回車.?
終端 運行完成后 , 會顯示錯誤的位置與行數(shù)

傳送門 :?友盟統(tǒng)計分析文檔
友盟分析錯誤 只定位到方法, 也就是說 235行對應(yīng)的是方法, ? 但是具體是方法中哪句代碼有問題, 需要自己仔細分析.
補充結(jié)合 : 有需求就有解決, ?answer_huang - ?iOS developer,Python fans? 封裝了一個應(yīng)用, 可以解決該問題.
使用步驟:
1.將打包發(fā)布軟件時的xcarchive文件拖入軟件窗口內(nèi)的任意位置(支持多個文件同時拖入,注意:文件名不要包含空格) PS. 位置 : /Users/用戶名/Library/Developer/Xcode/Archives
2.選中對應(yīng)版本的xcarchive文件,右邊會列出該xcarchive文件支持的CPU類型,選中錯誤對應(yīng)的CPU類型。
3.對比錯誤給出的UUID和工具界面中給出的UUID是否一致。
4.將錯誤地址以及 Slide Address 輸入工具的文本框中,點擊分析。
dSYM分析工具 傳送門 :GitHub - answer-huang/dSYMTools: dSYM analyze
如果好用, 請給answer_huang點個star. 感謝他的分享.
舉例 : ?對應(yīng) 上面友盟?錯誤詳情?截圖, 將 dSYM的UUID, 首次錯誤內(nèi)存地址, Slide Arrdress, CPU Type 填入該應(yīng)用中

可以看到錯誤定位 在 240行, 為方法中的具體代碼, 分析錯誤類型, 對比代碼, 解決問題 .
App上線后, 程序Crash的收集, 分析, 處理方案介紹完.?
以上 !