fix(app-creator): ios-app pack — MCP-toolchain gotchas (v0.2.1)

Akashic-prototype-feilrapport (S15+1): begge MCP-servere feilet ved første
oppstart. To rotårsaker som domain-pack-templaten ikke advarte om:

1. XcodeBuildMCP krever 'mcp'-subkommando — uten den henger CLI-en ved
   stdin-venting til Claude Code's 30s MCP-timeout. Symptom: 'connection
   timed out after 30000ms'. scaffold/mcp.json oppdatert + presisert i
   patterns/xcode-mcp-toolchain.md.

2. Apple mcpbridge trenger ikke bare Xcode KJØRENDE, men også et AKTIVT
   workspace-prosjekt åpent. Bare å starte Xcode er ikke nok — server-
   handshake lykkes (reconnect OK), men tool-listing timer ut. Patterns-
   gotcha-tekst utvidet.

Lærdom: rasch validering med 'echo {initialize} | server-cmd' før vi
publiserer scaffold-templates i framtiden.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-05-15 08:13:02 +02:00
commit b59928bd38
2 changed files with 6 additions and 4 deletions

View file

@ -53,7 +53,7 @@ Se `scaffold/mcp.json` for komplett template. Minimum:
"mcpServers": {
"xcodebuildmcp": {
"command": "npx",
"args": ["-y", "xcodebuildmcp@latest"]
"args": ["-y", "xcodebuildmcp@latest", "mcp"]
},
"apple-xcode": {
"command": "xcrun",
@ -63,6 +63,8 @@ Se `scaffold/mcp.json` for komplett template. Minimum:
}
```
> ⚠️ **`mcp`-subkommando er obligatorisk for XcodeBuildMCP.** Uten den kjører binæren i CLI-modus og henger ved stdin-venting til Claude Code's 30s MCP-timeout. Symptom: "MCP server 'xcodebuildmcp' connection timed out after 30000ms". Verifisert mot v2.5.2 (mai 2026).
### Forutsetninger
- macOS med Xcode 26.3 eller nyere (`xcrun mcpbridge --help` bekrefter installasjon).
@ -79,7 +81,7 @@ Se `scaffold/mcp.json` for komplett template. Minimum:
## Gotchas
- **Apple mcpbridge må ha Xcode åpent.** Ellers feiler den med "no Xcode processes found". Sett `MCP_XCODE_PID` hvis du har flere Xcode-instanser.
- **Apple mcpbridge må ha Xcode åpent *med et prosjekt aktivt i workspace*.** Bare å starte Xcode er ikke nok — `mcpbridge` kobler til "Xcode's MCP tool service" som krever et aktivt workspace-dokument. Symptom: server-handshake lykkes (reconnect OK), men `tools/list` timeout etter ~30s. Fix: åpne `.xcodeproj`/`.xcworkspace` i Xcode først. Hvis du har flere Xcode-instanser: sett `MCP_XCODE_PID` eksplisitt.
- **XcodeBuildMCP er npx-hentet hver gang ved `@latest`.** Pin versjon (`xcodebuildmcp@2.3.2`) i `.mcp.json` for repeterbarhet hvis det er kritisk.
- **CoreSimulator-mismatch.** Hvis macOS-systemets CoreSimulator-framework er eldre enn Xcode's forventede versjon (`1051.49.0 < 1051.54.0`-mønsteret), feiler simulator-baserte kommandoer. Fix: åpne Xcode én gang for å fullføre komponent-installasjon, eller kjør `softwareupdate --install-rosetta` / oppgrader macOS.
- **iOS-platform ikke installert.** Selv om SDK-en finnes, kan Xcode kreve at iOS-runtime også er lastet ned (Xcode > Settings > Platforms > iOS X.X). Symptomet er `xcodebuild: error: iOS X.X is not installed`.

View file

@ -1,9 +1,9 @@
{
"_comment": "Template: .mcp.json — MCP-stack for iOS-utvikling (Spor B). domain-pack: ios-app · component: scaffold. Plasseres i prosjekt-rota. Registrerer XcodeBuildMCP (headless build/test/simulator via xcodebuild CLI) og Apple mcpbridge (krever at Xcode kjører; gir tilgang til levende Xcode-context, diagnostics, SwiftUI previews). Begge er komplementære. Se patterns/xcode-mcp-toolchain.md for fullt design.",
"_comment": "Template: .mcp.json — MCP-stack for iOS-utvikling (Spor B). domain-pack: ios-app · component: scaffold. Plasseres i prosjekt-rota. Registrerer XcodeBuildMCP (headless build/test/simulator via xcodebuild CLI) og Apple mcpbridge (krever at Xcode kjører med prosjektet åpent; gir tilgang til levende Xcode-context, diagnostics, SwiftUI previews). Begge er komplementære. NB: XcodeBuildMCP krever 'mcp'-subkommando — uten den henger CLI-en ved stdin-venting til Claude Code MCP-timeout. Se patterns/xcode-mcp-toolchain.md for fullt design.",
"mcpServers": {
"xcodebuildmcp": {
"command": "npx",
"args": ["-y", "xcodebuildmcp@latest"]
"args": ["-y", "xcodebuildmcp@latest", "mcp"]
},
"apple-xcode": {
"command": "xcrun",