关于 xcode
xcode 是一项通过 mcporter 使用 XcodeBuildMCP 处理 Xcode 与 Swift 项目的技能,面向构建、测试和模拟器交互等开发工作。它强调先发现项目与目标,再依据实时工具 Schema 执行操作。
主要功能
- 01发现项目、Scheme 与模拟器
- 02设置项目和运行目标默认值
- 03执行构建、测试及模拟器交互
- 04按实时 Schema 查询工具参数
适用场景
- 01构建并测试 Xcode 项目或 Swift 包
- 02在模拟器或设备上运行应用
- 03检查界面层级并复现运行问题
MCP 相关
该技能通过 mcporter 调用名为 xcodebuildmcp 的 MCP 服务。XcodeBuildMCP 向客户端提供项目发现、构建测试及模拟器操作等工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bjesuiter/ skills --skill xcode安装后在 Claude Code 中输入/xcode确认已加载。
附带文件Readme.md
详细介绍
XcodeBuildMCP
通过 mcporter 使用 XcodeBuildMCP 进行 Xcode 和 Swift 工作:
bunx mcporter call --stdio "xcodebuildmcp" <tool_name> [args...]
假设 mcporter 和 xcodebuildmcp 已全局安装。此处 bunx 用于运行已安装的二进制文件;不得获取不可信的替代版本。
探查环境
在构建前确定目标:
bunx mcporter call --stdio "xcodebuildmcp" doctor
bunx mcporter call --stdio "xcodebuildmcp" discover_projs workspaceRoot="$(pwd)"
bunx mcporter call --stdio "xcodebuildmcp" list_schemes
bunx mcporter call --stdio "xcodebuildmcp" list_sims
进行实体设备相关工作时,应探查已连接的设备,而不是猜测标识符。区分 Xcode 项目、工作区、Swift 包、模拟器目标、实体设备和 macOS 应用;针对对应的目标类别选择工具。
设置会话默认值
在大多数构建和测试调用前,设置项目/工作区、方案和目标设备默认值:
bunx mcporter call --stdio "xcodebuildmcp" session-set-defaults \
projectPath="/path/to/App.xcodeproj" \
scheme="App" \
simulatorName="<discovered simulator>"
对于工作区,使用 workspacePath;对于特定模拟器或设备,使用探查到的标识符。如果行为异常,请检查默认值:
bunx mcporter call --stdio "xcodebuildmcp" session-show-defaults
不要在互不相关的代码库或目标之间沿用过期的默认值。
执行请求的工作流
设置目标后:
- 选择对应的模拟器、设备、macOS 或 Swift 包工具。
- 除非适用组合式构建并运行工具,否则先构建,再尝试安装或启动。
- 先运行针对性测试,再视情况运行更全面的测试。
- 保留构建输出,并指出可采取行动的编译器/测试失败信息。
- 需要运行时证据时,在复现问题前后使用日志捕获工具,并在之后停止捕获。
创建脚手架时,确认目标位置、项目名称、平台和 bundle 标识符。不要在未明确确认的情况下覆盖现有项目。
模拟器 UI 交互
构建并启动应用,然后在每次交互序列之前检查当前的无障碍层级:
bunx mcporter call --stdio "xcodebuildmcp" describe_ui
优先使用无障碍标识符或标签。仅使用最新层级中的坐标;不得根据截图猜测坐标,也不得在 UI 变化后重复使用坐标。如果视觉证据很重要,请截屏。导航、对话框、旋转或其他布局变化后,重新运行 describe_ui。
使用实时工具架构
工具名称和参数可能随 XcodeBuildMCP 版本变化。不要依赖复制的工具目录。使用不熟悉的操作前,检查已安装的 mcporter 帮助信息和 XcodeBuildMCP 架构:
bunx mcporter --help
bunx mcporter list --stdio "xcodebuildmcp" --schema
对手势、模拟器设置、录制、日志、设备操作、Swift 包、脚手架和实用工具,均应使用实时架构。
诊断故障
- 缺少项目/工作区:检查并设置会话默认值。
- 模拟器/设备未知:重新探查可用目标设备。
- 环境或集成故障:运行
doctor并检查确切的错误。 - 增量构建问题:仅在实时架构支持时,尝试使用服务端的标准 xcodebuild 首选项。
- 构建或测试失败:根据输出的编译器/测试证据进行诊断,不要将其视为 MCP 故障。