init(activityType:start:end:duration:totalEnergyBurned:totalDistance:device:metadata:)
Instantiates a new workout activity that includes the device that produced the sample data.
Declaration
convenience init(activityType workoutActivityType: HKWorkoutActivityType, start startDate: Date, end endDate: Date, duration: TimeInterval, totalEnergyBurned: HKQuantity?, totalDistance: HKQuantity?, device: HKDevice?, metadata: [String : Any]?)Parameters
- workoutActivityType:
The type of activity performed during the workout. For a complete list of activity types, see Hkworkoutactivitytype.
- startDate:
The date and time when the activity started.
- endDate:
The date and time when the activity ended. This date must be equal to or later than the start date.
- duration:
A time interval representing the workout’s actual duration. Passing a nonzero value sets the workout’s Duration property. If you pass 0, this method calculates the Duration property based on the workout’s start and end dates.
- totalEnergyBurned:
A quantity using energy units, or
nil. This property sets the workout’s Totalenergyburned property. It represents the total active energy burned during the workout. - totalDistance:
A quantity using length units, or
nil. This property sets the workout’s Totaldistance property. - device:
The device that generated the data for this sample.
- metadata:
The metadata dictionary contains extra information describing this workout. The dictionary’s keys are all Nsstring objects . The values may be Nsstring, Nsnumber, or Nsdate objects. For a complete list of predefined metadata keys, see Metadata Keys.
Using predefined keys helps facilitate sharing data between apps; however, you are also encouraged to create your own, custom keys as needed to extend the workout’s capabilities.
Return Value
A workout object with the provided duration, total energy burned, total distance, device, and metadata properties. The workoutEvents property is set to nil.
Discussion
This method returns a workout with the specified duration, total energy burned, total distance, device, and metadata. The workoutEvents property is set to nil.
If the total energy burned or total distance are non-zero values, create a set of corresponding samples that add up to the calculated totals. Associate these samples with the workout by calling the health store’s add(_:to:completion:) method.
See Also
Related Documentation
Creating workouts
init(activityType:start:end:)init(activityType:start:end:duration:totalEnergyBurned:totalDistance:metadata:)init(activityType:start:end:workoutEvents:totalEnergyBurned:totalDistance:metadata:)init(activityType:start:end:workoutEvents:totalEnergyBurned:totalDistance:device:metadata:)init(activityType:start:end:workoutEvents:totalEnergyBurned:totalDistance:totalFlightsClimbed:device:metadata:)init(activityType:start:end:workoutEvents:totalEnergyBurned:totalDistance:totalSwimmingStrokeCount:device:metadata:)