本記事はサムザップ Advent Calendar 2017の22日目の記事です。
昨日は@yos316さんの「【Unity】Unity2017.3で追加されたAssembly Definitionをちょっと触ってみた」でした!
#はじめに
アプリ開発していると、端末の通信の内容確認やデバッグを頻繁に行います。
その際こういった内容を確認したくなります。
・レスポンスがちゃんと返ってきているか
・リクエストやレスポンスの内容は正しいか
・任意に通信の内容を書き換えてデバッグ
代表的なパケットキャプチャツールはWireshark, Charles, Fiddlerなどがあります。
今回はCharlesとiPhone端末を連携させて使ってみた所感などをまとめました。
#設定手順
こちらからDLしてインストール。
https://www.charlesproxy.com/download/
Charlesは有料なので、試用版を選択。
(試用版は30日間のみと書いてあるけど、起動のたび広告が出るだけで使い続けられる模様)
まずメニューのProxy → Proxy Settings
を選択。
ローカルPCのIPアドレスを調べる。
メニューのHelp → Local IP Adress
から調べることが可能。
後ほどiPhone端末に入力するのでアドレスを控えておく。
ローカルPCとiPhone端末を同一のwifiネットワークに接続する。
iPhone端末上にて設定 → Wi-Fi → 使用するネットワーク
を選択し、
HTTPプロキシ/手動
の欄にサーバIP(ローカルPCのIPアドレス)とポート番号を入力
以上で設定は完了です。
最初に通信したときに一度だけ認証ウィンドウが出ます。
#使用方法
通信の内容を覗く
Contentsタブから端末の通信の内容を簡単にJSON形式で確認することができます。
すごく見やすい。
リクエスト・レスポンスの値を任意に変更する
右クリックで任意のアクセスにブレイクポイントを設定できます。
ブレイクポイントに設定したアクセスのリクエストを送る前とレスポンスが返ってきたときに自動的に止めてくれます。
止めた状態で通信の内容を編集して変更できます。
Execute
を押すと変更した内容で通信が送られます。
ブレイクの設定でリクエストでは止めずにレスポンスのみ止めるといった設定も可能です。
#まとめ
設定が楽ちんで、Wiresharkなどに比べて機能も複雑すぎず使いやすいです。
料金体系は会社ごとにライセンス費を払う形式なので、
購入しておくとプロジェクト全体の業務改善化が見込めるかもしれないと感じました。
端末での通信内容を簡単に確認したり、
通信内容を変更して手軽に異常値チェックをしたりなど幅広く使えそうです。
明日は、tomoriaki さんで、
【Unity】SRDebuggerのタブの拡張方法です!