前提
アプリ側がSSL証明書Pinningを実装しているなど、CharlesのSSLルート証明書を使ったSSL通信が許可されていない場合、この記事の方法ではモニタできません。
CharlesのSSLルート証明書のプロファイルを作成
Charlesのルート証明書を書き出します。
まずはKeyChainに登録
KeyChain上で❌マークになっていたら、右クリック=>Get InfoからAlways Trustにして信頼された状態にしましょう。
KeyChainからエクスポートします。
Apple Configurator 2でプロファイルを作成します。
Cmd+Nでこういうのが出てくる。Certificateを選択。
Configure
を押してさっきエクスポートした.certのファイルを選択するとこうなる。
この状態でCmd+Sで保存。
これでSSLルート証明書のプロファイルは完成。
Global HTTP Proxyのプロファイルを作成
Apple Configurator 2 でプロファイルを作成します。
Global HTTP Proxyに設定したら、先ほどの要領でCmd+S。
ちなみに Generalタブで名前をつけておかないと、先ほどの証明書のプロファイルもこちらもプロファイルの選択画面でUntitledと表示されてどちらかわからなくなります。
Proxyのホスト
もし自分のMacのCharlesでいいのであれば、例えば以下の要領でipが取れます。当たり前ですがAppleTVと同じネットワークに接続していることを確認してください。
$ ifconfig | grep 192
inet 192.168.5.25 netmask 0xffffff00 broadcast 192.168.5.255
この例だと192.168.5.25というのがそれです。ポートはCharlesの設定とか見るとわかると思います。何も考えてなければ8888で良いはず。
Apple Configurator 2 からプロファイルを追加する
デバイス右クリック=>Add=>Profiles... から、上で保存したプロファイルを両方選択、決定する。
以上で、CharlesでAppleTVのSSL通信がモニタできるようになったと思います。
使い終わったら端末からプロファイルを削除するのを忘れずに。