有關友盟Crash的介紹文章已經不少了,在這裏就不一一介紹了,你們能夠自行百度,這邊文章主要解決dSYM UUID與app Archives打包不一致的解決方案。數組
/Users/xxx/Library/Developer/Xcode/Archives/ xxx:爲mac電腦的用戶主目錄xcode
如上圖所示找到你對應app打包的日期,展開文件夾就能找到對應的Archives文件,繼續打開 Archives-顯示包內容找到對應的 dSYM文件如上圖所示,看到了3個dSYM文件,前面2個是第三方崩潰日誌所記錄的dSYM文件,最後一個是蘋果自帶的崩潰日誌所記錄的dSYM文件,我們能夠在Xcode中Crashes找到對應的崩潰信息,在這我們就不在累贅了。app
用過的都說好,使用方便簡單(相對於命令來講) 傳送門:pan.baidu.com/s/11jJxPgrT… 提取碼:n45g工具
壓縮以後,看到Objective-C的文件夾請點開,看到能夠運行的項目(DSYMTools.xcodeproj),點開運行便可,一個mac的項目。 運行以後是這樣子的:3d
關於如何在友盟後臺找到相對應的crash,你們自行解決哈! 筆者認爲你們是知道的因此過程省略,直接上圖:日誌
筆者找到了一個友盟後臺crash崩潰的截圖,崩潰的緣由:數據下表越界,你們注意下紅色方框的內容,前面2個小方框是崩潰的內存地址(經過該地址定位到具體的代碼),最後的方框是sSYM UUID,你們仔細看好了,和下圖的對比:code
ps:CPU的類型選擇根據友盟崩潰的crash顯示CPU Type 你們能夠參照上圖,有關CPU Type的描述。cdn
是否是瞬間懵逼了。。。本來就緒好的一切,竟然這個2個UUID不同,竟然不同的話,name若是我把崩潰的內存地址放到SDYMTools去分析,確定得不到結果啊,咱去試一試:blog
我勒個去,竟然有可能錯誤的地方,還指向一個類型的某一行代碼,既然這樣那就去看看唄,你們還記得以前我們說過這個崩潰的緣由是數組下標越界,根據上圖的圖示,去對應的代碼行去找,發現這個地方竟然沒有數組,是怎麼越的界呢,這是跨界吧。。。 瞬間整我的很差了!內存
可是仔細分析下來:前面我們已經說過了,主要的緣由在於:友盟Crash的dSYM UUID和App Archives的 UUID不一致,工具默認幫助咱們選擇了我們本地電腦打包的全部的Archives的,而這個Archives的文件真的就是對應的友盟Crash的UUID嗎? 答案是否認的,因此我們還須要去第二張圖中去找,你們發現了沒有? 這個文件和友盟Crash的纔是如出一轍的UUID啊!
好吧說了這麼多廢話,解決方案很簡單了:將上圖紅色圈起來的文件,拷貝一份,隨便修改了個名字,直接拖到DSYMTools中,再貼上崩潰的地址,就能夠分析定位到具體的代碼了,很少說,直接上圖:
哎呀第一次寫,感受思路比較亂啊,若是有不明白的地方歡迎私聊! 請你們諒解啦!