iOS運(yùn)用fabric記錄crash日志過(guò)程先前運(yùn)用友盟記錄app閃退喻括,發(fā)現(xiàn)有些閃退的記錄無(wú)法明確定位到詳細(xì)的位置,決定運(yùn)用fabric進(jìn)行閃退的記錄达布;網(wǎng)上也有這方面的記錄宏悦,有些細(xì)節(jié)的內(nèi)容不明確,把今天碰到的坑整理記發(fā)不一下瓜晤;
訪問(wèn)官網(wǎng)地址(進(jìn)行注冊(cè)賬號(hào)):
https://fabric.io
下載客戶端地址:
https://fabric.io/downloads
1:注冊(cè)成功后锥余,并把客戶端軟件下載后,就可以登錄客戶端進(jìn)行操作痢掠,選擇要增加的工程文件
2:運(yùn)用客戶端驱犹,生成腳本
因?yàn)檫@邊是直接采用把fabric框架直接拉進(jìn)到項(xiàng)目中,所以生成的腳本為這種樣式足画,若是采用Pod引入雄驹,其腳本會(huì)不一樣;腳本的引入都會(huì)在項(xiàng)目的Info.Plist產(chǎn)生一個(gè)配置采單淹辞;
3:把腳本復(fù)制到XCode項(xiàng)目的相關(guān)地方
注意:當(dāng)有一個(gè)項(xiàng)目多個(gè)targets時(shí)医舆,要對(duì)每個(gè)targets進(jìn)行run Script設(shè)置,確保每個(gè)targets里面的info.plist文件有生成相應(yīng)的配置象缀,否則運(yùn)行會(huì)報(bào)錯(cuò)蔬将;
>>部分Xcode在Build Phases沒(méi)有Run Script,請(qǐng)按照以下方式插入
4:引入相應(yīng)的框架文件,直接從客戶端拉到項(xiàng)目中
注意:除了直接把fabric拉進(jìn)項(xiàng)目引用攻冷,還可以用POD進(jìn)行管理插件娃胆,只是其腳本的內(nèi)容格式不一樣;
5:在項(xiàng)目中引入文件等曼,并初始化框架里烦,注冊(cè)并特意編寫錯(cuò)誤的代碼
** 6:根據(jù)客戶端提示運(yùn)行最后一步,點(diǎn)Done回去凿蒜,等待程序發(fā)布**
7:回到XCODE的項(xiàng)目中,對(duì)項(xiàng)目進(jìn)行發(fā)布
注意:選擇Release,然后進(jìn)行Archive;
8:當(dāng)Archive成功發(fā)布以后胁黑,客戶端會(huì)有提示废封,是否要進(jìn)行dsym的上傳
注意:選擇Distribute,進(jìn)入下一個(gè)頁(yè)面丧蘸,此處可以輸入接受通知的郵件地址漂洋,可以是多人接收,然后下一步提示語(yǔ)輸入力喷,然后開(kāi)始進(jìn)行上傳dysm文件刽漂;
9:成功運(yùn)行以后就可以查看錯(cuò)誤的信息
注意:其實(shí)fabric的原理還是把發(fā)布后的dsym上傳后對(duì)它進(jìn)行定位,顯示出錯(cuò)誤的位置弟孟;如果不用客戶端這種上傳贝咙,也可以中完成到腳本的加入后,把發(fā)布生成的dysm壓縮成包進(jìn)行上傳拂募;后官網(wǎng)對(duì)應(yīng)的項(xiàng)目進(jìn)行操作庭猩,如下圖:
所以發(fā)布時(shí)dysm對(duì)于后期定位錯(cuò)誤很重要,一定記得保存下來(lái)陈症;
本文根據(jù)前人提供內(nèi)容進(jìn)行了編輯和完善,再次感謝以下出處和作者:
http://www.myexception.cn/operating-system/2048993.html
http://kf.tutusoso.com/kf_mobile/article/17_22198_16767.asp