Vitesse en km/h sur la montre et dans la Live Activity

Suite de la demande : voir des km/h en courant, ce que l'app Exercice
d'Apple ne permet pas (vitesse réservée au vélo, allure min/km imposée en
course, aucun réglage).

La vitesse instantanée vient de HealthKit lui-même : HKLiveWorkoutDataSource
collecte .runningSpeed d'office en course extérieure (Series 6+) et
.cyclingSpeed à vélo (watchOS 11+). Elle est lue en mostRecentQuantity —
c'est la vitesse à l'instant t qu'on veut afficher, pas la moyenne de la
séance. Sur un appareil qui ne la produit pas, repli sur distance/temps.

Affichée sur les trois surfaces : écran de séance de la montre, Live
Activity (bannière + île dépliée) et vue native /live.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sylvain Bettinelli
2026-08-11 13:31:13 +00:00
parent 21d39f2e98
commit 4f8699fd37
6 changed files with 71 additions and 3 deletions

View File

@@ -23,6 +23,10 @@ struct CoachLiveActivityAttributes: ActivityAttributes {
var heartRate: Double
var activeEnergyKcal: Double
var distanceMeters: Double
/// Vitesse instantanée en km/h (mesurée par la montre, sinon moyenne
/// dérivée). Apple n'affiche jamais de km/h en course : c'est le
/// principal apport de cette Live Activity face à l'app Exercice.
var speedKmh: Double = 0
var elapsedSec: TimeInterval
var isLive: Bool // true = direct ; false = perdu/en pause
/// Séance mise en pause sur la montre. Pilote le libellé du bouton