[Bug]: Simulator test fails on mixed iOS and watchOS test plans in 2.7.0
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 64/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- ios, typescript
- 领域
- cli, mobile-dev, testing-qa
调研方向
首先使用 simulator test command 通过 Repro.xcodeproj 和 Repro.xctestplan 重现该失败,然后比较 xcodebuild-invocations.txt 中 2.7.0 和 2.6.2 的调用。跟踪发现 iOS 和 watchOS 测试之后 test-without-building 的目标处理。完成标准是混合测试计划能够在配对的 simulator 上运行,同时不破坏 iOS-only 情况。
由索引模型根据 Issue 内容生成。
描述
Bug Description
simulator test fails on XcodeBuildMCP 2.7.0 when the scheme's test plan contains both iOS and watchOS unit test targets. The same command, project and simulator pass on 2.6.2.
2.7.0 builds the project and discovers both tests, then the prepared test phase fails to resolve the requested iOS Simulator. Removing only the watchOS test target from the test plan makes 2.7.0 pass.
I have attached a standalone repro with three targets and no dependencies, package manager or code signing.
Debug Output
⚙️ XcodeBuildMCP Doctor
Generated: 2026-08-11T00:51:34.307Z
Server Version: 2.7.0
Output Mode: Redacted (default)
System Information
platform: darwin
release: 25.6.0
arch: arm64
cpus: 15 x Apple M5 Pro
memory: 48 GB
hostname: <redacted>
username: <redacted>
homedir: /Users/<redacted>
tmpdir: /var/folders/ql/lrbqh2nx1615gy6k6tptrdjc0000gn/T
Node.js Information
version: v26.7.0
execPath: /opt/homebrew/Cellar/node/26.7.0/bin/node
pid: 93030
ppid: 89346
platform: darwin
arch: arm64
cwd: /Users/<redacted>/Documents/Work/<redacted>
argv: /opt/homebrew/Cellar/node/26.7.0/bin/node /opt/homebrew/Cellar/xcodebuildmcp/2.7.0/libexec/build/doctor-cli.js
Process Tree
Running under Xcode: No
93030 (ppid 89346): node -- node /opt/homebrew/Cellar/xcodebuildmcp/2.7.0/libexec/build/doctor-cli.js
89346 (ppid 89339): /opt/homebrew/li -- /opt/homebrew/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin/codex --yolo
89339 (ppid 88662): node -- node /opt/homebrew/bin/codex --yolo
88662 (ppid 9938): -zsh -- -zsh
9938 (ppid 1): /opt/homebrew/bi -- /opt/homebrew/bin/herdr server
1 (ppid 0): /sbin/launchd -- /sbin/launchd
Xcode Information
version: Xcode 26.6 - Build version 17F113
path: /Applications/Xcode-26.6.0.app/Contents/Developer
selectedXcode: /Applications/Xcode-26.6.0.app/Contents/Developer/usr/bin/xcodebuild
xcrunVersion: xcrun version 72.
Dependencies
axe: 1.8.0
mise: 2026.8.3 macos-arm64 (2026-08-07)
Environment Variables
INCREMENTAL_BUILDS_ENABLED: (not set)
DEVELOPER_DIR: (not set)
HOME: /Users/<redacted>
USER: <redacted>
TMPDIR: /var/folders/ql/lrbqh2nx1615gy6k6tptrdjc0000gn/T/
NODE_ENV: (not set)
SENTRY_DISABLED: (not set)
AXE_PATH: (not set)
XBMCP_LAUNCH_JSON_WAIT_MS: (not set)
XCODEBUILDMCP_DEBUGGER_BACKEND: (not set)
XCODEBUILDMCP_UI_DEBUGGER_GUARD_MODE: (not set)
XCODEBUILDMCP_RUNTIME: cli
XCODEBUILDMCP_SILENCE_LOGS: true
PATH
/opt/homebrew/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-path
/opt/homebrew/opt/openjdk@17/bin
/Users/<redacted>/.rbenv/shims
/Users/<redacted>/.local/bin
/opt/homebrew/bin
/opt/homebrew/sbin
/usr/local/bin
/System/Cryptexes/App/usr/bin
/usr/bin
/bin
/usr/sbin
/sbin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
/pkg/env/global/bin
/Library/Apple/usr/bin
/Users/<redacted>/.codex/tmp/arg0/codex-arg0rHEufG
/opt/homebrew/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-path
/opt/homebrew/opt/openjdk@17/bin
/Users/<redacted>/.rbenv/shims
/Users/<redacted>/.local/bin
/Applications/Ghostty.app/Contents/MacOS
/Users/<redacted>/.orbstack/bin
/Users/<redacted>/.orbstack/bin
UI Automation (axe)
Available: Yes
UI Automation Supported: Yes
Simulator Video Capture Supported (AXe >= 1.1.0): Yes
UI-Debugger Guard Mode: error
Incremental Builds
Enabled: No
xcodemake Binary Available: No
Makefile exists (cwd): (not checked: incremental builds disabled)
Mise Integration
Running under mise: No
Mise available: Yes
Debugger Backend (DAP)
lldb-dap available: Yes
Selected backend: dap
Manifest Tool Inventory
Total Unique Tools: 82
Workflow Count: 15
coverage: 2 tools
debugging: 8 tools
device: 15 tools
doctor: 1 tools
macos: 13 tools
project-discovery: 5 tools
project-scaffolding: 2 tools
session-management: 5 tools
simulator-management: 10 tools
simulator: 20 tools
swift-package: 8 tools
ui-automation: 14 tools
utilities: 1 tools
workflow-discovery: 1 tools
xcode-ide: 5 tools
Runtime Tool Registration
Enabled Workflows: 0
Registered Tools: 0
Note: Runtime registry unavailable.
Xcode IDE Bridge (mcpbridge)
Workflow enabled: No
mcpbridge path: /Applications/Xcode-26.6.0.app/Contents/Developer/usr/bin/mcpbridge
Xcode running: true
Connected: No
Bridge PID: (none)
Proxied tools: 0
Last error: (none)
Note: Bridge debug tools (status/sync/disconnect) are only registered when debug: true
Tool Availability Summary
Build Tools: Available
UI Automation Tools: Available
Incremental Build Support: Not available
Sentry
Sentry enabled: Yes
Troubleshooting Tips
If UI automation tools are not available, install axe: brew tap cameroncooke/axe && brew install axe
If incremental build support is not available, install xcodemake (https://github.com/cameroncooke/xcodemake) and ensure it is executable and available in your PATH
To enable xcodemake, set environment variable: export INCREMENTAL_BUILDS_ENABLED=1
For mise integration, follow instructions in the README.md file
✅ Doctor diagnostics complete
Editor/Client
Codex CLI 0.147.0
MCP Server Version
2.7.0
LLM
OpenAI GPT-5.6 Sol
MCP Configuration
Steps to Reproduce
- Download and unzip
Repro.zip. - Run the following command with an available iOS Simulator UDID:
xcodebuildmcp simulator test --project-path Repro.xcodeproj --scheme App --simulator-id <ios-simulator-udid>
- On 2.7.0, both tests are discovered but the test run fails while resolving the destination.
- Run the same command with 2.6.2. Both tests pass.
- Remove
WatchTestsfromtestTargetsinRepro.xctestplanand run 2.7.0 again. The remaining iOS test passes.
Repro.zip
xcodebuild-invocations.txt
Expected Behavior
The iOS and watchOS tests should run using the selected paired simulators, as they do on 2.6.2.
Actual Behavior
2.7.0 completes build-for-testing, discovers both tests, then fails during test-without-building because it cannot resolve the requested iOS Simulator.
Error Messages
Discovered 2 test(s):
AppTests/AppTests/testPasses
WatchTests/WatchTests/testPasses
Errors (1):
✗ Unable to find a device matching the provided destination specifier:
{ platform:iOS Simulator, id:<ios-simulator-udid> }
❌ Test failed.
- 主要语言
- TypeScript
- 星标
- 6.4k
- 派生
- 320
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
getsentry/XcodeBuildMCP 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
getsentry/XcodeBuildMCP#520 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
getsentry/XcodeBuildMCP#495 ·
-
难度 4/5 3-5 天 新手友好度 35/100
getsentry/XcodeBuildMCP#537 ·
-
难度 4/5 3-5 天 新手友好度 45/100
getsentry/XcodeBuildMCP#535 ·
-
难度 5/5 一周以上 新手友好度 28/100
getsentry/XcodeBuildMCP#534 ·
查看 getsentry/XcodeBuildMCP 的全部 Issue
相似的 Issue
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
-
Crush 未关闭
难度 1/5 1 小时以内 新手友好度 85/100
catppuccin/catppuccin#3125 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
ElementsProject/cln-application#167 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 75/100
Quantco/pnpm-licenses#17 ·
-
难度 2/5 1-3 小时 新手友好度 75/100