Xcode 12.5 で iOS シミュレータに証明書をインストールする
この短い記事では、Xcode 12.5 の iOS シミュレータに Proxyman / Charles Proxy の証明書をインストールする方法を紹介します。
1. 課題
Xcode 12.5 以降では、Proxyman(2.20.0 より前のバージョン)、Charles Proxy、Fiddler で iOS シミュレータに証明書をインストールできなくなりました。Xcode 12.5 より前では問題なく動作していました。
原因は、Proxyman、Charles Proxy、Fiddler がこれまでカスタムのスクリプトを使って、iOS シミュレータの TrustStore に証明書を直接インストールしていたことにあります。この方法は、セキュリティ上の理由から Xcode 12.5 では許可されなくなりました。
2. 解決方法
2.1 手動で行う
Charles Proxy
- Help メニュー -> SSL Proxying -> Save Charles Proxy Root Certificate の順に選択して、Charles Proxy の証明書をエクスポートします。

- デスクトップフォルダに保存します。
- iOS シミュレータにドラッグします。
- 設定アプリ -> General -> About -> Certificate Trust Settings を開きます。
- 証明書をオンにします。
- 以上で完了です。
Fiddler
Charles Proxy と同じ手順です。
simtcl を使う
simtcl を使うと簡単です。これは、開発者が iOS シミュレータを操作するためのヘルパーのコマンドラインツールです。
- 証明書をデスクトップにエクスポートします。
- iOS シミュレータを開きます。
- ターミナルを開き、
xcrun simctl keychain booted add-root-cert <your_certificate_path>を実行します。 - 以上で完了です。

2.2 自動で行う
Proxyman 2.20.0 以降では、iOS シミュレータへの証明書のインストールと信頼設定を、自動かつシームレスに行えます。Xcode 12.5 でも問題なく動作します。
手順は次のとおりです。
- Proxyman を開きます。
- iOS シミュレータを開きます。
- Certificate メニュー -> Install Certificate to iOS -> Simulator を選択します。
- 画面の指示に従います。
- 以上で完了です。

3. 次のステップ
初めて使う場合は、iOS シミュレータのチュートリアルをご覧ください: https://proxyman.com/posts/2019-07-06-Debugging-on-iOS-Simulator-with-Proxyman
現在のセットアップのポイント
シミュレータを起動したままにして、Proxyman で Certificate → Install Certificate on iOS → Simulator を選択してください。新しいバージョンの Xcode や iOS シミュレータでも、依然として最もシンプルな方法です。シミュレータを消去または置き換えた後に HTTPS が動作しなくなった場合は、信頼された証明書が削除されているため、セットアップを再度実行してください。手動で設定する場合のコマンドは xcrun simctl keychain booted add-root-cert <certificate_path> です。
Proxyman は、iOS デバイス、iOS シミュレータ、Android デバイスの HTTPS 通信をキャプチャできる、高性能な macOS アプリです。
https://proxyman.com からダウンロードできます。
