La signature CustomWorkout(warmup: WorkoutStep?, cooldown: WorkoutStep?)
accepte nil. Or notre code passait toujours un WorkoutStep(goal: .time(
warmupMin * 60, .seconds)) — avec warmupMin = 0 on créait un step de
durée zéro qui déclenchait un assertion failure interne dans
CustomWorkout.init (precondition Apple non catchable depuis try/catch
Swift, crash dur).
Confirmé via crash report iOS sur build 1.2 (14) :
Thread 5 crashed → _assertionFailure
→ CustomWorkout.init(activity:location:displayName:warmup:blocks:
cooldown:)
EXC_BREAKPOINT (SIGTRAP)
Fix : let warmupStep: WorkoutStep? = warmupMin > 0 ? WorkoutStep(...)
: nil — idem cooldown. Permet aux apps web de pousser des séances 100%
décrites en blockSteps (renforcement avec items warmup + main + aux +
cooldown détaillés et nommés via displayName).
Bump version requis côté Mac avant rebuild TestFlight.