安装
工具列表
内容详情
替代品
安装
{
"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"
}
}
}
}
{
"mcpServers": {
"ios-dev": {
"command": "node",
"args": ["/absolute/path/to/ios-dev-mcp-server/build/index.js"]
}
}
}🚀 iOS开发MCP服务器
这是一个全面的模型上下文协议(MCP)服务器,为Claude AI提供iOS模拟器控制以及Swift/Xcode开发工具。
⚠️ 重要提示
本项目正在积极开发中,目前处于Alpha质量阶段。
- 漏洞与问题:可能存在漏洞、功能不完整以及重大变更。
- API稳定性:工具接口可能在不同版本间无预警变更。
- 生产环境使用:不建议在生产环境中使用。
- 测试:务必先在开发环境中进行全面测试。
- 贡献:欢迎提出功能请求和漏洞报告,但实现时间取决于独立开发者的可用时间。
使用本软件需自行承担风险。这是实验性软件,按原样提供,不提供任何保证。
🚀 快速开始
本工具能让Claude AI通过自然语言命令自主控制iOS模拟器、测试应用程序、调试问题并分析应用行为。Claude可以编写代码、构建项目、在模拟器中运行项目、执行UI测试、读取崩溃日志、迭代修复并验证一切是否正常运行,无需手动调试。
本仓库提供两项互补功能:
- MCP工具(23个工具) - 直接进行iOS模拟器控制和Xcode集成:
- 设备管理(启动、关闭、设备信息)
- UI交互(点击、滑动、截图、UI检查)
- 应用生命周期管理(安装、启动、终止、卸载)
- 调试(崩溃日志、实时日志流、文本输入)
- 环境控制(状态栏、外观、权限、推送通知)
- 构建与测试(集成xcodebuild,支持错误解析和测试结果查看)
- 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_boot、simulator_install_app、simulator_launch_app、simulator_screenshot、simulator_tap和simulator_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_tap、simulator_swipe、simulator_long_press- UI交互simulator_describe_ui、simulator_describe_point- UI检查simulator_list_crashes、simulator_get_crash、simulator_delete_crashes- 崩溃管理simulator_stream_logs- 实时日志监控simulator_input_text- 文本字段输入simulator_press_button- 硬件按钮模拟
无需idb即可工作的工具:
- 所有设备管理工具(启动、关闭、设备信息)
- 所有应用生命周期工具(启动、终止、安装、卸载)
- 截图工具
- 构建和测试工具
💻 使用示例
Claude代码集成(推荐)🚀
手动安装:
- 构建项目:
npm install
npm run build
- 通过以下方式配置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"
}
}
}
}
- 安装技能:
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/
了解更多
- 包含的技能:请参阅 skills/README.md 以获取所有11个技能的详细文档
- Claude代码内置技能:在Claude代码中使用
/using-superpowers - Swift并发:fuckingapproachableswiftconcurrency.com
如何在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用于视觉验证 |
使用建议
- 明确你的目标:
- ✅ "调试登录崩溃" → 激活ios-debugger-agent技能
- ❌ "帮助我的应用" → 过于模糊
- 相关时提及技术:
- ✅ "修复Swift并发错误" → swift-concurrency-expert技能
- ✅ "为按钮添加Liquid Glass效果" → swiftui-liquid-glass技能
- 让Claude选择技能:
- 技能会根据你的请求自动激活
- 只有在Claude没有使用正确的技能时才指定技能名称
- 信任工作流:
- 技能遵循专家开发者的成熟模式
- 它们包含错误处理和验证步骤
技能描述参考
为了快速参考,以下是每个技能的用途:
| 技能 | 适用场景 |
|---|---|
| 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(字符串
替代品













