在模拟器中测试iOS应用(8分钟阅读)
摘要
Claude Code Desktop现在包含一个iOS模拟器面板,用于直接在对话中测试和交互iOS应用。该面板实时流式传输设备屏幕,并允许Claude和用户控制模拟器。
Claude Code Desktop与Apple的iOS模拟器集成,允许实时测试应用而无需接管屏幕。
查看缓存全文
缓存时间: 2026/07/22 21:30
# 在模拟器中测试 iOS 应用 - Claude Code 文档
来源:https://code.claude.com/docs/en/desktop-ios-simulator
iOS 模拟器面板会在 Apple iOS 模拟器中显示你的应用运行情况,并与 Claude Code Desktop 中的对话并列显示。当 Claude 构建、安装、启动或检查模拟器中的应用时,该面板会自动打开并实时传输设备屏幕。你可以用它观看 Claude 运行和测试应用,或者在 Claude 继续工作时自己点击操作应用。该模拟器面板直接驱动模拟器,因此不需要电脑操作(https://code.claude.com/docs/en/desktop#let-claude-use-your-computer),也不会抢占你的屏幕或隐藏其他窗口。从 CLI 中,Claude 通过电脑操作(https://code.claude.com/docs/en/computer-use#test-a-simulator-flow)访问 iOS 模拟器,这种方式会像你使用鼠标一样控制屏幕上的模拟器。
## 要求
模拟器面板使用 Apple 的模拟器工具,桌面应用本身不包含这些工具。在开始会话之前,请确保你拥有:
- Claude Desktop v1.24012.0 或更高版本
- 一台 Mac,因为 Apple 的 iOS 模拟器只能在 macOS 上运行
- 安装了 iOS 平台的 Xcode(https://developer.apple.com/xcode/),它提供了模拟器设备。如果 Xcode 还未列出任何模拟器,请参阅模拟器面板显示“未找到模拟器”(https://code.claude.com/docs/en/desktop-ios-simulator#the-simulator-pane-says-no-simulators-were-found)。
模拟器面板仅在本地会话中可用。在云(https://code.claude.com/docs/en/desktop#run-long-running-tasks-remotely)和 SSH(https://code.claude.com/docs/en/desktop#ssh-sessions)会话中,Claude 运行在无法访问你 Mac 上模拟器的机器上。
## 在模拟器中运行你的应用
你不需要任何命令或设置来打开模拟器面板。当 Claude 在模拟器中运行你的应用时,它会自动打开。
只要 Claude 在模拟器中启动应用,模拟器面板就会在会话的任何时刻打开。当你的请求涉及查看应用,例如“新界面看起来对吗?”,Claude 会在开始工作前启动一个模拟器。在 Claude 修复了 bug 或更改了界面后,请它验证更改:重新启动应用会重新打开面板(如果它还没打开的话)。模拟器面板会显示应用实际启动的设备。要在特定设备上测试,请在请求中指定设备名称,例如“在 iPhone SE 模拟器上运行”,Claude 会在构建和启动时定位到该设备。Claude 启动的设备也会出现在 Apple 的 Simulator.app 中,Claude 也可以将应用安装在你已经启动的设备上。你还可以自己打开模拟器面板。一旦会话附加了模拟器或编辑了 Swift 文件,会话工具栏中的“视图”菜单就会显示一个“iOS 模拟器”条目。如果面板尚未显示设备,请点击“附加模拟器”,或者从旁边的设备菜单中选择一个特定设备;选择一个已关闭的设备会启动它。如果缺少 Xcode 或它的模拟器,面板会显示设置步骤,并在你完成时逐一勾选。
## 自己控制模拟器
模拟器面板不仅是查看器,它还是可交互的。在 Claude 工作时或在任务间隙,你可以:
- 通过点击和拖拽设备屏幕进行触摸和滑动
- 使用与 Apple 的 Simulator.app 相同的快捷键按下硬件按钮:**Cmd+Shift+H** 返回主屏幕,**Cmd+L** 锁定,**Cmd+上箭头** 和 **Cmd+下箭头** 调节音量
- 使用旋转按钮或 **Cmd+右箭头** 将设备顺时针旋转四分之一圈
- 从设备菜单切换面板显示的设备,该菜单会列出每个模拟器的 OS 版本以及是否已启动
- 使用 **Cmd+S** 保存截图,或使用 **Cmd+R** 保存屏幕录制,也可以通过面板的捕获按钮或快捷键完成;文件会保存到你的桌面
- 点击“分离模拟器”停止传输设备而不关闭它,面板会回到“附加模拟器”状态
设备名称下方的行用于调整来自模拟器的视频流。如果面板让你的 Mac 负载过高,可以降低**帧率**或**分辨率**,在 H.264 和 JPEG 之间切换**编码**,或者勾选**FPS**来显示面板接收的帧率。这些设置改变的是面板显示设备的方式,而不是应用的运行方式。你和 Claude 控制的是同一台设备,因此你的点击会改变 Claude 看到的应用状态。要让 Claude 检查某个特定屏幕,你可以通过点击导航到该屏幕,然后提问。当 Claude 正在控制设备时,面板会在屏幕上方显示“Claude 正在使用此设备”徽章;请等到徽章消失再点击,这样结果反映的是应用而非你的输入。
## 会话如何管理设备
每个设备属于启动它的会话,因此并行会话(https://code.claude.com/docs/en/desktop#work-in-parallel-with-sessions)不共享设备:你在一个会话面板中看到的内容反映的是该会话的工作,而非其他会话的。在侧边栏切换会话时,模拟器视图会随对话一同切换,切换回来时会恢复到同一个设备的状态。如果 Claude 使用多个设备,每个设备都会打开自己的面板,每个会话最多 4 个。Claude Code Desktop 会在不再使用已启动的模拟器时将其关闭:退出应用时、存档会话时,或者分离设备面板 10 分钟后。无论你是从面板还是在 Apple 的 Simulator.app 中自行启动的设备,都不会被自动关闭。要立即关闭已附加的设备,请使用面板中的关闭按钮。
## 授权 Claude 访问设备
在 Claude 控制设备之前,它会请求你的同意;而在设备上构建应用或打开 URL 则遵循你会话的权限模式。你或你的组织也可以完全关闭 Claude 的访问权限。
### 首次允许设备
Claude 首次使用模拟器时,桌面应用会要求你允许。同意内容包括控制该设备和截取该设备的屏幕截图,且每个设备只需同意一次,而非每个会话一次。Claude 截取的设备屏幕截图会发送给 Anthropic,并遵循你正常的会话保留设置,因此请不要在 Claude 使用的设备上登录真实账户。在你允许某个设备后,Claude 在该设备上的操作(如点击、输入、启动应用和截图)将不再需要额外提示。这些操作与你自己在面板中点击具有相同的信任级别,并且它们只触及模拟设备,因此面板不需要电脑操作所需的 macOS 辅助功能和屏幕录制权限。如果你拒绝,设备仍然可以启动,面板仍可用于你自己的点击;只有 Claude 的访问保持关闭。之后如果想改变主意,请在面板中点击“让 Claude 使用它”。
### 遵循权限模式的操作
以下两个操作遵循你会话的权限模式(https://code.claude.com/docs/en/permissions#permission-modes),而不是一次性同意:
- 在设备上打开 URL,例如测试深度链接或在设备的 Safari 中加载页面,因为 URL 可能将数据带出设备。
- 构建应用,因为 `xcodebuild` 会在你的 Mac 上运行项目的构建脚本。检查已在进行的构建不会触发提示。
### 关闭模拟器访问权限
你可以在桌面应用的设置中关闭 Claude 的模拟器访问权限。组织有两种方式为所有人关闭:
- `disableMobileSimulatorTools` 托管设置(https://code.claude.com/docs/en/desktop#managed-settings)会阻止 Claude 的模拟器工具。面板仍可用于你自己的点击,并且该设置无法在应用内覆盖。
- 要求会话在隔离的虚拟机内运行的政策会完全禁用面板和工具。
Claude 会在适用时告知你。
## 限制
Claude 只能驱动模拟设备,无法控制物理 iPhone 或 iPad。要在物理设备上测试,请自行从 Xcode 运行应用,然后描述你看到的内容,或将截图附加到对话中供 Claude 使用。
## 故障排除
### 模拟器面板在 Claude 运行应用时未打开
Claude 可能没有识别出你想要运行或测试应用,或者模拟器工具缺失。请检查以下内容:
- 明确陈述目标,例如“在 iOS 模拟器中运行应用并点击完成注册流程”。
- 通过单独启动 Simulator.app 确认 Xcode 和 iOS 模拟器已安装。
- 如果你的组织管理 Claude Code,模拟器工具可能已被政策禁用(https://code.claude.com/docs/en/desktop-ios-simulator#turn-off-simulator-access)。
- 模拟器面板需要 Claude Desktop v1.24012.0 或更高版本。打开 **Claude → 检查更新**,然后重新启动应用。
### 模拟器面板显示“未找到模拟器”
Xcode 已安装但没有可列出的 iOS 模拟器。模拟器面板会显示要遵循的设置步骤,并在你完成时逐一勾选。要手动安装缺失的部分,请从 Xcode 的设置中下载 iOS 模拟器运行时,或运行 `xcodebuild -downloadPlatform iOS`。
## 参见
- 桌面版电脑操作(https://code.claude.com/docs/en/desktop#let-claude-use-your-computer):用于没有专用面板的应用程序的屏幕控制
- CLI 中的电脑操作(https://code.claude.com/docs/en/computer-use):CLI 如何访问 iOS 模拟器
- 并行会话工作(https://code.claude.com/docs/en/desktop#work-in-parallel-with-sessions):会话如何隔离变更
- Claude Code Desktop 快速入门(https://code.claude.com/docs/en/desktop-quickstart)
相似文章
@HowToAI_: 有人构建了一个工具,让Claude Code能自主测试你的整个iOS应用。它会导航你的整个应用,打开每一个…
一个基于Claude Code构建的新工具,可以通过导航每个屏幕、测试流程、读取调试日志,并从单个提示生成结构化漏洞报告,来实现iOS应用的自主测试。
@Suryanshti777: 每个移动团队都即将意识到应用测试一直以来有多么糟糕。有人将Claude Code连接到了…
一位开发者将Claude Code连接到iPhone模拟器,并提示它“测试一切”,结果实现了自主导航、漏洞检测和结构化报告,展示了从传统测试脚本到AI驱动的意图测试的转变。
Claude为我的应用制作了一个18分钟的教程
作者使用Claude Code配合浏览器扩展,自主地按照镜头列表为他们的应用创建了一个18分钟的教程,其中一些步骤需要人工干预。
桌面版Claude Code现已集成应用内浏览器(阅读时长1分钟)
Claude Code桌面客户端现已包含应用内浏览器,让用户更便捷地直接在工具中访问网络资源。
iOSWorld:个性化智能手机代理的基准测试
介绍了iOSWorld,一个交互式原生iOS模拟器基准测试,具有跨26个应用的持久用户身份,旨在通过133个难度递增的任务评估个性化移动代理的能力。