Skip to content

fix: document SwiftUI Text link tap limitation in test-xcode skill#400

Merged
tmchow merged 1 commit intomainfrom
feat/eval-skill-bug
Mar 27, 2026
Merged

fix: document SwiftUI Text link tap limitation in test-xcode skill#400
tmchow merged 1 commit intomainfrom
feat/eval-skill-bug

Conversation

@tmchow
Copy link
Collaborator

@tmchow tmchow commented Mar 27, 2026

Simulated taps via XcodeBuildMCP (and all other iOS simulator automation tools — idb, XCUITest, Appium) silently fail on SwiftUI Text views with inline AttributedString links. This is a fundamental platform limitation: inline links are not exposed as separate elements in the accessibility tree, so no automation tool can target them. Taps report success but have no effect.

This adds a known-limitation note in Step 5 (Test Key Screens) and a human-verification table entry in Step 6 so the agent detects the silent failure pattern and prompts the user to tap manually. Also documents xcrun simctl openurl as a fallback when the target URL is known.

Closes #59


Compound Engineering v2.54.1
🤖 Generated with Claude Opus 4.6 (1M context, extended thinking) via Claude Code

Simulated taps via XcodeBuildMCP (and all iOS simulator automation
tools) silently fail on SwiftUI Text views with inline AttributedString
links due to a platform limitation — inline links are not exposed as
separate accessibility elements. Added a known-limitation note in the
testing step and a human-verification table entry so the agent prompts
for manual taps instead of retrying silently. Closes #59.
@tmchow tmchow merged commit 6ddaec3 into main Mar 27, 2026
2 checks passed
@github-actions github-actions bot mentioned this pull request Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[compound-engineering] Bug: XcodeBuildMCP automated taps don't trigger SwiftUI Text links - should prompt user to tap manually

1 participant