---
title: "init(configuration:)"
framework: healthkit
role: symbol
role_heading: Initializer
path: "healthkit/hkworkoutsession/init(configuration:)"
---

# init(configuration:)

Returns a newly instantiated workout session.

## Declaration

```swift
init(configuration workoutConfiguration: HKWorkoutConfiguration) throws
```

## Parameters

- `workoutConfiguration`: A workout configuration object containing the configuration data for this workout session.

## Return Value

Return Value A newly initialized workout session object, or nil if an error occurred.

## Discussion

Discussion HealthKit uses the session’s configuration data to fine tune Apple Watch’s sensors for the selected activity. All workout sessions generate higher-frequency heart rate samples; however, an outdoor cycling activity generates more accurate location data, while an indoor cycling activity does not.

## See Also

### Deprecated methods

- [init(activityType:locationType:)](healthkit/hkworkoutsession/init(activitytype:locationtype:).md)
- [activityType](healthkit/hkworkoutsession/activitytype.md)
- [locationType](healthkit/hkworkoutsession/locationtype.md)
