- HealthKit 주요 데이터타입 hierarchy
HKObjectType
- CharacteristcType
- SampleType
- QuantityType
- CategoryType
- WorkoutType
HKObject의 프로퍼티
- uuid : HealthKit object에 대한 고유 식별자
- sourceRevision : 해당 HealthKit object를 생성한 app 또는 기기
- source : 해당 sample의 source
- name : source의 이름
- bundleIdentifier : source의 식별자
- version(optional) : 해당 sample을 저장한 앱 또는 기기의 버전
- productType(optional) : 해당 sample을 저장하는데 사용한 기기
- operatingSystemVersion : 해당 sample을 저장하는데 사용된 운영체제 식별 문자열
- device(optional) : 해당 HealthKit object에 대한 데이터를 생성한 장치
- metadata(optional) : HealthKit object에 대한 메타데이터
- Key 종류 : ExternalUUID, TimeZone, WasUserEntered, DeviceSerialNumber .. 등
Sample의 프로퍼티
- StartDate : sample 시작 시간
- EndDate : sample 끝난 시간
- hasUndeterminedDuration : sample에 알 수 없는 기간이 있는 지 여부
- sampleType : sample Type
Quantity의 프로퍼티
- quantity : 값
- count : 이 sample에 포함된 quantity의 수
- quantityType : quantity Type
Category의 프로퍼티
- categoryType : category Type
- value : 카테고리 enum value
Workout의 프로퍼티
- duration : 운동 시간
- totalDistance(optional) : 운동 중 이동한 총 거리
- totalEnergyBurned(optional) : 운동 중 소모된 총 활성화에너지
- workoutActivityType : 운동 유형
- workoutEvent(optional) : 운동 이벤트 개체의 유형
- totalFlightsClimbed(optional) : 운동 중 올라간 총 계단 수
- totalSwimmingStrokeCount(optional) : 운동의 총 stroke 수
데이터 출력 예시
1) WorkoutType 인 경우
: HKObject + Sample + Workout 프로퍼티 출력 가능
2) QuantityType 인 경우
: HKObject + Sample + Quantity 프로퍼티 출력 가능
3) CategoryType 인 경우
: HKObject + Sample + Category 프로퍼티 출력 가능