用途
iOS Debugger Agent 用于在已启动的 iOS 模拟器上构建并运行当前项目 scheme,与 UI 交互并捕获日志。该技能优先使用 MCP 工具进行模拟器控制、日志获取和视图检查。
何时使用
- 当用户要求在模拟器上运行、调试或检查 iOS 应用时。
- 当需要通过 XcodeBuildMCP 进行模拟器 UI 交互、截图或获取运行时日志时。
核心工作流
除非用户要求更窄的操作,否则按以下顺序执行:
-
发现已启动的模拟器:调用
mcp__XcodeBuildMCP__list_sims,选择状态为 Booted 的模拟器。如果没有已启动的模拟器,请用户启动一个(除非用户要求,否则不要自动启动)。 -
设置会话默认值:调用
mcp__XcodeBuildMCP__session-set-defaults,传入:projectPath或workspacePath(取决于仓库使用哪种)- 当前应用的
scheme - 来自已启动设备的
simulatorId - 可选:
configuration: "Debug"、useLatestOS: true
-
构建 + 运行(当被要求时):调用
mcp__XcodeBuildMCP__build_run_sim。如果构建失败,检查错误输出并重试(可选使用preferXcodebuild: true),或在尝试任何 UI 交互前升级给用户。构建成功后,在继续 UI 交互前,调用mcp__XcodeBuildMCP__describe_ui或mcp__XcodeBuildMCP__screenshot验证应用已启动。如果应用已构建且仅要求启动,使用mcp__XcodeBuildMCP__launch_app_sim。如果 bundle id 未知:调用mcp__XcodeBuildMCP__get_sim_app_path和mcp__XcodeBuildMCP__get_app_bundle_id。
UI 交互与调试
当被要求检查或与运行中的应用交互时使用:
- 描述 UI:在点击或滑动前调用
mcp__XcodeBuildMCP__describe_ui。 - 点击:调用
mcp__XcodeBuildMCP__tap(优先使用 id 或 label;仅在需要时使用坐标)。 - 输入:聚焦字段后调用
mcp__XcodeBuildMCP__type_text。 - 手势:调用
mcp__XcodeBuildMCP__gesture执行常见滚动和边缘滑动。 - 截图:调用
mcp__XcodeBuildMCP__screenshot进行视觉确认。
日志与控制台输出
- 开始日志:使用应用 bundle id 调用
mcp__XcodeBuildMCP__start_sim_log_cap。 - 停止日志:调用
mcp__XcodeBuildMCP__stop_sim_log_cap并总结重要行。 - 对于控制台输出,设置
captureConsole: true,如有需要则重新启动。
故障排除
- 如果构建失败,询问是否使用
preferXcodebuild: true重试。 - 如果启动了错误的应用,确认 scheme 和 bundle id。
- 如果 UI 元素无法点击,在布局变化后重新运行
describe_ui。
示例
用户请求:在模拟器上运行、调试或检查 iOS 应用。
限制
- 仅在任务明确匹配上述范围时使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。