Charlesをより深く使ってみる
いつもお世話になります、cachicoです。
触れる機会があったり、事前に調べたりした内容をアウトプットしていこうということで
以前、「charlesがとてもいい話し」「ChearlsをAndroidで使ってみる」にてiOS・Androidの接続をしてみましたが、今回はもう一歩先を見ていきたいと思います。
実はアプリの開発現場ではアプリ+APIがセットになっています。
ただし、API開発が同じチーム・同じ会社で手掛けているパターンが稀有でして細かい仕様の確認がしにくい状況が多々あります。
そんな時にCharlesにて値を書き換えてアプリ内の影響を確認すること、したいことが非常に多くあります。
そんな時、次に紹介する「ブレイクポイント」機能を使うことで値を書き換えて通信をするということが可能になります。

このように通信を確認します。
右のContentsよりJSONの内容を確認できたりします。
通信を確認できたとしても動的にその内容を書き変えたい場合はこのままではいけません。
ブレイクポイントを張ってあげる必要があります。
対象の通信を右クリックしてメニューを出しbreakpointを選ぶだけです。

この状態でアプリを操作し、もう一度対象のAPIを呼び出すとそのAPIを通信するタイミングで通信状態を停止し、値を書き換えることができます。
詳細は割愛しますがcontentsよりjsonの内容を書き換えて通信を再開すると書き換えた内容でAPIのレスポンスを受け取るということができます。
まさにAPIが開発中であったり、任意の値に書き換えが難しい場合など、非常に重宝する機能になっております。
解説・操作説明は以上になります。
現在の案件でCharlesの利用方法をメンバーに連携するために簡単なまとめを作ったものを改めてアウトプットしたものになります。
ここまで、いかがでしょうか。