Windows PCからiOSのコンソールログを見る方法
こんにちは。最近、10年ぶりにMacからWindows機に乗り換えた田中です。
これまではMacbook Pro 14インチ M1モデルを使っていましたが、ずっしりとした重さに嫌気がさしてきたところに、Lunar Lakeを搭載した富士通FMV Note U (UA-K1)が登場し、半分程度の軽さでCopilot+ PCに乗り換えられる点に魅力を感じたためです。
移行の話はまた機会があったらと思いますが、正直処理速度はM1に敵わないものの、軽さには大満足です。WSL2も違和感なく使えています。
ただしMacから離れて一点だけ困ったことがありました。私は普段、クロスプラットフォームツールのMonacaやExpoを用いて開発をしており、Macが必要なほとんどの作業はクラウドのサービスを使うことで解決できるのですが、端末のコンソールログを見るための方法がネット上で見当たりません。
そこで色々と試行錯誤しているなかで私が見つけた方法について紹介します。
iOS端末コンソールをWindowsから見る方法
結論から言うと、以下の手順で、Windowsに接続した端末のコンソールが見えるようになります。
- AppleデバイスアプリをWindowsストアからダウンロードする
- Appleデバイスを開き、iPhoneをUSB経由で接続し、認識されることを確認する
- GitHubにあるlibmobiledevice Windowsビルド版をダウンロードする
- 展開した中にある
idevicesyslog.exe
をターミナル(CMD・WSL2等)から実行する
これで端末コンソールがターミナル上に出力されると思います。
GUIはありませんが、使い勝手も上々です。
なお、上記で紹介したlibmobiledevice Windowsビルド版は、開発コミュニティが提供する公式パッケージではありません(本家はソースコー ドのみを公開しています)。Windowsバイナリを各自でコンパイルするのは骨が折れるため、Mingw-w64を用いてビルドされたものを用いています。GitHub Actionsのワークフローがこちらに公開されていますので、中身が不安な方は各自環境でコンパイルされた方が良いかもしれません。
WiFi経由でコンソールログを表示する
上記でUSB接続のiPhoneには対応できますが、WiFi経由でも同期が可能です。
手順は以下の通りです。
- Appleデバイスを開き、一般メニューの「Wi-FiがオンになっているときにこのiPhoneを表示」にチェックを入れる。
- USBを外してもAppleデバイスから端末が見えていることを確認する。ここで表示されない場合は、Bonjourが正しく構成されていないと考えられるため、PCの再起動、ネットワークの確認などを行ってみてください。
- libimobiledeviceフォルダ内の
idevice_id.exe
を実行してUDIDを取得する。ただしく取得できたら通信に成功しています。 idevicesyslog.exe -n -u [UDID]
を実行してコンソールログを取得します。
libimobiledeviceとは?
核となるlibimobiledeviceは、iOSデバイスと通信するためのライブラリとユーティリティアプリ群です。
今回ご紹介したidevice_id
やidevicesyslog
以外にも色々なツールが実行可能形式で用意されています。マニュアルを参照して是非触ってみてください!