iOS - 捕獲應用程序崩潰日志


  作為一名iOS移動應用開發者,為了確保你的應用程序正確無誤,在將應用程序提交到應用商店之前,你必定會進行大量的測試工作;而且在你測試的過程中應用程序運行的很好,但是在應用商店上線之后,還是有用戶抱怨應用程序會“閃退”!現在作為應用程序的開發人員你肯定會准備打開代碼准備修復“閃退”的問題,但是就在這個時候你會發現,到底那段代碼?那個地方的問題呢......;這個時候iOS崩潰日志就派上用場了,那么現在我們就來研究怎么獲取應用崩潰的日志,以及從日志追蹤到代碼。
 
(一)什么是崩潰日志,從哪里能得到它:
  iOS設備上的應用閃退時,操作系統會生成一個崩潰報告,也叫崩潰日志,保存在設備上,崩潰日志上有很多有用的信息,包括應用是什么情況下閃退的。通常,上面有每個正在執行線程的完整堆棧跟蹤信息,所以你能從中了解到閃退發生時各線程都在做什么,並分辨出閃退發生在哪個線程上。
 
(二)獲取崩潰日志的幾種方法:
  1、當用戶抱怨閃退時,你可以要求他讓設備與iTunes同步,設備與電腦上的iTunes Store同步后,會將崩潰日志保存在電腦上(路徑:Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/)到上述位置把崩潰日志下載下來,然后通過電子郵件發送給你;用這個方法獲取崩潰日志時,你必需盡量獲取用戶設備生成的所有崩潰日志。因為崩潰日志越多,就越容易診斷問題所在。
  2、如果你裝了Xcode,也能很容易通過Xcode從你的設備上獲得崩潰日志;將iOS設備連接到電腦上,然后打開Xcode;從菜單欄上選擇 Window菜單, 然后選擇 Organizer (快捷方式是 Shift-CMD-2)在Organizer 窗口上, 選中 Devices 標簽欄在左側的導航面板上,選中Device LogsLIBRARY下面的Device Logs是你所有設備(曾經連接到Xcode的)的日志;每個設備下面的Device Logs是對應設備的日志。
  3、應用提交到App Store后,你也能從 iTunes Connect 獲取到用戶的崩潰日志,登錄到 iTunes Connect 上,選擇 Manage Your Applications, 點擊相應的應用,點擊應用圖標下面的View Details按鈕, 然后點擊右欄Links部分的 Crash Reports;如果沒有崩潰日志,試試點擊Refresh按鈕刷新一下。如果你的應用用戶量還不多,或者剛上架不久,iTunes Connect賬號上也可能還沒有任何崩潰日志;如果有的話你就會看到不同iOS版本用戶下的崩潰信息。
  4、使用工具來獲取應用程序崩潰日志,現在小編來推薦一款好用的工具(名稱:Bugly,網址:http://bugly.qq.com/)官網上由詳細的講解,還附有Demo,小編就不一一解說了;
  5、iphone崩潰日志分析工具symbolicatecrash;Symbolicatecrash是Xcode自帶的一個分析工具,可以通過機器上的崩潰日志和應用的.dSYM文件定位發生崩潰的位置,把crash日志中的地址替換成代碼相應位置(詳情見:http://www.cnblogs.com/ydhliphonedev/archive/2012/12/07/2806866.html);
 
(三)什么情況下會產生崩潰日志:
  1.用戶違反操作系統規則:
    違反iOS規則包括在啟動、恢復、掛起、退出時watchdog超時、用戶強制退出和低內存終止。
  2.應用中有Bug:
    這時候大家會想,有Bug的應用程序還會上傳應用商店成功嗎?小編的理解是應用程序中一些潛在的Bug也許是iOS系統更新之后產生的Bug,就想iOS8 -> iOS9之后蘋果默默的就把http改成了https。
 (以上便是對捕獲應用程序崩潰日志的相關介紹和理解,還希望大家相互補充共同進步)


免責聲明!

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



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