iOS閃退日志的收集和解析


  在開發過程中往往會遇見有個別用戶或者測試人員反饋app的閃退現象,而項目一般集成的統計閃退的第三方庫是籠統的統計了所有的閃退信息,無法去定位某一個用戶提出的某一個時間點的某一個閃退問題,於是乎這個時候需要我們能快速的去獲取指定用戶提出的指定閃退,並能夠解析閃退日志,快速的定位到問題。下面將自己的做法大概的做個總結(可能還有別的方法,但是我覺得下面講述的方法已經足夠了)。

一、收集閃退日志

  先和用戶確定iPhone是否打開如下設置(以iOS12.0的iPhone為參考):

  設置->隱私->分析->共享iPhone分析->與應用開發者共享

  只有打開了上述設置閃退日志才會被收集,然后進入設置->隱私->分析->分析數據,找到以自己項目開頭拼接出現閃退大致時間點文件名的ips文件。

 

 

二、解析閃退日志

  1.如果還能找到用戶反饋有問題的app 當時打包時相對應的項目源碼,那么就很簡單了

  獲取到的.ips文件雙擊打開是沒有解析的日志,現在需要修改后綴名為.crash,然后雙擊打開出現下面的彈窗

可以選中當時打包的項目,預覽並且打開,這時候你會發現打開后的項目會顯示閃退的地方。

 

 

 

   沒錯,就是這么簡單。不過前提條件是你還有當時打包的項目源碼,不然要是用當前閃退所在文件改動過的源碼,定位的位置是不對的。

  2.不能找到打包時的項目源碼,但是可以找到當時打包的dSYM文件

具體步驟:

1.首先在桌面新建一個文件夾crashFile,用於存放解析閃退日志用到的文件。

2.找到前面獲取到的.ips文件,拷貝.ips文件放到crashFile中

3.獲取symbolicatecrash文件。

找到當時打包所用的xcode(可能筆記本安裝了好幾個Xcode),然后進入下面的路徑:/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

拷貝symbolicatecrash工具拷貝到crashFile中

4.獲取dSYM文件

從當時打包的xcode->Window->Organizer->Archives找到當時的xcarchive文件,選中xcarchive文件右鍵點擊【顯示包內容】,拷貝dSYMs文件下的.dSYM文件,放到crashFile中。

至此,crashFile文件中總共有3個文件:.ips文件、symbolicatecrash工具、.dSYM文件。

5. 打開終端,cd到crashFile文件夾中

6. 輸入命令

./symbolicatecrash Agent-2020-02-21-124913.ips Agent.app.dSYM > crash.log

這時候會發現crashFile文件夾下多了個crash.log文件

 

 

雙擊打開crash.log文件,你會發現崩潰信息已經成功解析

好了,大功告成!!!

下面將附上參考的地址(可以驗證閃退的ips文件和dsym文件對應的app是否是同一個):

https://www.cnblogs.com/mukekeheart/p/9449189.html

https://hacpai.com/article/1533042075262

https://www.jianshu.com/p/e5ad706e4196

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM