Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Bug]: Simulator test fails on mixed iOS and watchOS test plans in 2.7.0

已关闭
#514 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
64/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
ios, typescript

调研方向

首先使用 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 stale
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
  1. Download and unzip Repro.zip.
  2. Run the following command with an available iOS Simulator UDID:
xcodebuildmcp simulator test --project-path Repro.xcodeproj --scheme App --simulator-id <ios-simulator-udid>
  1. On 2.7.0, both tests are discovered but the test run fails while resolving the destination.
  2. Run the same command with 2.6.2. Both tests pass.
  3. Remove WatchTests from testTargets in Repro.xctestplan and 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

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

getsentry/XcodeBuildMCP 的其他 Issue

查看 getsentry/XcodeBuildMCP 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。