LoginSignup
11
5

More than 1 year has passed since last update.

Charlesを通信中に強制終了したらネットワークが繋がらなくなった時の解決方法

Last updated at Posted at 2020-11-02

経緯

macOSでXcodeを使用しiOSのアプリを製作しています:raising_hand:

APIの動作確認をしたく、Charlesにて通信を確認していたところ、
通信中に動作が重くなり、Charlesが接続中のまま動かなくなってしまった為、
処理中のままアプリを終了させてしまいました。

それ以降、Charlesを起動している間でないとネットワークに接続できなくなってしまいました:scream:

試したこと

  • pcの再起動
  • 証明書の再発行
  • Charlesアプリの削除(消してしまったらネットに繋がらなかった為、ゴミ箱から復活させました)
  • macのProxyのチェックを外す  システム環境設定 > ネットワーク > 詳細 > プロキシ から、「構成するプロトコルを選択」のチェックを全て外しました。

スクリーンショット 2020-11-02 15.59.37.png

一度上記の項目を試したのですが、改善されませんでした。

記事を書くためにもう一度自分の行った作業を確認したところ、

macのProxyのチェックを外すを行っても、Charlesを開くと自動的にチェックがついてしまっていることに気づき、
一度Charlesを完全に閉じてからチェックを外してネットに接続してみたところ無事繋がりました!:clap:

その後Charlesを起動してからProxyの「構成するプロトコルを選択」をみてみるとやはり自動的にチェックが入ってしまいましたが、Charlesを閉じてみても問題なくネットワークに繋がるようになりました:ok_woman:

私の知識が浅浅のため、これは状況を踏まえた憶測に過ぎないのですが・・・

どうやら、

  • Charlesを開いているときのプロキシ設定
  • Charlesを閉じた時のプロキシ設定

この2つは別物のようです:thinking:

Charlesを開いている時のプロキシ設定は、Charlesを開いた際に自動的に適用され、Charlesを開いている間は維持されるものなので、
手動でチェックを外してみても、再度起動してしまえば元に戻ってしまう。

一方、Charlesを閉じた時のプロキシ設定は、自由に設定でき、Charlesを開いていない間のみ適用されるもの。

なのだと思います。

Charlesを開いているときのプロキシ設定 => プロキシ設定A
Charlesを閉じた時のプロキシ設定 => プロキシ設定B
と置いた時、

(標準時)プロキシ設定B → (Charles起動中) プロキシ設定A → (Charles終了後)プロキシ設定B
のように適用され、

Bの方は変更が維持されますが。
(標準時)プロキシ設定Bを変更してB'となる → (Charles起動中)プロキシ設定A → (Charles終了後)プロキシ設定B’

Aの方はCharlesの設定に適応してしまうので
(標準時)プロキシ設定B → (Charles起動中) プロキシ設定Aを変更してA'となる → (Charles終了後)プロキシ設定B → (Charles起動中) プロキシ設定A

もう一度起動すると変更が適用されていない。

こんな感じで認識しています:hugging:(厳密には違うかもしれません・・・)

まとめ

仕組みはともかく、私と同じような状況に陥った方は、

Charlesを閉じた状態でProxyのチェックを外す

をやって見て頂いたら解決できるかもしれません:relaxed:

解説はできなくてもこれさえ共有して同じことで悩む方が減らせれば・・・

と思い初めて記事を公開してみました:information_desk_person:

詳しく解説してくださる方がいらっしゃいましたら是非お願いします:pray:

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5