One Logo Pool Ball
HealthKit · IOS API REFERENCE

HKWorkoutBuilder

class · iOS 12.0+ · SDK 27.1

class HKWorkoutBuilder

Members (25)

method · iOS 12.0+

addMetadata

TypeScript
addMetadata(metadata: Record<string, unknown>, completion: ((arg0: boolean, arg1: (NativeError) | null) => void)): void
Swift declaration
func addMetadata(_ metadata: [String : Any]) async throws
method · iOS 12.0+

add

TypeScript
add(samples: Array<HKSample>, completion: ((arg0: boolean, arg1: (NativeError) | null) => void)): void
Swift declaration
func addSamples(_ samples: [HKSample]) async throws
method · iOS 16.0+

addWorkoutActivity

TypeScript
addWorkoutActivity(workoutActivity: HKWorkoutActivity, completion: ((arg0: boolean, arg1: (NativeError) | null) => void)): void
Swift declaration
func addWorkoutActivity(_ workoutActivity: HKWorkoutActivity) async throws
method · iOS 12.0+

addWorkoutEvents

TypeScript
addWorkoutEvents(workoutEvents: Array<HKWorkoutEvent>, completion: ((arg0: boolean, arg1: (NativeError) | null) => void)): void
Swift declaration
func addWorkoutEvents(_ workoutEvents: [HKWorkoutEvent]) async throws
method · iOS 12.0+

beginCollection

TypeScript
beginCollection(startDate: globalThis.Date, completion: ((arg0: boolean, arg1: (NativeError) | null) => void)): void
Swift declaration
func beginCollection(at startDate: Date) async throws
method · iOS 12.0+

discardWorkout

TypeScript
discardWorkout(): void
Swift declaration
func discardWorkout()
method · iOS 12.0+

elapsedTime

TypeScript
elapsedTime(date: globalThis.Date): number
Swift declaration
func elapsedTime(at date: Date) -> TimeInterval
method · iOS 12.0+

endCollection

TypeScript
endCollection(endDate: globalThis.Date, completion: ((arg0: boolean, arg1: (NativeError) | null) => void)): void
Swift declaration
func endCollection(at endDate: Date) async throws
method · iOS 12.0+

finishWorkout

TypeScript
finishWorkout(completion: ((arg0: (HKWorkout) | null, arg1: (NativeError) | null) => void)): void
Swift declaration
func finishWorkout() async throws -> HKWorkout?
init · iOS 12.0+

init

TypeScript
static init(healthStore: HKHealthStore, configuration: HKWorkoutConfiguration, device?: (HKDevice) | null): HKWorkoutBuilder
Swift declaration
init(healthStore: HKHealthStore, configuration: HKWorkoutConfiguration, device: HKDevice?)
method · iOS 12.0+

seriesBuilder

TypeScript
seriesBuilder(seriesType: HKSeriesType): (HKSeriesBuilder) | null
Swift declaration
func seriesBuilder(for seriesType: HKSeriesType) -> HKSeriesBuilder?
method · iOS 12.0+

statistics

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

updateActivity

TypeScript
updateActivityUuidAddingCompletion(UUID: string, metadata: Record<string, unknown>, completion: ((arg0: boolean, arg1: (NativeError) | null) => void)): void
Swift declaration
func updateActivity(uuid UUID: UUID, adding metadata: [String : Any]) async throws
method · iOS 16.0+

updateActivity

TypeScript
updateActivityUuidEndCompletion(UUID: string, endDate: globalThis.Date, completion: ((arg0: boolean, arg1: (NativeError) | null) => void)): void
Swift declaration
func updateActivity(uuid UUID: UUID, end endDate: Date) async throws
get · iOS 16.0+

allStatistics

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

device

TypeScript
get device(): (HKDevice) | null
Swift declaration
@NSCopying var device: HKDevice? { get }
get · iOS 12.0+

endDate

TypeScript
get endDate(): (globalThis.Date) | null
Swift declaration
var endDate: Date? { get }
get · iOS 12.0+

metadata

TypeScript
get metadata(): Record<string, unknown>
Swift declaration
var metadata: [String : Any] { get }
get · iOS 12.0+

startDate

TypeScript
get startDate(): (globalThis.Date) | null
Swift declaration
var startDate: Date? { get }
get · iOS 16.0+

workoutActivities

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

workoutConfiguration

TypeScript
get workoutConfiguration(): HKWorkoutConfiguration
Swift declaration
@NSCopying var workoutConfiguration: HKWorkoutConfiguration { get }
get · iOS 12.0+

workoutEvents

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

zoneConfiguration

TypeScript
zoneConfiguration(quantityType: HKQuantityType): Promise<(HKWorkoutZoneConfiguration) | null>
Swift declaration
func zoneConfiguration(for quantityType: HKQuantityType) async throws -> HKWorkoutZoneConfiguration?

Returns the zone configuration being used for the specified quantity type in this workout. If a custom configuration has been set via `setZoneConfiguration(_:for:)`, that configuration is returned. Otherwise, this method fetches and returns the user's preferred workout zone configuration from the health store. - Parameter quantityType: The quantity type to retrieve the configuration for. - Returns: The active zone configuration, or nil if no custom configuration has been set and the user has no preferred configuration for the quantity type. - Throws: An error if the configuration cannot be retrieved.

method · iOS 27.0+

setCustomZoneConfiguration

TypeScript
setCustomZoneConfiguration(configuration: (HKWorkoutZoneConfiguration) | null, quantityType: HKQuantityType): Promise<void>
Swift declaration
func setCustomZoneConfiguration(_ configuration: HKWorkoutZoneConfiguration?, for quantityType: HKQuantityType) async throws

Sets the zone configuration for the specified quantity type for this workout. In order to provide a custom workout zone configuration, this must be called before beginning collection on the builder. If a custom configuration is not provided, the user's preferred workout zone configuration will be used for zone calculations. - Parameter configuration: The zone configuration to use. Setting to `nil` will remove any custom configuration and use the preferred zone configuration for the quantity type. - Parameter quantityType: The quantity type to apply the configuration to. - Throws: An error if the configuration cannot be set or is incompatible with the quantity type.

method · iOS 27.0+

zoneGroup

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

Returns the current zone group for the specified quantity type, including real-time duration calculations. - Parameter quantityType: The quantity type to retrieve zone information for. - Returns: The zone group with current time-in-zone data, or nil if no zone information is available.

Skipped declarations

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

HKWorkoutBuilder.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

All HealthKit types →