App閃退異常日志收集功能

言歸正傳,蘋果已經(jīng)提供了幾種獲取log的方式:

  • 使用Xcode從設(shè)備獲取,將手機用數(shù)據(jù)線連接安裝了Xcode的Mac后,可以通過window-Devices and Simulators查看;
  • 蘋果爸爸發(fā)給你的.crash文件,需要使用.dSYM文件將其符號化后增加可讀性。

對于App崩潰分析,為什么我不推薦使用友盟、Bugly這些第三方開放服務(wù)
這些第三方工具集成起來非常簡單,.a文件導(dǎo)入,使用在開放平臺上申請的AppKey調(diào)用一個函數(shù)就能搞定。但是個人認為該功能完全可以自己實現(xiàn),很多面試官甚至老板都不能理解為什么我要多此一舉,主要有以下幾個原因:

  1. 無法針對單臺設(shè)備的log收集,第三方SDK收集上來的數(shù)據(jù)是沒有條件篩選的,只要安裝了app的設(shè)備產(chǎn)生奔潰都會上傳;
  2. 只有在App真的發(fā)生奔潰,也就是用戶體驗極差的俗稱”閃退“現(xiàn)象時,才會記錄并上傳log;
  3. 競品問題,例如“友盟”目前在阿里旗下,而你所在的公司和阿里又是對手,那BOSS還會允許你使用友盟統(tǒng)計么?
  4. 對于容錯處理,例如數(shù)組越界、數(shù)據(jù)類型不匹配等問題,很多開發(fā)者都會做容錯處理,那么在App Store發(fā)布的版本中這些被”過濾“掉的異常由從何得知?

敏捷開發(fā)/用戶少的項目直接使用Bugly確實可以很直觀的發(fā)現(xiàn)bug并減少開發(fā)時間,但很多復(fù)雜場景說明了第三方SDK并不是”治療“App的最優(yōu)選擇,我的解決辦法是:UncaughtExceptionHandler+Signal+SafeProtector+XLog,缺點也很明顯就是log文件的生成機制、上傳服務(wù)器機制等都要自己實現(xiàn)+控制.

如果本文對你有所幫助,記得點擊一下喜歡哈

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容