返回 MCP 目录
public公开dns本地运行

ios-mcp

iOS开发MCP服务器,提供iOS模拟器控制和Swift/Xcode开发工具,包含23个工具和11个工作流技能,支持Claude AI自主控制模拟器、测试应用、调试问题。

article

README

🚀 iOS开发MCP服务器

这是一个全面的模型上下文协议(MCP)服务器,为Claude AI提供iOS模拟器控制以及Swift/Xcode开发工具。

⚠️ 重要提示

本项目正在积极开发中,目前处于Alpha质量阶段

  • 漏洞与问题:可能存在漏洞、功能不完整以及重大变更。
  • API稳定性:工具接口可能在不同版本间无预警变更。
  • 生产环境使用:不建议在生产环境中使用。
  • 测试:务必先在开发环境中进行全面测试。
  • 贡献:欢迎提出功能请求和漏洞报告,但实现时间取决于独立开发者的可用时间。

使用本软件需自行承担风险。这是实验性软件,按原样提供,不提供任何保证。

🚀 快速开始

本工具能让Claude AI通过自然语言命令自主控制iOS模拟器、测试应用程序、调试问题并分析应用行为。Claude可以编写代码、构建项目、在模拟器中运行项目、执行UI测试、读取崩溃日志、迭代修复并验证一切是否正常运行,无需手动调试。

本仓库提供两项互补功能

  1. MCP工具(23个工具) - 直接进行iOS模拟器控制和Xcode集成:
    • 设备管理(启动、关闭、设备信息)
    • UI交互(点击、滑动、截图、UI检查)
    • 应用生命周期管理(安装、启动、终止、卸载)
    • 调试(崩溃日志、实时日志流、文本输入)
    • 环境控制(状态栏、外观、权限、推送通知)
    • 构建与测试(集成xcodebuild,支持错误解析和测试结果查看)
  2. Claude代码技能(11个工作流) - 精心策划的开发模式,用于编排工具:
    • Swift与并发(2个):Swift 6.2+并发修复、异步/等待专业知识
    • iOS开发(3个):调试代理、App Store发布说明、GitHub问题解决
    • SwiftUI(4个):UI模式、视图重构、性能审计、Liquid Glass(iOS 26)
    • macOS打包(1个):基于SwiftPM的无Xcode应用分发
    • 另外集成了21个来自Xcode 26的官方Apple文档文件

技能与工具协同工作 - 例如,ios-debugger-agent技能将simulator_bootsimulator_install_appsimulator_launch_appsimulator_screenshotsimulator_tapsimulator_get_logs编排成一个完整的调试工作流。你将同时获得专业iOS开发所需的能力(工具)和规范(技能)。

✨ 主要特性

状态

当前版本:0.4.0(积极开发中)

可用特性

模拟器设备管理(4个工具)

  • simulator_list_devices - 列出所有可用的iOS模拟器
  • simulator_boot - 启动模拟器设备
  • simulator_shutdown - 关闭正在运行的模拟器
  • simulator_get_info - 获取详细的设备信息

模拟器UI交互(4个工具)

  • simulator_screenshot - 捕获并压缩截图(JPEG格式,80%质量)
  • simulator_tap - 在特定坐标处点击
  • simulator_swipe - 带有方向检测的滑动手势
  • simulator_long_press - 长按以显示上下文菜单

模拟器UI检查(2个工具) - 需要安装fb-idb

  • simulator_describe_ui - 获取完整的辅助功能树(所有带有标签、角色、边界的UI元素)
  • simulator_describe_point - 获取特定坐标处元素的辅助功能信息

模拟器应用管理(6个工具)

  • simulator_launch_app - 通过包标识符启动应用
  • simulator_terminate_app - 强制关闭正在运行的应用
  • simulator_install_app - 安装.app包
  • simulator_uninstall_app - 移除应用及其数据
  • simulator_open_url - 打开URL和深度链接
  • simulator_get_logs - 检索过滤后的日志条目

模拟器输入模拟(3个工具)

  • simulator_type_text - 在聚焦的文本字段中输入文本
  • simulator_press_home - 按下主页按钮
  • simulator_send_keys - 发送硬件键盘快捷键

模拟器调试与自动化(6个工具) - 需要安装fb-idb

  • simulator_list_crashes - 列出崩溃报告,可按包ID、日期范围过滤
  • simulator_get_crash - 检索带有堆栈跟踪的完整崩溃日志
  • simulator_delete_crashes - 清理崩溃报告
  • simulator_stream_logs - 带有谓词过滤器的实时日志监控
  • simulator_input_text - 在聚焦字段中输入文本(高级功能)
  • simulator_press_button - 模拟硬件按钮(主页、锁定、Siri、Apple Pay、侧边按钮)

构建与测试工具(4个工具)

  • xcodebuild_build - 为模拟器构建应用,支持错误解析(自动跟踪构建时间)
  • xcodebuild_clean - 清理构建工件和派生数据
  • xcodebuild_test - 运行单元和UI测试,提供结构化结果
  • xcodebuild_build_stats - 获取构建时间统计、趋势和性能洞察

环境控制(12个工具)

  • simulator_status_bar_override - 为演示截图和测试设置时间、网络指示器、电池状态
  • simulator_status_bar_list - 列出当前的状态栏覆盖设置
  • simulator_status_bar_clear - 清除所有状态栏覆盖设置
  • simulator_set_appearance - 在浅色/深色模式之间切换
  • simulator_get_appearance - 获取当前的外观模式
  • simulator_set_content_size - 设置动态类型大小以进行无障碍测试
  • simulator_get_content_size - 获取当前的动态类型大小
  • simulator_set_increase_contrast - 启用/禁用高对比度模式
  • simulator_grant_permission - 无需提示即可授予隐私权限
  • simulator_revoke_permission - 撤销隐私权限
  • simulator_reset_permissions - 将权限重置为下次使用时提示
  • simulator_send_push_notification - 发送模拟推送通知

位置模拟(4个工具)

  • simulator_set_location - 设置GPS坐标以测试基于位置的功能
  • simulator_simulate_route - 模拟沿路线的移动,支持路点设置
  • simulator_list_location_scenarios - 列出可用的预定义位置场景
  • simulator_clear_location - 停止位置模拟并清除任何已设置的位置

媒体管理(3个工具)

  • simulator_start_video_recording - 开始将模拟器屏幕录制为视频
  • simulator_stop_video_recording - 停止当前的视频录制
  • simulator_add_media - 向模拟器添加照片、视频或联系人

开发者实用工具(8个工具)

  • simulator_get_app_container_path - 获取应用容器的文件系统路径
  • simulator_clipboard_copy - 将文本复制到模拟器的剪贴板
  • simulator_clipboard_paste - 从模拟器的剪贴板获取文本
  • simulator_clipboard_sync - 在两个模拟器之间同步剪贴板
  • simulator_add_root_certificate - 添加受信任的根证书以进行SSL测试
  • simulator_add_certificate - 向模拟器的钥匙串添加证书
  • simulator_reset_keychain - 重置模拟器的钥匙串
  • simulator_trigger_icloud_sync - 在模拟器上触发iCloud同步

即将推出

🚧 更多构建工具

  • 存档和导出以进行分发
  • 使用Instruments进行性能分析

📦 安装指南

前提条件

  • macOS(iOS模拟器仅在macOS上可用)
  • Xcode 15+,并安装命令行工具
  • Node.js 18+

快速设置

# 克隆仓库
git clone https://github.com/yourusername/ios-dev-mcp-server.git
cd ios-dev-mcp-server

# 安装依赖
npm install

# 构建项目
npm run build

安装fb-idb(高级功能必需)

23个模拟器工具中有11个需要安装fb-idb(iOS开发桥接工具)。这些工具包括所有UI交互工具(点击、滑动、长按)、UI检查工具(describe_ui、describe_point)以及所有调试/自动化工具(崩溃日志、日志流、文本输入、按钮按下)。

安装步骤

# 1. 通过Homebrew安装idb_companion
brew tap facebook/fb
brew install idb-companion

# 2. 通过Python pip在虚拟环境中安装idb客户端
python3 -m venv ~/.idb-venv
source ~/.idb-venv/bin/activate
pip install fb-idb

# 3. 创建符号链接以实现全局访问
mkdir -p ~/bin
ln -sf ~/.idb-venv/bin/idb ~/bin/idb

# 4. 验证安装
~/bin/idb list-targets

安装内容

  • idb_companion - 与模拟器/设备通信的服务器进程(通过Homebrew安装)
  • idb - 客户端CLI工具(通过Python pip在虚拟环境中安装)
  • ~/bin/idb 处的符号链接 - 允许MCP服务器找到idb可执行文件

测试安装

# 启动模拟器(如果尚未运行)
xcrun simctl boot "iPhone 17"

# 将idb连接到模拟器
~/bin/idb connect <DEVICE_UDID>

# 测试UI检查
~/bin/idb ui describe-all --udid <DEVICE_UDID>

需要idb的工具

  • simulator_tapsimulator_swipesimulator_long_press - UI交互
  • simulator_describe_uisimulator_describe_point - UI检查
  • simulator_list_crashessimulator_get_crashsimulator_delete_crashes - 崩溃管理
  • simulator_stream_logs - 实时日志监控
  • simulator_input_text - 文本字段输入
  • simulator_press_button - 硬件按钮模拟

无需idb即可工作的工具

  • 所有设备管理工具(启动、关闭、设备信息)
  • 所有应用生命周期工具(启动、终止、安装、卸载)
  • 截图工具
  • 构建和测试工具

💻 使用示例

Claude代码集成(推荐)🚀

手动安装

  1. 构建项目:
npm install
npm run build
  1. 通过以下方式配置Claude代码,将其添加到~/.config/claude-code/settings.json
{
  "mcpServers": {
    "ios-dev": {
      "command": "node",
      "args": ["/absolute/path/to/ios-dev-mcp-server/build/index.js"],
      "metadata": {
        "name": "iOS Development MCP Server",
        "description": "Comprehensive iOS simulator control and Swift/Xcode development tools",
        "version": "0.4.0"
      }
    }
  }
}
  1. 安装技能:
cp -r skills/* ~/.claude/skills/public/

注意:将/absolute/path/to/ios-dev-mcp-server替换为你实际的项目路径。

示例提示: 安装完成后,你可以尝试向Claude提问:

  • "列出所有可用的iOS模拟器"
  • "启动一个iPhone 15 Pro模拟器"
  • "对已启动的模拟器进行截图"
  • "安装我在./build/MyApp.app的应用并启动它"
  • "测试我的应用的登录流程并调试任何问题"
  • "从模拟器中获取过滤后我的应用的最后100条日志"
  • "分析应用在导航期间的性能"

Claude桌面集成

将以下内容添加到你的Claude桌面配置文件中: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ios-dev": {
      "command": "node",
      "args": ["/absolute/path/to/ios-dev-mcp-server/build/index.js"]
    }
  }
}

重要提示:使用构建目录的绝对路径。

测试安装

启动MCP检查器进行交互式测试:

npm run inspector

在http://localhost:6274 打开Web UI,你可以在其中测试所有可用的工具。

📚 详细文档

使用Claude代码技能

本仓库同时提供MCP工具(23个iOS模拟器工具)和精心策划的技能(11个iOS/Swift开发工作流),它们可以无缝协同工作。

包含内容

  • MCP工具:23个用于iOS模拟器控制的工具(设备管理、UI交互、应用管理、调试等)
  • 技能:11个专门用于iOS开发的工作流(位于/skills目录中)
  • Claude代码技能:内置技能,如/test-driven-development/systematic-debugging
  • 协同工作:Claude使用规范的工作流(技能)来有效地编排这些iOS工具

包含的技能(共11个)

本仓库包含社区精心策划的技能:

Swift与并发(2个技能)

  • swift-concurrency-expert - Swift 6.2+并发修复和actor隔离
  • swift-concurrency-avdlee - 全面的异步/等待、actor和迁移指南

iOS开发(3个技能)

  • ios-debugger-agent - 使用此MCP服务器的工具构建、运行和调试iOS应用 ⭐
  • app-store-changelog - 根据git历史记录生成面向用户的发布说明
  • gh-issue-fix-flow - 端到端的GitHub问题解决工作流

SwiftUI(4个技能)

  • swiftui-ui-patterns - 状态管理和组合的最佳实践
  • swiftui-view-refactor - 标准化视图结构和依赖关系
  • swiftui-performance-audit - 识别并修复性能瓶颈
  • swiftui-liquid-glass - iOS 26+ Liquid Glass API实现

macOS打包(1个技能)

  • macos-spm-app-packaging - 无需Xcode即可打包SwiftPM应用

详细文档请参阅 skills/README.md

推荐的工作流组合

调试iOS应用

技能:ios-debugger-agent(包含在本仓库中!)
工具:simulator_boot、simulator_install_app、simulator_launch_app、simulator_screenshot、simulator_get_logs、simulator_tap

流程:启动 → 安装 → 启动 → 截图 → 交互 → 分析日志

测试驱动的iOS开发

技能:/test-driven-development(Claude代码内置)
工具:simulator_install_app、simulator_launch_app、simulator_get_logs

流程:编写测试 → 构建 → 安装 → 运行 → 验证日志 → 迭代

修复GitHub问题

技能:gh-issue-fix-flow(包含在本仓库中!)
工具:用于测试的模拟器工具、用于提交的git

流程:获取问题 → 定位代码 → 修复 → 使用模拟器测试 → 提交 → 报告

Swift并发审查

技能:swift-concurrency-expert(包含在本仓库中!)
工具:代码分析和重构

流程:分类错误 → 应用actor隔离 → 修复Sendable问题 → 验证

安装技能

要安装技能,请执行以下操作:

# 将技能复制到Claude代码中
cp -r skills/* ~/.claude/skills/public/

# 或者创建符号链接以保持更新
ln -s $(pwd)/skills/* ~/.claude/skills/public/

了解更多

如何在Claude中使用技能

什么是技能

技能是专门的工作流,指导Claude 如何 处理特定类型的任务。可以将它们视为专家手册:

  • MCP工具(本服务器) = Claude 可以做什么(23个模拟器工具)
  • 技能(本仓库) = Claude 应该如何做(11个工作流)

安装

将技能复制到Claude代码的技能目录中进行安装:

# 将所有技能复制到Claude代码中
cp -r skills/* ~/.claude/skills/public/

# 或者创建符号链接以保持技能与本仓库同步更新
ln -s $(pwd)/skills/app-store-changelog ~/.claude/skills/public/
ln -s $(pwd)/skills/ios-debugger-agent ~/.claude/skills/public/
# ... 对所有技能重复此操作

这会将所有11个技能复制到~/.claude/skills/public/,Claude代码可以访问这些技能。

验证安装

安装完成后,重启Claude代码并验证技能是否可用:

用户:"有哪些可用的iOS开发技能?"
Claude:[列出所有已安装的技能]

如何调用技能

当你描述的任务与技能的用途匹配时,Claude会自动调用技能。你也可以显式请求某个技能。

自动调用

当你的请求与技能的用途匹配时,Claude会自动使用这些技能:

你:"调试我的应用的登录流程"
→ Claude自动使用ios-debugger-agent技能

你:"修复这些Swift并发警告"
→ Claude自动使用swift-concurrency-expert技能

你:"为这个按钮添加Liquid Glass效果"
→ Claude自动使用swiftui-liquid-glass技能
显式调用

你可以按名称显式请求某个技能(尽管通常不需要这样做):

你:"使用ios-debugger-agent技能测试我的应用"
→ Claude加载并遵循ios-debugger-agent工作流

你:"对这个文件运行swift-concurrency-expert技能"
→ Claude对文件进行并发审查

技能使用示例

示例1:调试iOS应用
你:"我的应用在点击登录按钮时崩溃。你能调试一下吗?"

Claude的工作流(使用ios-debugger-agent技能):
1. ✓ 列出模拟器(simulator_list_devices)
2. ✓ 启动iPhone 15 Pro(simulator_boot)
3. ✓ 构建你的应用(xcodebuild_build)
4. ✓ 安装应用(simulator_install_app)
5. ✓ 启动应用(simulator_launch_app)
6. ✓ 截图(simulator_screenshot)
7. ✓ 点击登录按钮(simulator_tap)
8. ✓ 捕获崩溃日志(simulator_get_logs)
9. ✓ 分析问题并提出修复建议
示例2:修复Swift并发问题
你:"我在Swift 6中遇到了数据竞争警告。帮我修复它们。"

Claude的工作流(使用swift-concurrency-expert技能):
1. ✓ 捕获编译器诊断信息
2. ✓ 检查项目的Swift版本和并发设置
3. ✓ 参考Swift-Concurrency-Updates.md(Apple文档)
4. ✓ 识别隔离边界
5. ✓ 应用最小修复(添加@MainActor、actor隔离)
6. ✓ 验证Sendable一致性
7. ✓ 重新构建并验证警告是否已修复
示例3:实现现代SwiftUI功能
你:"为我的SwiftUI卡片视图添加Liquid Glass材质效果"

Claude的工作流(使用swiftui-liquid-glass技能):
1. ✓ 参考SwiftUI-Implementing-Liquid-Glass-Design.md
2. ✓ 检查iOS 26的可用性
3. ✓ 应用.glassEffect()修饰符
4. ✓ 为多个元素添加GlassEffectContainer
5. ✓ 为iOS < 26实现回退方案
6. ✓ 验证修饰符顺序和交互性
示例4:创建App Store发布说明
你:"为2.0版本生成发布说明"

Claude的工作流(使用app-store-changelog技能):
1. ✓ 运行git log以获取自上一版本以来的提交记录
2. ✓ 过滤用户可见的更改
3. ✓ 组织成功能/改进/错误修复
4. ✓ 编写以收益为导向的要点
5. ✓ 保持在App Store字符限制内

检查可用技能

要查看已安装并可用的技能,可以这样提问:

你:"列出所有可用的iOS开发技能"
或者
你:"有哪些技能可以帮助处理SwiftUI?"
或者
你:"你有哪些并发技能?"

Claude会列出相关技能并提供描述。

技能与MCP工具协同工作

真正的强大之处在于技能对MCP工具的编排: | 任务 | 使用的技能 | 使用的MCP工具 | |------|------------|----------------| | 调试应用崩溃 | ios-debugger-agent | simulator_boot、simulator_install_app、simulator_launch_app、simulator_screenshot、simulator_tap、simulator_get_logs | | 测试功能 | 内置的测试驱动开发 | xcodebuild_test、simulator_install_app、simulator_launch_app、simulator_get_logs | | 修复并发问题 | swift-concurrency-expert | 代码分析工具 | | 审查性能 | swiftui-performance-audit | 代码分析 + simulator_screenshot用于视觉验证 |

使用建议

  1. 明确你的目标
    • ✅ "调试登录崩溃" → 激活ios-debugger-agent技能
    • ❌ "帮助我的应用" → 过于模糊
  2. 相关时提及技术
    • ✅ "修复Swift并发错误" → swift-concurrency-expert技能
    • ✅ "为按钮添加Liquid Glass效果" → swiftui-liquid-glass技能
  3. 让Claude选择技能
    • 技能会根据你的请求自动激活
    • 只有在Claude没有使用正确的技能时才指定技能名称
  4. 信任工作流
    • 技能遵循专家开发者的成熟模式
    • 它们包含错误处理和验证步骤

技能描述参考

为了快速参考,以下是每个技能的用途: | 技能 | 适用场景 | |-------|-------------------------| | ios-debugger-agent | 使用模拟器构建、运行和调试iOS应用 | | swift-concurrency-expert | 修复Swift 6.2+并发警告和数据竞争问题 | | swift-concurrency-avdlee | 学习异步/等待模式或迁移到Swift 6 | | swiftui-liquid-glass | 实现iOS 26+ Liquid Glass材质效果 | | swiftui-ui-patterns | 遵循SwiftUI在状态、组合和导航方面的最佳实践 | | swiftui-view-refactor | 标准化SwiftUI视图结构和组织 | | swiftui-performance-audit | 诊断并修复SwiftUI性能问题 | | app-store-changelog | 根据git提交记录生成面向用户的发布说明 | | gh-issue-fix-flow | 通过测试和文档解决GitHub问题 | | macos-spm-app-packaging | 使用Swift包管理器打包macOS应用 |

详细技能文档

要获取每个技能的全面文档,包括参考资料和示例,请阅读: 📖 阅读技能指南 其中包括:

  • 所有11个技能的详细描述
  • 安装说明
  • 技能类别细分
  • 与MCP工具的集成
  • 官方Apple文档参考
  • 故障排除提示

🔧 技术细节

可用工具

模拟器设备管理

simulator_list_devices

列出所有可用的iOS模拟器设备及其当前状态。

参数:无

示例响应

{
  "summary": "Found 5 device(s) (1 booted)",
  "devices": [
    {
      "udid": "ABC-123-DEF",
      "name": "iPhone 15 Pro",
      "state": "Booted",
      "runtime": "iOS 17.2",
      "deviceType": "iPhone15,2"
    }
  ]
}
simulator_boot

通过UDID启动iOS模拟器设备。

参数

  • device(字符串,必需):要启动的设备UDID

用法:"启动iPhone 15 Pro模拟器"

simulator_shutdown

关闭正在运行的iOS模拟器设备。

参数

  • device(字符串,必需):要关闭的设备UDID

用法:"关闭已启动的模拟器"

simulator_get_info

获取特定模拟器设备的详细信息。

参数

  • device(字符串,可选):设备UDID或"booted"(默认:"booted")

用法:"获取已启动模拟器的信息"

模拟器UI交互

simulator_screenshot

从iOS模拟器捕获截图并自动压缩。

参数

  • device(字符串,可选):设备UDID或"booted"(默认:"booted")
  • quality(数字,可选):JPEG质量,范围1-100(默认:80)
  • maxWidth(数字,可选):最大宽度(像素)(默认:800)
  • maxHeight(数字,可选):最大高度(像素)(默认:1400)

返回值

  • Base64编码的JPEG图像
  • 压缩元数据(原始大小、压缩大小、压缩比)

用法:"对模拟器进行截图"

高级UI交互工具 - 需要安装fb-idb

注意:以下交互工具需要安装 fb-idb

brew install idb-companion
brew services start idb_companion

如果Homebrew安装失败,请从源代码构建:https://github.com/facebook/idb

simulator_tap

在模拟器屏幕的特定x,y坐标处点击。

参数

  • device(字符串,可选):设备UDID或"booted"
  • x(数字,必需):X坐标(像素)
  • y(数字,必需):Y坐标(像素)

用法:"在模拟器上点击坐标200, 400处"

simulator_swipe

从一个点到另一个点执行滑动手势。

参数

  • device(字符串,可选):设备UDID或"booted"
  • x1(数字,必需):起始X坐标
  • y1(数字,必需):起始Y坐标
  • x2(数字,必需):结束X坐标
  • y2(数字,必需):结束Y坐标
  • duration(数字,可选):滑动持续时间(秒)(默认:0.3)

返回值

  • 滑动方向(左、右、上、下)
  • 滑动距离(像素)

用法:"在模拟器上从200,800滑动到200,200"

simulator_long_press

在特定坐标处执行长按(点击并按住)。

参数

  • device(字符串,可选):设备UDID或"booted"
  • x(数字,必需):X坐标(像素)
  • y(数字,必需):Y坐标(像素)
  • duration(数字,可选):按压持续时间(秒)(默认:1.0)

用法:"在坐标300, 500处长按2秒"

模拟器UI检查

注意:这些工具需要安装 fb-idb

brew install idb-companion
simulator_describe_ui

获取当前模拟器屏幕的完整辅助功能树(UI层次结构)。

参数

  • device(字符串,可选):设备UDID或"booted"(默认:"booted")
  • format(字符串,可选):输出格式 - "compact"(人类可读摘要)或"json"(完整详细信息)(默认:"compact")

返回值

  • 所有UI元素的列表,包含:
    • AXLabel(辅助功能标签)
    • AXRole(元素类型:按钮、文本字段、静态文本等)
    • AXFrame(位置和大小:[X,Y WxH])
    • AXEnabled(元素是否可交互)
    • AXTraits(附加元素特征)
    • 自定义操作(如果有)

紧凑格式示例

1. 按钮: "登录" [150,650 120x44]
2. 文本字段: "邮箱" [50,550 300x40]
3. 静态文本: "欢迎" [100,200 200x30]

用法

"描述屏幕上的所有UI元素"
"以JSON格式获取辅助功能树"
"模拟器上可见的UI元素有哪些?"

常见用例

  • 在点击之前按标签查找元素
  • 验证UI元素的位置
  • 调试辅助功能实现
  • 自动化UI测试
  • 记录屏幕组件
simulator_describe_point

获取特定坐标处UI元素的辅助功能信息。

参数

  • device(字符串,可选):设备UDID或"booted"
  • x(数字,必需):X坐标(像素)
  • y(数字,必需):Y坐标(像素)

返回值

  • 指定点处的元素详细信息:
    • label(辅助功能标签或值)
    • role(元素类型)
    • frame(位置和大小)
    • enabled(交互状态)
    • traits(辅助功能特征)
    • fullDetails(完整的辅助功能数据)

用法

"坐标200, 400处是什么UI元素?"
"描述点150, 600处的元素"
"检查300, 800处的UI元素"

常见用例

  • 在点击之前验证元素是否存在
  • 调试点击目标问题(太小、错误元素)
  • 检查特定位置的元素属性
  • 以编程方式验证UI布局

模拟器调试与自动化(6个工具) - 需要安装fb-idb

注意:这些工具需要安装 fb-idb

brew install idb-companion
brew services start idb_companion
simulator_list_crashes

列出iOS模拟器的崩溃报告,支持可选过滤。

参数

  • device(字符串
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端