Proxyman で iOS シミュレータの HTTPS 通信をキャプチャ
この短いブログでは、Proxyman を使って iOS シミュレータの HTTP/HTTPS 通信をキャプチャして確認する方法を紹介します。
https://proxyman.com から最新版をダウンロードしてインストールすると、ネットワーク通信が Proxyman のウィンドウにすぐに表示されます。ウィンドウは次の 3 つの主要なエリアに分かれています:
- Source List
- Flow List
- Flow Content
ここで目指すのは、iOS シミュレータから送信される HTTP/HTTPS リクエストをインターセプトし、それらのリクエストとレスポンスの内容を確認することです。
このブログの内容
- Proxyman で iOS シミュレータをセットアップする方法
- Proxyman で iOS シミュレータの HTTP/HTTPS 通信をキャプチャする方法(iOS 17、18 以降で動作)
I/ iOS シミュレータに証明書をインストール
シミュレータから送信される HTTP/HTTPS リクエストをインターセプトするには、次のセットアップ手順が必要です:
- Mac にルート証明書をインストール
- iOS シミュレータに Proxyman 証明書をインストール
- iOS シミュレータを再起動
幸い、iOS Simulator Setup Guide を使うと、こうした手作業を簡単にできます。タブバーのメニューから、Certificate -> Install Certificate on iOS Simulators を選択してください。


Step 1、「Install Root Certificate」:Proxyman CA をインストール済みの場合は、このボタンがすでに Installed と表示されています。
Step 2、Prepare Simulators ボタンをクリックします。これにより、すべての iOS シミュレータに Proxyman のルート証明書がインストールされ、受信したレスポンスを確認できるようになります。
Step 3、Reboot ボタンをクリックすると、シミュレータからの Web 通信はすべて Proxyman 経由で送信されるようになります。
この簡単な操作で準備は完了です。さあ、デバッグを始めましょう!

II/ iOS シミュレータでデバッグを開始

1. プロジェクトを検索してピン留め
まず Command + Shift + F でアプリ名をすばやく検索し、右クリックしてアプリをピン留めします。アプリを Pin セクションにドラッグ&ドロップすることもできます。こうすると、他のアプリやドメインは脇に寄せられ、作業だけに集中できます。
2. SSL Proxy を有効にしてリクエストとレスポンスの内容を復号
この段階では、届いた URL は表示されますが、URL をダブルクリックしても内容は表示されません。まだ暗号化されたままだからです。SSL Proxy を有効にすると、レスポンスの内容を復号できるようになります。「Enable only this domain」か「Enable all domain from your app」のいずれかを選択してください。
リクエストを再送信します。SSL Proxy を有効にした瞬間に、レスポンスの内容が表示されます。「Voilà!」

3. Flow Content をカスタマイズ
Horizontal と Vertical のレイアウトを切り替えて、作業環境をカスタマイズできます。

…また、Response Body の中から特定の内容を検索することもできます。

Proxyman のもうひとつのコツは、ドロップダウンボタンを使って Tree View や JSON など、特定のコンテンツ形式を選択することです。また、Proxyman はお使いのエディタツールを自動で検出するので、Sublime などのツールをすぐに開いて、現在のレスポンスを編集できます。

次のステップ
これが、Proxyman を使ってシミュレータ上の SSL Web サイトを確認する方法です。iOS デバイスでのデバッグに興味がある方は、以前のブログもご覧ください。
このセットアップは、最近の iOS シミュレータのバージョンでも動作します。Certificate → Install Certificate on iOS → Simulator を選択する前に、シミュレータを起動してください。シミュレータを消去したり、新しいデバイスを作成したり、コンテンツをリセットしたりした場合は、もう一度準備し直してください。リクエストが 1 つ見当たらない場合は、何かを再インストールする前に、アプリがキャッシュされたレスポンスを使っていないか確認し、新しいリクエストを送ってみてください。
今後数か月で、皆さんからご要望いただいた機能もさらに追加していく予定です。今後のお知らせにご注目ください。
それでは、楽しいデバッグを!
Proxyman は、開発者が iOS デバイス、iOS シミュレータ、Android デバイスのアプリやドメインからの HTTP/HTTPS リクエストを表示できる、高性能な macOS アプリです。入手はこちら:https://proxyman.com/
