Reproduction
- Generate a Craft iOS app with
watch.enabled: true. - Apply the required
WKWatchKitAppmarker to the generatedWatchApp/Info.plist(tracked separately in #194). - Build the app and install it using
xcrun simctl install <device-id> <app>.app.
Actual result
Installation fails:
Found WatchKit app at .../WildLoop.app/Watch/WildLoopWatch.app but it was not a WatchKit 2 app. Is it missing its app extension?The generated project.yml contains a single WildLoopWatch watchOS application target. It does not create a Watch extension target or embed one inside the Watch app.
Expected result
Craft should generate the complete WatchKit 2 target structure, including the watch extension and its embedding relationship, so an iOS app with watch.enabled: true can install on Simulator and devices.
Environment
- Craft revision:
26d927f7f927e4db2c85c3df89368d3f3b745dba - Xcode / iOS SDK: 26.6 / iPhoneSimulator 26.5
- Generated app: WildLoop
This follows #193 (missing WCSessionDelegate methods) and #194 (missing WatchKit plist marker). The source target graph itself is incomplete, so a local plist-only workaround cannot safely make the Watch companion installable.