iOSアプリ開発で実機のログに filter をかける
アプリ起動中のログであれば Xcode のコンソールから確認できますが、 アプリを起動したり終了させたときのログを確認したい場合には、Xcode のコンソールでは確認できないので実機のログを確認する必要があるかと思います。
このとき Xcode のツールバーの Window -> Devices から実機を選択すれば Xcode 上でログを確認することができますが、この方法だとログに対して find はできるのですが、 filter はかけられないので結構不便だったりします。
そこで、なんとか filter をかける方法がないかなと思って探してみたら方法がありました〜
libmobiledevice
こちらを使うことでターミナルでログを確認できるので、それを grep すればよいということです。
Homebrew から入れることができるのですが、 iOS10 の実機のログを確認する場合には、以下のように HEAD を指定して install しないといけないようです。
$ brew install -v --HEAD --fresh --build-from-source libimobiledevice
refs:
使い方
$ idevicesyslog -u 実機のUUID
でターミナルにログを出力することができます。
もちろん UUID を確認するコマンドもあります。
$ idevice_id -l
以下のように出力されるログに対して grep すれば filter をかけることができます!
$ idevice_id -l | xargs idevicesyslog -u | grep hogehoge
これで快適なデバッグライフを送ることができそうです!