Lightning Digital AVアダプタのログを取得する方法

iPhoneに[Lightning DigitalAVアダプタ](https://www.apple.com/jp/shop/product/MW2P3AM/A/lightning-digital-av%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF)（結構、高価ですね）を繋ぐと、そこからiPhoneの画面を外部ディスプレイに映し出すことができ、便利である。
<img width=300 src="https://store.storeimages.cdn-apple.com/8567/as-images.apple.com/is/MD826?wid=1144&hei=1144&fmt=jpeg&qlt=90&.v=1566858915905">
また、通常iPhoneのログは、xcodeのDevice Consoleから見ることができる。
しかし、そのLightning DigitalAVアダプタを繋いだ時のログを見たい場合は、Lightningポートが塞がってしまっているため、MacにLightningケーブルでつなぐことができない。
そのような場合は、ネットワーク経由でもログを見ることができるらしいので、試してみた。

### 環境
* MacOS : Sonoma 14.7
* Xcode：16.2
* iOS: 18.2

### まずは、有線接続で確認
その手順は、以下の通り。
1. iPhoneとMacを、同一のネットワークのWiFiに繋いでおく
1. まずは、有線接続のデバッグとして、LightningケーブルでiPhoneとMacを繋ぐ
1. XcodeのWindow → Devices ans Simulatorsをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594033/c768f94d-df37-f814-11bc-bed9175c7ffe.png)
1. Connects via Networks when wired connection is not availableチェックが入っていることを確認する（すでにチェックが入ってグレーになっているので、変更出来ないようだが）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594033/9e40daf8-e577-5c93-3768-52af4db0c2ef.png)
1. 「Open Console」ボタンをクリックすると、Consoleウインドウが現れる。
開始ボタンをクリックすると、ログが現れる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594033/b93b939c-7d6a-e88a-44e3-5c0a6206b48f.png)

## 無線接続でもログは取れるはずだが...
1. 次にiPhoneからLightningケーブルを外してみると、
おや？、ログは止まってしまっている...
iPhoneとMaは同じネットワークで繋がっているので、繋がるはずなのだが？
<img width=400 align=left src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594033/f63b188f-b812-6881-72db-103fc0f6e76b.png">
<img width=400 align=left src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594033/5331a077-aeb2-328b-afbd-d26c2963857c.png">

1. Devices and Simulatorsに戻ってみたらErrorが出ていて、「The specified device was not found.」となっている。
おかしい？？

## 解決！
1. そのエラーメッセージを元にググってみると、、、
ぬぬぬ！
Communication to network devices uses port 62078.
デバイスとの通信には、**ポート62078**を使っているらしい！
https://help.apple.com/xcode/mac/current/#/devac3261a70
どうらや、ここのネットワークはそのポートが閉じられているらしい。
しかし、そのポート開けてもらうのも面倒なので、ポート制限されていないテスト用のWiFiアクセスポイトがあったのてiPhoneとMacをそれに繋いでみた。(AP間プライバシーセパレーター機能がONになっていたらOFFにする。)
1. すると、Device名の横に地球アイコンが表示されて、無事エラーも消え、OpenConsoleボタンも押せるようになった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594033/0649d546-68bf-10f5-744e-147701894d7f.png)

1. 再びConsoleウインドウに行って、Lightning Digital AV AdapterをiPhoneを差して、ログを開始。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594033/4cefbe67-1f6a-3d39-9628-c3b765ab84ef.png)
「Lightning」で検索してみると、Lightning Digital AV Adapterのログ画見つかった。
めでたし、めでたし...
同様にすれば、他のLightningアダプタのログの取得、デバッグも出来る。

## 学び
Lightningポートにつながるデバイスのログは、xcodeのdevice consoleからネットワーク経由で見ることができる。ただ、その通信はポート62078を使っているのでそこが閉じされていないか、あるはWi-Fiアクセスポイントのプライバシーセパレーター機能がOFFになっているかどうか、の確認は必要。


## 余談
このLightning Digital AV Adapterは、SoCが入っていてOSの上で結構複雑な処理をしているのですね！（それで値段もそこそこするのですかね？）

:::note info
このSocはXNU ベースのカーネルをブートし、ホストデバイスからの入力を受け付けるデーモンへと移行し、データストリームをデコードし、A/V コネクターへ出力する。
:::
http://gajethouse.blog3.fc2.com/blog-entry-1028.html

それの元記事の「PANIC BLOG」
<img width=300 src="https://blog-cdn.panic.com/wp-content/uploads/2013/03/chip-1.jpg">
https://panic.com/blog/the-lightning-digital-av-adapter-surprise/