iOS Crash - 收集篇

項目崩潰,crashLog可是你的救命稻草淤堵,能讓你快速分析出bug的問題所在耀鸦,不會收集可不行柬批。
當(dāng)然項目在開發(fā)時,可以通過控制臺log看到調(diào)用堆棧袖订,發(fā)布版的crash 收集一般有三種方式可選:

1.蘋果Crash收集服務(wù)

通過iTunes Connect(Manage Your Applications - View Details - Crash Reports)獲取用戶的crash日志氮帐。在XCode 中Window->Organizer->Crashes也可以看到同樣的crash日志,請看這篇文章:如何查看iOS已上架app崩潰分布洛姑、定位crash發(fā)生的行
但是 收集crash功能需要用戶設(shè)置->隱私->診斷與用量->診斷與用量數(shù)據(jù)(iOS8一下在通用中設(shè)置) 選擇自動發(fā)送上沐,并與開發(fā)者共享即可;所以不推薦用楞艾。

2.自己實現(xiàn)應(yīng)用內(nèi)崩潰收集参咙,并上傳服務(wù)器

在程序啟動時加上一個異常捕獲監(jiān)聽,用來處理程序崩潰時的回調(diào)動作NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler)硫眯。UncaughtExceptionHandler是一個函數(shù)指針蕴侧,該函數(shù)需要我們實現(xiàn),可以取自己想要的名字两入。當(dāng)程序發(fā)生異常崩潰時戈盈,該函數(shù)會得到調(diào)用,這跟C谆刨,C++中的回調(diào)函數(shù)的概念是一樣的。



獲取到了崩潰日志归斤,如何發(fā)送給開發(fā)者呢痊夭,目前一般有以下兩種方式:
將崩潰信息持久化在本地,下次程序啟動時脏里,將崩潰信息作為日志發(fā)送給開發(fā)者她我。通過郵件發(fā)送給開發(fā)者。 不過此種方式需要得到用戶的許可,因為iOS不能后臺發(fā)送短信或者郵件番舆,會彈出發(fā)送郵件的界面酝碳,只有用戶點擊了發(fā)送才可發(fā)送。

3.第三方收集crash

使用友盟恨狈、bugHD疏哗、Flurry 等第三方崩潰統(tǒng)計工具,原理都是根據(jù)系統(tǒng)產(chǎn)生的crash日志進行了一次提取或封裝禾怠,然后將封裝后的crash文件上傳到對應(yīng)的服務(wù)端進行解析處理返奉。
優(yōu)點是快速集成crash收集功能,有完善的后臺管理界面和解析處理(crash文件是要解析后才能看懂的)吗氏,好用還不要錢芽偏。
友盟崩潰統(tǒng)計官方文檔 bugHD統(tǒng)計 Flurry

最后 惡意覆蓋問題

崩潰收集統(tǒng)計函數(shù)應(yīng)該只進行一次調(diào)用,如果用第三方的話也最好只用一個第三方弦讽,這樣我們獲取崩潰統(tǒng)計信息的途徑也是唯一的污尉。
第三方統(tǒng)計工具并不是用的越多越好,使用 多個崩潰收集第三方會導(dǎo)致NSSetUncaughtExceptionHandler()函數(shù)指針的惡意覆蓋往产,現(xiàn)在很多第三方崩潰收集工具為了確保自己能最大可能的收集到崩潰信息被碗,會對NSSetUncaughtExceptionHandler()函數(shù)指針的惡意覆蓋。因為這個函數(shù)是將函數(shù)地址當(dāng)做參數(shù)傳遞捂齐,所以只要重復(fù)調(diào)用就會被覆蓋蛮放,這樣就不能保證崩潰收集的穩(wěn)定性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奠宜,一起剝皮案震驚了整個濱河市包颁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌压真,老刑警劉巖娩嚼,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異滴肿,居然都是意外死亡岳悟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門泼差,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贵少,“玉大人,你說我怎么就攤上這事堆缘√显睿” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵吼肥,是天一觀的道長录平。 經(jīng)常有香客問我麻车,道長,這世上最難降的妖魔是什么斗这? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任动猬,我火速辦了婚禮,結(jié)果婚禮上表箭,老公的妹妹穿的比我還像新娘赁咙。我一直安慰自己,他們只是感情好燃逻,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布序目。 她就那樣靜靜地躺著,像睡著了一般伯襟。 火紅的嫁衣襯著肌膚如雪猿涨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天姆怪,我揣著相機與錄音叛赚,去河邊找鬼。 笑死稽揭,一個胖子當(dāng)著我的面吹牛俺附,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播溪掀,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼事镣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了揪胃?” 一聲冷哼從身側(cè)響起璃哟,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喊递,沒想到半個月后随闪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡骚勘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年铐伴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俏讹。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡当宴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出泽疆,到底是詐尸還是另有隱情即供,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布于微,位于F島的核電站逗嫡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏株依。R本人自食惡果不足惜驱证,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恋腕。 院中可真熱鬧抹锄,春花似錦、人聲如沸荠藤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哈肖。三九已至吻育,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淤井,已是汗流浹背布疼。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留币狠,地道東北人游两。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像漩绵,于是被迫代替她去往敵國和親贱案。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 崩潰是讓發(fā)人員比較頭痛的事情止吐,app崩潰了宝踪,說明代碼寫的有問題,這時如何快速定位到崩潰的地方很重要祟印。調(diào)試階段...
    進無盡閱讀 2,023評論 0 9
  • 轉(zhuǎn)載(漫談 iOS Crash 收集框架) 前言 很早以前就和念茜認識肴沫,念茜不但技術(shù)功底扎實,而且長得很漂亮蕴忆,說她...
    狂風(fēng)無跡閱讀 3,309評論 1 11
  • 來源:程序媛念茜的博客 Crash日志收集 為了能夠第一時間發(fā)現(xiàn)程序問題颤芬,應(yīng)用程序需要實現(xiàn)自己的崩潰日志收集服務(wù),...
    幸福的魚閱讀 1,168評論 0 2
  • 以下為文章正文套鹅,如果覺得有用站蝠,歡迎給她打賞。 為了能夠第一時間發(fā)現(xiàn)程序問題卓鹿,應(yīng)用程序需要實現(xiàn)自己的崩潰日志收集服務(wù)...
    赤色追風(fēng)閱讀 2,554評論 1 11
  • 比較好的轉(zhuǎn)載:http://www.cocoachina.com/ios/20151218/14748.html轉(zhuǎn)...
    liudhkk閱讀 930評論 0 2