安裝
工具列表
內容詳情
替代品
安裝
{
"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(字符串
替代品










