跳到主要内容

iOS 模拟器

在 macOS 上使用 Proxyman 抓包 iOS 模拟器的 HTTP/HTTPS 流量:涵盖证书自动设置、手动安装和无流量排查。

使用 Proxyman 在 Mac 上抓取并查看 iOS 模拟器中的 HTTP/HTTPS 请求。请先使用自动证书安装;如果安装失败,再使用下面的手动步骤。

开始之前,请先安装 Xcode,并至少打开一次要调试的模拟器。在重现应用中的请求时,请保持 Proxyman 运行。如需进行 HTTPS 解密,请先安装并信任证书,然后为该域名启用 SSL Proxying。

在 Proxyman 中打开模拟器设置指南:

  • Certificate 菜单 -> Install Certificate on iOS -> Simulators

视频​

从 iOS 模拟器抓取 HTTPS 流量 · 在 proxyman.com 上观看
使用 Xcode 26 在 iOS 26 模拟器上抓取原生 iOS 应用的 HTTPS 流量

1. iOS 模拟器设置指南​

Proxyman iOS 模拟器设置,包含三个步骤:证书已安装并受信任、准备模拟器和重启

iOS 模拟器设置

信息

它适用于 iOS、iPadOS、tvOS、watchOS 和 visionOS。

设置指南包含三个步骤:

  1. 在 Mac 上安装 Root Proxyman Certificate:可参考 macOS 指南。
  2. 在所有你至少打开过一次的可用模拟器上安装 Proxyman 证书(点击 Prepare Simulators)。
  3. 重启模拟器:Proxyman 会重启所有模拟器,使其加载新证书。
信息

从 Proxyman 2.19.0 起,Proxyman 使用 simctl 命令行工具执行这些任务。

simctl 随 Xcode 一同提供。相比旧的方式(自定义 Python 脚本),它更现代、更可靠。

信息

此步骤仅会在你至少打开过一次的模拟器上安装证书。

例如,如果你想在 iPhone X 模拟器上调试,请先打开 iPhone X 模拟器,然后在第 2 步中安装证书。

Xcode Preview(SwiftUI)​

如果你使用 SwiftUI 的 Xcode Previews,可以将证书安装到 Xcode Preview 模拟器中:

  1. 打开带有 SwiftUI 预览画布的 Xcode。
  2. 打开 Proxyman -> Certificate 菜单 -> Install Certificate on iOS -> Simulators
  3. 在第 2 步中,点击 Prepare Simulators 按钮旁边的 ↓ 按钮 -> Install to Xcode Preview (SwiftUI)

你可以在 GitHub issue #1568 中了解更多信息。

手动安装​

在 Proxyman v4.16.0 或更高版本中,如果自动安装方案无法正常工作,你可以手动将证书安装到 iOS 模拟器中。

  1. Certificate 菜单 -> Install Certificate on iOS -> Simulators
  2. 在第 2 步中,点击 Prepare Simulators 按钮旁边的 ↓ 按钮 -> Install Manually…
Proxyman iOS 模拟器设置,展开 Prepare Simulators 菜单并选中 Install Manually

手动安装证书

  1. 将证书拖放到 iOS 模拟器上
Proxyman 弹窗,包含可拖动的 Proxyman 证书图标以及在模拟器中信任该证书的步骤

将证书拖到模拟器上,然后信任它

  1. 打开 iOS 模拟器 -> Settings app -> General -> About -> Certificate Trust Settings -> 找到 Proxyman CA 证书,并将其开关打开
  2. 完成

2. 故障排除​

如果请求列表为空,请先参照无流量排查清单检查录制状态、过滤器和代理设置。如果请求能够显示但 HTTPS 失败,请检查证书安装情况和 SSL Proxying。下面的章节介绍安装错误和缓存请求的问题。

1. 无法安装证书​

如果点击第 2 步中的按钮时出现错误,请打开 Xcode -> Settings -> Locations 标签页,并在 Command Line Tools 中选择你的 Xcode。

2. HTTPS 响应中出现 SSL 错误​

  • 打开 Settings app -> General -> About -> Certificate Trust Settings,确认 Proxyman 证书已安装并受信任。

如果证书未安装:

  • 打开 iOS 模拟器设置(Certificate 菜单 -> Install Certificate on iOS -> Simulators),然后点击第 2 步中的按钮。
  • 或者尝试下方通过导出证书手动安装中的步骤。

3. 部分 HTTP/HTTPS 请求未显示在 Proxyman 中​

Alamofire 或 URLSession 可能会为你的请求使用缓存的响应。因此,实际请求不会到达服务器,Proxyman 也就无法抓取和显示它。

解决方法:

  • 在 URLSession 或 Alamofire 中禁用缓存机制。
  • 使用 No Caching 工具(⌥⌘N)

通过导出证书手动安装​

如果无法安装证书,你可以手动安装:

  1. 打开 Proxyman -> Certificate 菜单 -> Export -> Root Certificate as DER -> 保存到桌面文件夹
  2. 打开模拟器,然后将证书拖放到模拟器屏幕上
  3. 在(模拟器上的)Settings app -> General -> VPN & Device Management(旧版 iOS 中为 Device Management)-> 选择该证书 -> 安装
  4. Settings app -> General -> About -> Certificate Trust Settings,确认 Proxyman 证书已安装并受信任。
  5. 完成 ✅

教程​

参阅详细步骤,了解如何使用 Proxyman 调试 iOS 模拟器上的应用。

了解更多​