One Logo Pool Ball
App Services · IOS API REFERENCE

WorkoutKit

Create, preview, and sync workout compositions to the Workout app.

29 types

141 callable entries

14 skipped

91% entry coverage

Generated from iOS SDK 27.1. Availability is shown on each declaration; permissions and entitlements still apply.

Types

Functions and constants

get · iOS 17.0+

workoutPlan

TypeScript
get workoutPlan(): Promise<(WorkoutPlan) | null>
Swift declaration
var workoutPlan: WorkoutPlan? { get async throws }

Skipped declarations

14 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

WorkoutAlert.heartRate(_:unit:)

Static protocol requirements cannot be called through an instance.

WorkoutAlert.heartRate(zone:)

Static protocol requirements cannot be called through an instance.

WorkoutAlert.cadence(_:unit:)

Static protocol requirements cannot be called through an instance.

WorkoutAlert.cadence(_:unit:)

Static protocol requirements cannot be called through an instance.

PowerThresholdAlert.metric

The iOS SDK compiler rejected this binding: setter for 'metric' is only available in iOS 17.4 or newer

WorkoutAlert.power(_:unit:)

Static protocol requirements cannot be called through an instance.

WorkoutAlert.power(_:unit:metric:)

Static protocol requirements cannot be called through an instance.

PowerRangeAlert.metric

The iOS SDK compiler rejected this binding: setter for 'metric' is only available in iOS 17.4 or newer

WorkoutAlert.power(_:unit:)

Static protocol requirements cannot be called through an instance.

WorkoutAlert.power(_:unit:metric:)

Static protocol requirements cannot be called through an instance.

WorkoutAlert.power(zone:)

Static protocol requirements cannot be called through an instance.

WorkoutAlert.speed(_:unit:metric:)

Static protocol requirements cannot be called through an instance.

WorkoutAlert.speed(_:unit:metric:)

Static protocol requirements cannot be called through an instance.

protocol implementation WorkoutAlert

synchronous protocol result requires an active JS-thread call; delegate invocations can escape it