New Ways to Work with Workouts
New Ways to Work with Workouts
WWDC 2018
Privacy and Authorization
- Proportional Collection
- HealthKit authorization can change
- Ask for ⚠️
- Only what you need
- Only when you need it
- Every time you need it
Workout App Lifecycle
HKWorkoutSession ( watchOS )
- Prepares sensors for data collection
- Allows background running
- Controls workout state
- Generates events
- Collect data generated by the device ( new )
- Save a workout ( new )
HKWorkoutBuilder ( new )
- Creates and saves an HKWorkout
- Add samples, events, and metadata
HKLiveWorkoutBuilder ( new )
watchOS only
- Subclass of HKWorkoutBuilder
- Automatic sample and event collection
Setup and Start ( new )
- HKWorkoutBuilder
- HKLiveWorkoutBuilder ( watchOS )
Collect Data ( new )
- Samples
- Events
- Metadata
- HKLiveWorkoutDataSource ( watchOS )
- Automatically collects data specific to the workout
- Data types to collect can be customized
User Interface
- Update displayed statistics
- Track elapsed time
Control State
HKWorkoutSession (watchOS)
End a Workout
Save a Workout
Demo
Step 1
- Set capabilities
Step 2
- Set Privacy — Health Share Usage Description
- Set Privacy — Health Update Usage Description
Step 3
- Authorizations
Step 4
- Sessions
Workout Recovery ( wathcOS ) ( new )
- App automatically relaunched if it crashes during a workout 👍
- Session and builder restored in their previous state
- Data source must be setup again