在 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 模拟器中
- 进入 Settings 应用 -> General -> About -> Certificate Trust Settings
- 开启该证书
- 大功告成!
Fiddler
操作步骤与 Charles Proxy 相同。
使用 simctl
使用 simctl 会更简单。它是一个命令行辅助工具,允许开发者与 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 是一款高性能的 macOS 应用,可帮助开发者抓取 iOS 设备、iOS 模拟器和 Android 设备上的 HTTPS 流量。
下载地址:https://proxyman.com
