这是一个用于管理 Xcode 模拟器中根证书的工具。在所有模拟器中安装证书就像这样简单:
$ xcode-simulator-cert install myhost.crt
然后它会将证书安装到你所有的模拟器中。
Homebrew 是 macOS 上开源工具和其他东西的事实标准包管理器。
$ brew install skagedal/formulae/xcode-simulator-cert
Mint 是一个非常棒的基于 Swift Package Manager 项目的包管理器,例如这个项目。
$ mint install skagedal/xcode-simulator-cert
xcode-simulator-tool
基本上对模拟器中的证书执行 CRUD 操作:安装新证书、导出现有证书、删除证书以及列出它们。
使用 xcode-simulator-tool --help
可以快速了解它的工作方式。
install
子命令接受一个参数,你可以在其中提供 PEM 格式的证书。
$ xcode-simulator-cert install myhost.crt
你也可以指定特定的模拟器
$ xcode-simulator-cert install myhost.crt --device-name="iPhone 8"
这会将证书安装到名称完全匹配“iPhone 8”的模拟器中。 还有一些其他方法可以筛选要影响的模拟器,请参阅 xcode-simulator-cert install --help
。
它将跳过在已经存在此确切证书的模拟器中安装。
export
子命令导出在所选设备的信任存储中找到的现有根证书,并为每个唯一证书创建一个 PEM 文件。
$ xcode-simulator-cert export
remove
子命令从所选设备中删除所有根证书。
list
子命令列出所有模拟器设备以及每个设备可用的证书。
此工具编辑由 iOS 在模拟器中管理的 SQLite 数据库。 它没有使用官方认可的 API。 我已经在 Xcode 10.2.1 和 Xcode 11 beta 1(在撰写本文时,是最新版本)上对其进行了测试,效果很好,但我当然不能提供任何保证。 在某些情况下,您可能仍然需要手动进入并手动信任该证书。 我建议您在运行该工具时不要运行 Xcode 模拟器。
如果您想修改 xcode-simulator-cert
,您可以运行 generate-xcodeproj.sh
来生成一个 Xcode 项目。
此工具主要基于 Daniel Cerutti 的工作及其 ADVTrustStore 工具和文档。