如何長時間紀錄 iOS Device Log

測試遇到 BUG 時,除了回報重製步驟外,也需要提供 Log 給開發工程師,我們可以從 Log 看到一些非必發 BUG 的關鍵與事發的線索。iOS Device 觀看 Log 的方式,可以參考 如何觀看 iOS Device Log?

上述文章查看 Log 的方式是使用 Apple 提供的工具 Xcode,但如果想觀看長時間的 Log,Xcode 能記錄的 Log 時間長度約 15 分鐘,時間一長,前面的 Log 紀錄就會被洗掉,顯然使用 Xcode 來長時間記錄 Log 是不可行的,因此我們可以使用以下兩種方法來實現需求。

方法一:透過 libimobiledevice 套件記錄 Log

安裝步驟

  1. 打開終端機,執行以下指令,透過 Homebrew 安裝 libimobiledevice 套件
    brew install libimobiledevice
    
  2. libimobiledevice 安裝完畢後,執行以下指令,即可長時間記錄 iOS Device Log,使用方法跟 Android 的 adb logcat 有異曲同工之妙。
    idevicesyslog
    

限制

  1. 目前 libimobiledevice 只支援在 Mac 的 Xcode 7.x 以下,iOS 裝置在 iOS 9.x 以下。在不支援的狀況下,輸入 idevicesyslog 會出現以下錯誤:
    ERROR: Could not start service com.apple.syslog_relay.
    Could not start logger for udid [your_udid]
    

    詳細參考 libimobiledevice 的 issue:

  2. libimobiledevice 不支援 Simulator 記錄 Device Log,僅能使用於實機。

方法二:透過 MacOS Sierra 的系統監視程式記錄 Log

Mac 的系統版本若是 MacOS Sierra (版本 10.12),則可以打開「系統監視程式」記錄 Device Log,只要不關掉此程式,Log 就會一直保持住,不用擔心會像 Xcode 一樣,15 分鐘後 Log 就被洗掉了!

系統監視程式可以記錄 iOS Device Log

結論

  1. MacOS Sierra (版本 10.12) 版本可以透過內建的「系統監視程式」長時間記錄 Log。
  2. 版本 10.11 以下的 Mac,可以透過 libimobiledevice 的 idevicesyslog 長時間記錄 Log,缺點是 Xcode 與 iOS 有版本限制。

參考資料:

  1. Install libimobiledevice on Mac OSX
  2. iOS (iPhone, iPad, iPodTouch) view real-time console log terminal
廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s