fix CoachWorkoutKit : retire preview() (API absente du SDK), garde schedule()
L'API WorkoutScheduler.shared.preview(plan) n'existe pas (ou pas avec cette signature) dans le SDK iOS de l'utilisateur — compile error 'Value of type WorkoutScheduler has no...'. On garde uniquement WorkoutScheduler.shared.schedule(plan, at: now), qui est l'API stable depuis iOS 17.0. Effet : le workout devient immédiatement disponible dans Apple Watch → Exercice → Workouts personnalisés. Le 1er schedule déclenche automatiquement la dialog d'autorisation iOS 'Coach Hypnotruck souhaite ajouter des workouts à votre Apple Watch' si pas encore accordée. Plus besoin du authorizationState query manuel. Trade-off : pas de sheet de prévisualisation système avant ajout (l'user ne voit pas la structure dans une UI native avant que le workout soit ajouté). Mais c'est le bon compromis pour avoir un build qui marche. On pourra réintroduire preview() plus tard si on bump le deployment target.
This commit is contained in:
@@ -140,17 +140,10 @@ public class CoachWorkoutKitPlugin: CAPPlugin {
|
||||
// 7. Plan
|
||||
let plan = WorkoutPlan(.custom(custom))
|
||||
|
||||
// 8. Request authorization si pas déjà accordée
|
||||
let authState = await WorkoutScheduler.shared.authorizationState
|
||||
if authState != .authorized {
|
||||
_ = try await WorkoutScheduler.shared.requestAuthorization()
|
||||
}
|
||||
|
||||
// 9. Présenter la sheet système (iOS 17.4+) ou scheduler direct (17.0-17.3)
|
||||
if #available(iOS 17.4, *) {
|
||||
try await WorkoutScheduler.shared.preview(plan)
|
||||
} else {
|
||||
// Fallback : schedule "now" pour rendre dispo sur Watch
|
||||
// 8. Schedule pour "maintenant" — l'API la plus stable iOS 17.0+.
|
||||
// Le workout devient immédiatement disponible dans Apple Watch →
|
||||
// Exercice → Workouts personnalisés. Le 1er schedule déclenche la
|
||||
// demande d'autorisation native si besoin.
|
||||
let now = Calendar.current.dateComponents(
|
||||
[.year, .month, .day, .hour, .minute],
|
||||
from: Date()
|
||||
@@ -158,4 +151,3 @@ public class CoachWorkoutKitPlugin: CAPPlugin {
|
||||
_ = try await WorkoutScheduler.shared.schedule(plan, at: now)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user