fix: add missing iOS widget target for Dynamic Island / Live Activities #8

Merged
millianlmx merged 1 commits from fix/dynamic-island-widget-target into main 2026-07-04 17:55:17 +02:00
Owner

Problem

The TabataGoWidget iOS widget extension target was missing from project.yml. The code existed on disk (WorkoutLiveActivity.swift, MusicLiveActivity.swift, TabataGoWidgetBundle.swift, Info.plist) but xcodegen generate never created the target, so xcodebuild never compiled or embedded the .appex. Dynamic Island never appeared in deployed builds.

Fix

  • Added TabataGoWidget app-extension target (iOS 26.0, bundle fr.millianlmx.tabatago.widget)
  • Shared WorkoutActivityAttributes.swift + MusicActivityAttributes.swift compiled into both targets (same pattern as WatchConnectivityTypes.swift)
  • embed: true in TabataGo dependencies
  • Added to scheme build targets for Xcode discoverability
  • CFBundleVersion in Info.plist fixed: 1 → 2 (match main app)
  • NSSupportsLiveActivities: true + NSSupportsLiveActivitiesFrequentUpdates: true

Verification

After deploy, verify TabataGo.app/PlugIns/TabataGoWidget.appex exists. Start a workout — Dynamic Island should appear with timer, exercise name, and pause control.

## Problem The `TabataGoWidget` iOS widget extension target was **missing from `project.yml`**. The code existed on disk (`WorkoutLiveActivity.swift`, `MusicLiveActivity.swift`, `TabataGoWidgetBundle.swift`, `Info.plist`) but `xcodegen generate` never created the target, so `xcodebuild` never compiled or embedded the `.appex`. **Dynamic Island never appeared in deployed builds.** ## Fix - Added `TabataGoWidget` app-extension target (iOS 26.0, bundle `fr.millianlmx.tabatago.widget`) - Shared `WorkoutActivityAttributes.swift` + `MusicActivityAttributes.swift` compiled into both targets (same pattern as `WatchConnectivityTypes.swift`) - `embed: true` in `TabataGo` dependencies - Added to scheme build targets for Xcode discoverability - `CFBundleVersion` in Info.plist fixed: 1 → 2 (match main app) - `NSSupportsLiveActivities: true` + `NSSupportsLiveActivitiesFrequentUpdates: true` ## Verification After deploy, verify `TabataGo.app/PlugIns/TabataGoWidget.appex` exists. Start a workout — Dynamic Island should appear with timer, exercise name, and pause control.
millianlmx added 1 commit 2026-07-04 17:25:17 +02:00
fix: add missing iOS widget target for Dynamic Island / Live Activities
All checks were successful
CI / Detect Changes (pull_request) Successful in 3s
CI / Admin Web CI (pull_request) Has been skipped
CI / YouTube Worker (pull_request) Has been skipped
CI / Deploy (pull_request) Has been skipped
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Successful in 20m49s
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Successful in 9m11s
174f4ebf7a
The TabataGoWidget code existed on disk but had no corresponding
target in project.yml, so the widget extension was never compiled
or embedded in deployed builds — Dynamic Island never appeared.

Added:
- TabataGoWidget app-extension target (iOS 26.0) with shared models
- Embed dependency in TabataGo target
- Widget in scheme build targets for Xcode discoverability
- Fix CFBundleVersion in Info.plist (1 → 2) to match main app

Config: NSSupportsLiveActivities + FrequentUpdates, correct bundle ID
(fr.millianlmx.tabatago.widget), TARGETED_DEVICE_FAMILY: "1"
Author
Owner

📱 Prêt à tester !

L'app est déployée sur l'iPhone (USB/WiFi).

  • Teste les changements
  • Reply LGTM pour merger
  • Reply KO pour bloquer
## 📱 Prêt à tester ! L'app est déployée sur l'iPhone (USB/WiFi). - Teste les changements - Reply **LGTM** pour merger - Reply **KO** pour bloquer
Author
Owner

LGTM

LGTM
millianlmx merged commit 29caf1abc2 into main 2026-07-04 17:55:17 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: millianlmx/tabatago#8