fix: add widget target, push entitlement, error handling, force-unwrap
Some checks failed
CI / Deploy (pull_request) Has been skipped
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
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Failing after 46s
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been skipped

Phase 1 — Widget extension target:
- Add TabataGoWidget target to project.yml (app-extension, iOS 26.0)
- Embed in TabataGo, add to scheme build targets

Phase 2 — Push notification capability:
- Add aps-environment: development to TabataGo.entitlements
- Required by iOS 26 for AppIntents-based Live Activity buttons

Phase 3 — Error handling hardening:
- Catch ActivityAuthorizationError specifically with user message
- Truncate generic errors to 200 chars to avoid UI overflow
- Fix force-unwrap at WorkoutLiveActivity.swift:556 (widgetURL)
This commit is contained in:
Millian Lamiaux
2026-07-04 18:07:59 +02:00
parent 40ffb04f31
commit a17367081c
4 changed files with 36 additions and 2 deletions

View File

@@ -8,6 +8,8 @@
<array>
<string>health-records</string>
</array>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.security.application-groups</key>
<array/>
</dict>

View File

@@ -455,8 +455,12 @@ final class PlayerViewModel: ObservableObject {
)
liveActivityError = nil
observeActivityState()
} catch let authError as ActivityAuthorizationError {
liveActivityError = "Live Activities: \(authError.localizedDescription)"
} catch {
liveActivityError = error.localizedDescription
let msg = error.localizedDescription
let truncated = msg.count > 200 ? String(msg.prefix(200)) + "" : msg
liveActivityError = "Live Activity error: \(truncated)"
print("❌ Failed to start Live Activity: \(error.localizedDescription)")
}
}