iPhoneにLightning DigitalAVアダプタ(結構、高価ですね)を繋ぐと、そこからiPhoneの画面を外部ディスプレイに映し出すことができ、便利である。
また、通常iPhoneのログは、xcodeのDevice Consoleから見ることができる。
しかし、そのLightning DigitalAVアダプタを繋いだ時のログを見たい場合は、Lightningポートが塞がってしまっているため、MacにLightningケーブルでつなぐことができない。
そのような場合は、ネットワーク経由でもログを見ることができるらしいので、試してみた。
環境
- MacOS : Sonoma 14.7
- Xcode:16.2
- iOS: 18.2
まずは、有線接続で確認
その手順は、以下の通り。
- iPhoneとMacを、同一のネットワークのWiFiに繋いでおく
- まずは、有線接続のデバッグとして、LightningケーブルでiPhoneとMacを繋ぐ
- XcodeのWindow → Devices ans Simulatorsをクリック
- Connects via Networks when wired connection is not availableチェックが入っていることを確認する(すでにチェックが入ってグレーになっているので、変更出来ないようだが)
- 「Open Console」ボタンをクリックすると、Consoleウインドウが現れる。
開始ボタンをクリックすると、ログが現れる。
無線接続でもログは取れるはずだが...
- 次にiPhoneからLightningケーブルを外してみると、
おや?、ログは止まってしまっている...
iPhoneとMaは同じネットワークで繋がっているので、繋がるはずなのだが?
- Devices and Simulatorsに戻ってみたらErrorが出ていて、「The specified device was not found.」となっている。
おかしい??
解決!
-
そのエラーメッセージを元にググってみると、、、
ぬぬぬ!
Communication to network devices uses port 62078.
デバイスとの通信には、ポート62078を使っているらしい!
https://help.apple.com/xcode/mac/current/#/devac3261a70
どうらや、ここのネットワークはそのポートが閉じられているらしい。
しかし、そのポート開けてもらうのも面倒なので、ポート制限されていないテスト用のWiFiアクセスポイトがあったのてiPhoneとMacをそれに繋いでみた。(AP間プライバシーセパレーター機能がONになっていたらOFFにする。) -
すると、Device名の横に地球アイコンが表示されて、無事エラーも消え、OpenConsoleボタンも押せるようになった。
-
再びConsoleウインドウに行って、Lightning Digital AV AdapterをiPhoneを差して、ログを開始。
「Lightning」で検索してみると、Lightning Digital AV Adapterのログ画見つかった。
めでたし、めでたし...
同様にすれば、他のLightningアダプタのログの取得、デバッグも出来る。
学び
Lightningポートにつながるデバイスのログは、xcodeのdevice consoleからネットワーク経由で見ることができる。ただ、その通信はポート62078を使っているのでそこが閉じされていないか、あるはWi-Fiアクセスポイントのプライバシーセパレーター機能がOFFになっているかどうか、の確認は必要。
余談
このLightning Digital AV Adapterは、SoCが入っていてOSの上で結構複雑な処理をしているのですね!(それで値段もそこそこするのですかね?)
このSocはXNU ベースのカーネルをブートし、ホストデバイスからの入力を受け付けるデーモンへと移行し、データストリームをデコードし、A/V コネクターへ出力する。
それの元記事の「PANIC BLOG」
https://panic.com/blog/the-lightning-digital-av-adapter-surprise/