Contents

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