HKWorkoutManager - 사용자 운동 데이터 추적을 위해 사용되는 HealthKit API 모듈

기본 정보

HKWorkoutManager 모듈은 애플워치 앱에서 애플워치 자체적으로 제공하는 사용자 운동 데이터를 기록하고 처리하는데 사용되는 HealthKit API를 활성화하고, 운동 데이터를 기록 및 조회하는데 사용됩니다.
HKWorkoutManager 파일은 HealthKit 폴더 내에 위치하고 있습니다.

주요 로직 명세

객체 개요

HKWorkoutManager 는 앱의 루트 파일인 ContentView 에서 인스턴스가 초기화되어 자식 View들로 전달되는 구조로 구현되어 있습니다.
이 객체를 활용해서 사용자의 운동 세션을 기록하고, 돌아가고 있는 HealthKit 운동 세션의 심박수 및 칼로리 데이터를 수집해서 앱 내에서 사용하고 있습니다.
HKWorkoutMananger 에 현재 번핏 애플워치 앱 내에서 적용되어 있는 사항들은 다음과 같습니다.
운동 세션의 운동 종류: HKWorkoutActivityType.traditionalStrengthTraining
HealthKit을 활용해서 운동 세션을 시작할 때, HKWorkoutActivityType 이라고 하는 운동 종류를 명시해야 합니다. 번핏 애플워치 앱은 traditionalStrengthTraining 타입이 적용되어 있습니다.
수집하는 데이터 종류
칼로리 ( HealthKit API에서 activeEnergyBurned 으로 표시되는, 운동 시 소모된 칼로리 데이터 )
심박 ( HealthKit API에서 heartRate 으로 표시되는, 심박수 데이터 )

주요 메서드 명세

requestAuthorization()
startWorkout()
pause()
resume()
endWorkout()
updateForStatistics(_ statistics: HKStatistics?)