One Logo Pool Ball
HealthKit · IOS API REFERENCE

HKWorkout

class · iOS 8.0+ · SDK 27.1

class HKWorkout

Members (19)

init · iOS 8.0+ · Deprecated in iOS 17.0

init

TypeScript
static initActivityTypeStartEnd(workoutActivityType: HKWorkoutActivityType, startDate: globalThis.Date, endDate: globalThis.Date): HKWorkout
Swift declaration
convenience init(activityType workoutActivityType: HKWorkoutActivityType, start startDate: Date, end endDate: Date)
init · iOS 9.0+ · Deprecated in iOS 17.0

init

TypeScript
static initActivityTypeStartEndDurationTotalEnergyBurnedTotalDistanceDeviceMetadata(workoutActivityType: HKWorkoutActivityType, startDate: globalThis.Date, endDate: globalThis.Date, duration: number, totalEnergyBurned?: (HKQuantity) | null, totalDistance?: (HKQuantity) | null, device?: (HKDevice) | null, metadata?: (Record<string, unknown>) | null): HKWorkout
Swift declaration
convenience init(activityType workoutActivityType: HKWorkoutActivityType, start startDate: Date, end endDate: Date, duration: TimeInterval, totalEnergyBurned: HKQuantity?, totalDistance: HKQuantity?, device: HKDevice?, metadata: [String : Any]?)
init · iOS 8.0+ · Deprecated in iOS 17.0

init

TypeScript
static initActivityTypeStartEndDurationTotalEnergyBurnedTotalDistanceMetadata(workoutActivityType: HKWorkoutActivityType, startDate: globalThis.Date, endDate: globalThis.Date, duration: number, totalEnergyBurned?: (HKQuantity) | null, totalDistance?: (HKQuantity) | null, metadata?: (Record<string, unknown>) | null): HKWorkout
Swift declaration
convenience init(activityType workoutActivityType: HKWorkoutActivityType, start startDate: Date, end endDate: Date, duration: TimeInterval, totalEnergyBurned: HKQuantity?, totalDistance: HKQuantity?, metadata: [String : Any]?)
init · iOS 9.0+ · Deprecated in iOS 17.0

init

TypeScript
static initActivityTypeStartEndWorkoutEventsTotalEnergyBurnedTotalDistanceDeviceMetadata(workoutActivityType: HKWorkoutActivityType, startDate: globalThis.Date, endDate: globalThis.Date, workoutEvents?: (Array<HKWorkoutEvent>) | null, totalEnergyBurned?: (HKQuantity) | null, totalDistance?: (HKQuantity) | null, device?: (HKDevice) | null, metadata?: (Record<string, unknown>) | null): HKWorkout
Swift declaration
convenience init(activityType workoutActivityType: HKWorkoutActivityType, start startDate: Date, end endDate: Date, workoutEvents: [HKWorkoutEvent]?, totalEnergyBurned: HKQuantity?, totalDistance: HKQuantity?, device: HKDevice?, metadata: [String : Any]?)
init · iOS 8.0+ · Deprecated in iOS 17.0

init

TypeScript
static initActivityTypeStartEndWorkoutEventsTotalEnergyBurnedTotalDistanceMetadata(workoutActivityType: HKWorkoutActivityType, startDate: globalThis.Date, endDate: globalThis.Date, workoutEvents?: (Array<HKWorkoutEvent>) | null, totalEnergyBurned?: (HKQuantity) | null, totalDistance?: (HKQuantity) | null, metadata?: (Record<string, unknown>) | null): HKWorkout
Swift declaration
convenience init(activityType workoutActivityType: HKWorkoutActivityType, start startDate: Date, end endDate: Date, workoutEvents: [HKWorkoutEvent]?, totalEnergyBurned: HKQuantity?, totalDistance: HKQuantity?, metadata: [String : Any]?)
init · iOS 11.0+ · Deprecated in iOS 17.0

init

TypeScript
static initActivityTypeStartEndWorkoutEventsTotalEnergyBurnedTotalDistanceTotalFlightsClimbedDeviceMetadata(workoutActivityType: HKWorkoutActivityType, startDate: globalThis.Date, endDate: globalThis.Date, workoutEvents?: (Array<HKWorkoutEvent>) | null, totalEnergyBurned?: (HKQuantity) | null, totalDistance?: (HKQuantity) | null, totalFlightsClimbed?: (HKQuantity) | null, device?: (HKDevice) | null, metadata?: (Record<string, unknown>) | null): HKWorkout
Swift declaration
convenience init(activityType workoutActivityType: HKWorkoutActivityType, start startDate: Date, end endDate: Date, workoutEvents: [HKWorkoutEvent]?, totalEnergyBurned: HKQuantity?, totalDistance: HKQuantity?, totalFlightsClimbed: HKQuantity?, device: HKDevice?, metadata: [String : Any]?)
init · iOS 10.0+ · Deprecated in iOS 17.0

init

TypeScript
static initActivityTypeStartEndWorkoutEventsTotalEnergyBurnedTotalDistanceTotalSwimmingStrokeCountDeviceMetadata(workoutActivityType: HKWorkoutActivityType, startDate: globalThis.Date, endDate: globalThis.Date, workoutEvents?: (Array<HKWorkoutEvent>) | null, totalEnergyBurned?: (HKQuantity) | null, totalDistance?: (HKQuantity) | null, totalSwimmingStrokeCount?: (HKQuantity) | null, device?: (HKDevice) | null, metadata?: (Record<string, unknown>) | null): HKWorkout
Swift declaration
convenience init(activityType workoutActivityType: HKWorkoutActivityType, start startDate: Date, end endDate: Date, workoutEvents: [HKWorkoutEvent]?, totalEnergyBurned: HKQuantity?, totalDistance: HKQuantity?, totalSwimmingStrokeCount: HKQuantity?, device: HKDevice?, metadata: [String : Any]?)
method · iOS 16.0+

statistics

TypeScript
statistics(quantityType: HKQuantityType): (HKStatistics) | null
Swift declaration
func statistics(for quantityType: HKQuantityType) -> HKStatistics?
get · iOS 16.0+

allStatistics

TypeScript
get allStatistics(): NativeMap<HKQuantityType, HKStatistics>
Swift declaration
var allStatistics: [HKQuantityType : HKStatistics] { get }
get · iOS 8.0+

duration

TypeScript
get duration(): number
Swift declaration
var duration: TimeInterval { get }
get · iOS 8.0+ · Deprecated in iOS 100000.0

totalDistance

TypeScript
get totalDistance(): (HKQuantity) | null
Swift declaration
var totalDistance: HKQuantity? { get }
get · iOS 8.0+ · Deprecated in iOS 18.0

totalEnergyBurned

TypeScript
get totalEnergyBurned(): (HKQuantity) | null
Swift declaration
var totalEnergyBurned: HKQuantity? { get }
get · iOS 11.0+ · Deprecated in iOS 18.0

totalFlightsClimbed

TypeScript
get totalFlightsClimbed(): (HKQuantity) | null
Swift declaration
var totalFlightsClimbed: HKQuantity? { get }
get · iOS 10.0+ · Deprecated in iOS 18.0

totalSwimmingStrokeCount

TypeScript
get totalSwimmingStrokeCount(): (HKQuantity) | null
Swift declaration
var totalSwimmingStrokeCount: HKQuantity? { get }
get · iOS 16.0+

workoutActivities

TypeScript
get workoutActivities(): Array<HKWorkoutActivity>
Swift declaration
var workoutActivities: [HKWorkoutActivity] { get }
get · iOS 8.0+

workoutActivityType

TypeScript
get workoutActivityType(): HKWorkoutActivityType
Swift declaration
var workoutActivityType: HKWorkoutActivityType { get }
get · iOS 8.0+

workoutEvents

TypeScript
get workoutEvents(): (Array<HKWorkoutEvent>) | null
Swift declaration
var workoutEvents: [HKWorkoutEvent]? { get }
get · iOS 27.0+

zoneGroupsByType

TypeScript
get zoneGroupsByType(): (NativeMap<HKQuantityType, HKWorkoutZoneGroup>) | null
Swift declaration
var zoneGroupsByType: [HKQuantityType : HKWorkoutZoneGroup]? { get }

A dictionary mapping quantity types to their corresponding zone groups for this workout.

method · iOS 27.0+

zoneGroup

TypeScript
zoneGroup(quantityType: HKQuantityType): (HKWorkoutZoneGroup) | null
Swift declaration
func zoneGroup(for quantityType: HKQuantityType) -> HKWorkoutZoneGroup?

Skipped declarations

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

HKWorkout.init()

inherited init: cannot prove legal (class declares 14 custom initializers)

All HealthKit types →