ReviewOS

craft-native/craft

fix(ios): generate and embed a Watch extension with the Watch companion

#195
Closed glennmichael123 opened this 10 days ago ·
10 days ago

Reproduction

  1. Generate a Craft iOS app with watch.enabled: true.
  2. Apply the required WKWatchKitApp marker to the generated WatchApp/Info.plist (tracked separately in #194).
  3. 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.

Sign in to comment on this issue.