-
Notifications
You must be signed in to change notification settings - Fork 507
HealthKit watchOS xcode15.0 b1
Haritha Mohan edited this page Sep 5, 2023
·
5 revisions
#HealthKit.framework https://github.com/xamarin/xamarin-macios/pull/18927
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h 2023-05-26 00:26:57
@@ -0,0 +1,254 @@
+//
+// HKCategoryValues.h
+// HealthKit
+//
+// Copyright © 2022-2023 Apple, Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#import <HealthKit/HKDefines.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @enum HKCategoryValue
+ @abstract This category value is to be used for types which don't have a specific value defined.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValue) {
+ HKCategoryValueNotApplicable = 0,
+} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValueAppetiteChanges
+ @abstract Set of values to indicate the direction of appetite changes.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueAppetiteChanges) {
+ HKCategoryValueAppetiteChangesUnspecified = 0,
+ HKCategoryValueAppetiteChangesNoChange = 1,
+ HKCategoryValueAppetiteChangesDecreased = 2,
+ HKCategoryValueAppetiteChangesIncreased = 3,
+} API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0));
+
+/*!
+ @enum HKCategoryValueAppleStandHour
+ @abstract Set of values that may be used for HKCategorySamples with the HKCategoryTypeIdentifierAppleStandHour
+ type.
+
+ @constant HKCategoryValueAppleStandHourStood The user stood up and moved a little for at least one minute during
+ the sample.
+ @constant HKCategoryValueAppleStandHourIdle The user did not stand up and move a little for at least one
+ continuous minute during the sample.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueAppleStandHour) {
+ HKCategoryValueAppleStandHourStood = 0,
+ HKCategoryValueAppleStandHourIdle = 1,
+} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValueAppleWalkingSteadinessEvent
+ @abstract Set of values that may be used for HKCategorySamples with the
+ HKCategoryTypeIdentifierAppleWalkingSteadinessEvent type.
+
+ @constant HKCategoryValueAppleWalkingSteadinessEventInitialLow This constant defines Apple Walking
+ Steadiness events associated with the user's
+ walking steadiness being low.
+ @constant HKCategoryValueAppleWalkingSteadinessEventInitialVeryLow This constant defines Apple Walking
+ Steadiness events associated with the user's
+ walking steadiness being very low.
+ @constant HKCategoryValueAppleWalkingSteadinessEventRepeatLow This constant defines Apple Walking
+ Steadiness events associated with the user's
+ walking steadiness remaining low over a
+ significant time period.
+ @constant HKCategoryValueAppleWalkingSteadinessEventRepeatVeryLow This constant defines Apple Walking
+ Steadiness events associated with the user's
+ walking steadiness remaining very low over a
+ significant time period.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueAppleWalkingSteadinessEvent) {
+ HKCategoryValueAppleWalkingSteadinessEventInitialLow = 1,
+ HKCategoryValueAppleWalkingSteadinessEventInitialVeryLow = 2,
+ HKCategoryValueAppleWalkingSteadinessEventRepeatLow = 3,
+ HKCategoryValueAppleWalkingSteadinessEventRepeatVeryLow = 4,
+} API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValueCervicalMucusQuality
+ @abstract Set of values that may be used for HKCategorySamples with the
+ HKCategoryTypeIdentifierCervicalMucusQuality type.
+ @discussion These cervical mucus quality values are ordered from least-fertile (Dry) to most-fertile (EggWhite).
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueCervicalMucusQuality) {
+ HKCategoryValueCervicalMucusQualityDry = 1,
+ HKCategoryValueCervicalMucusQualitySticky = 2,
+ HKCategoryValueCervicalMucusQualityCreamy = 3,
+ HKCategoryValueCervicalMucusQualityWatery = 4,
+ HKCategoryValueCervicalMucusQualityEggWhite = 5,
+} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValueContraceptive
+ @abstract Set of values to indicate the type of contraceptive.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueContraceptive) {
+ HKCategoryValueContraceptiveUnspecified = 1,
+ HKCategoryValueContraceptiveImplant = 2,
+ HKCategoryValueContraceptiveInjection = 3,
+ HKCategoryValueContraceptiveIntrauterineDevice = 4,
+ HKCategoryValueContraceptiveIntravaginalRing = 5,
+ HKCategoryValueContraceptiveOral = 6,
+ HKCategoryValueContraceptivePatch = 7,
+} API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0));
+
+/*!
+ @enum HKCategoryValueEnvironmentalAudioExposureEvent
+ @abstract Specifies the kind of environmental audio exposure event associated with the sample.
+
+ @constant HKCategoryValueEnvironmentalAudioExposureEventMomentaryLimit This constant defines environmental
+ events associated with the user being
+ exposed to a loud environment during a
+ short timespan.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueEnvironmentalAudioExposureEvent) {
+ HKCategoryValueEnvironmentalAudioExposureEventMomentaryLimit = 1,
+} API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValueHeadphoneAudioExposureEvent
+ @abstract Specifies the kind of headphone audio exposure event associated with the sample.
+
+ @constant HKCategoryValueHeadphoneAudioExposureEventSevenDayLimit This constant defines headphone events
+ associated with the user being exposed to
+ significant audio levels throught a
+ seven-day period.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueHeadphoneAudioExposureEvent) {
+ HKCategoryValueHeadphoneAudioExposureEventSevenDayLimit = 1,
+} API_AVAILABLE(ios(14.2), watchos(7.1), macCatalyst(14.2), macos(13.0));
+
+/*!
+ @enum HKCategoryValueLowCardioFitnessEvent
+ @abstract Specifies the type of cardio fitness event.
+
+ @constant HKCategoryValueLowCardioFitnessEventLowFitness This constant defines an event where a VO2Max
+ measurement was recorded that falls into the "Low"
+ fitness classification
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueLowCardioFitnessEvent) {
+ HKCategoryValueLowCardioFitnessEventLowFitness = 1,
+} API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0));
+
+/*!
+ @enum HKCategoryValueMenstrualFlow
+ @abstract Set of values to indicate the type of menstrual flow.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueMenstrualFlow) {
+ HKCategoryValueMenstrualFlowUnspecified = 1,
+ HKCategoryValueMenstrualFlowLight = 2,
+ HKCategoryValueMenstrualFlowMedium = 3,
+ HKCategoryValueMenstrualFlowHeavy = 4,
+ HKCategoryValueMenstrualFlowNone API_AVAILABLE(ios(12.0), watchos(5.0), macCatalyst(13.0), macos(13.0)) = 5,
+} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValueOvulationTestResult
+ @abstract Set of values that may be used for HKCategorySamples with the
+ HKCategoryTypeIdentifierOvulationTestResult type.
+ @discussion This category value tracks the result of a home ovulation test that use surges in hormone levels to
+ indicate fertility.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueOvulationTestResult) {
+ HKCategoryValueOvulationTestResultNegative = 1,
+ HKCategoryValueOvulationTestResultLuteinizingHormoneSurge API_AVAILABLE(ios(13.0), watchos(6.0)) = 2,
+ HKCategoryValueOvulationTestResultPositive API_DEPRECATED_WITH_REPLACEMENT("HKCategoryValueOvulationTestResultLuteinizingHormoneSurge", ios(9.0, 13.0), watchos(2.0, 6.0)) = HKCategoryValueOvulationTestResultLuteinizingHormoneSurge,
+ HKCategoryValueOvulationTestResultIndeterminate = 3,
+ HKCategoryValueOvulationTestResultEstrogenSurge API_AVAILABLE(ios(13.0), watchos(6.0)) = 4,
+} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValuePregnancyTestResult
+ @abstract Set of values that may be used for HKCategorySamples with the
+ HKCategoryTypeIdentifierPregnancyTestResult type.
+ @discussion This category value tracks the result of a home pregnancy test that checks for presence of the human
+ chorionic gonadotrophin (hCG) hormone in urine to confirm pregnancy.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValuePregnancyTestResult) {
+ HKCategoryValuePregnancyTestResultNegative = 1,
+ HKCategoryValuePregnancyTestResultPositive = 2,
+ HKCategoryValuePregnancyTestResultIndeterminate = 3,
+} API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValuePresence
+ @abstract Set of values to indicate whether a data type is present or not.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValuePresence) {
+ HKCategoryValuePresencePresent = 0,
+ HKCategoryValuePresenceNotPresent = 1,
+} API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0));
+
+/*!
+ @enum HKCategoryValueProgesteroneTestResult
+ @abstract Set of values that may be used for HKCategorySamples with the
+ HKCategoryTypeIdentifierProgesteroneTestResult type.
+ @discussion This category value tracks the result of a home ovulation confirmation test that use surges in hormone
+ levels to confirm if ovulation has occurred.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueProgesteroneTestResult) {
+ HKCategoryValueProgesteroneTestResultNegative = 1,
+ HKCategoryValueProgesteroneTestResultPositive = 2,
+ HKCategoryValueProgesteroneTestResultIndeterminate = 3,
+} API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0));
+
+/*!
+ @enum HKCategoryValueSeverity
+ @abstract Set of values to indicate the severity of a symptom.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueSeverity) {
+ HKCategoryValueSeverityUnspecified = 0,
+ HKCategoryValueSeverityNotPresent = 1,
+ HKCategoryValueSeverityMild = 2,
+ HKCategoryValueSeverityModerate = 3,
+ HKCategoryValueSeveritySevere = 4,
+} API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0));
+
+/*!
+ @enum HKCategoryValueSleepAnalysis
+ @abstract Set of values that may be used for HKCategorySamples with the HKCategoryTypeIdentifierSleepAnalysis
+ type.
+ @discussion To represent the user being both in bed and asleep, use two or more samples with overlapping times. By
+ comparing the start and end times of these samples, it is possible to calculate a number of secondary
+ statistics:
+ 1) The amount of time it took for the user to fall asleep
+ 2) The percentage of time in bed that the user actually spent sleeping,
+ 3) The number of times the user woke while in bed
+ 4) The total amount of time spent both in bed and asleep.
+
+ @constant HKCategoryValueSleepAnalysisInBed The user is in bed.
+ @constant HKCategoryValueSleepAnalysisAsleepUnspecified The user is asleep and no specific stage is specified.
+ @constant HKCategoryValueSleepAnalysisAwake The user is awake.
+ @constant HKCategoryValueSleepAnalysisAsleepCore Corresponds to Stages 1 and 2 of AASM scoring model.
+ @constant HKCategoryValueSleepAnalysisAsleepDeep Corresponds to Stage 3 of AASM scoring model.
+ @constant HKCategoryValueSleepAnalysisAsleepREM Corresponds to REM stage of AASM scoring model.
+ */
+typedef NS_ENUM(NSInteger, HKCategoryValueSleepAnalysis) {
+ HKCategoryValueSleepAnalysisInBed = 0,
+ HKCategoryValueSleepAnalysisAsleepUnspecified API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 1,
+ HKCategoryValueSleepAnalysisAsleep API_DEPRECATED_WITH_REPLACEMENT("HKCategoryValueSleepAnalysisAsleepUnspecified", ios(8.0, 16.0), watchos(2.0, 9.0), macCatalyst(13.0, 16.0), macos(13.0, 13.0)) = HKCategoryValueSleepAnalysisAsleepUnspecified,
+ HKCategoryValueSleepAnalysisAwake API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)) = 2,
+ HKCategoryValueSleepAnalysisAsleepCore API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 3,
+ HKCategoryValueSleepAnalysisAsleepDeep API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 4,
+ HKCategoryValueSleepAnalysisAsleepREM API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 5,
+} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+// MARK: Deprecated
+
+/*!
+@enum HKCategoryValueAudioExposureEvent
+@abstract Specifies the kind of audio exposure event associated with the sample.
+*/
+typedef NS_ENUM(NSInteger, HKCategoryValueAudioExposureEvent) {
+ HKCategoryValueAudioExposureEventLoudEnvironment API_DEPRECATED_WITH_REPLACEMENT("HKCategoryValueEnvironmentalAudioExposureEventMomentaryLimit", ios(13.0, 14.0), watchos(6.0, 7.0)) = 1,
+} API_DEPRECATED_WITH_REPLACEMENT("HKCategoryValueEnvironmentalAudioExposureEvent", ios(13.0, 14.0), watchos(6.0, 7.0));
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCharacteristicValues.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCharacteristicValues.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCharacteristicValues.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCharacteristicValues.h 2023-05-26 00:26:56
@@ -0,0 +1,87 @@
+//
+// HKCharacteristicValues.h
+// HealthKit
+//
+// Copyright © 2022-2023 Apple, Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @enum HKActivityMoveMode
+ @abstract This enumerated type is used to represent the activity mode for the user's move ring.
+
+ @constant HKActivityMoveModeActiveEnergy User's move ring is updated from Active Energy Burned
+ @constant HKActivityMoveModeAppleMoveTime User's move ring is updated from Apple Move Time
+ */
+typedef NS_ENUM(NSInteger, HKActivityMoveMode) {
+ HKActivityMoveModeActiveEnergy = 1,
+ HKActivityMoveModeAppleMoveTime = 2,
+} API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
+
+/*!
+ @enum HKBiologicalSex
+ @abstract This enumerated type is used to represent the biological sex of an individual.
+ */
+typedef NS_ENUM(NSInteger, HKBiologicalSex) {
+ HKBiologicalSexNotSet = 0,
+ HKBiologicalSexFemale = 1,
+ HKBiologicalSexMale = 2,
+ HKBiologicalSexOther API_AVAILABLE(ios(8.2), watchos(2.0), macCatalyst(13.0), macos(13.0)) = 3,
+} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKBloodType
+ @abstract This enumerated type is used to represent the blood type of an individual.
+ */
+typedef NS_ENUM(NSInteger, HKBloodType) {
+ HKBloodTypeNotSet = 0,
+ HKBloodTypeAPositive = 1,
+ HKBloodTypeANegative = 2,
+ HKBloodTypeBPositive = 3,
+ HKBloodTypeBNegative = 4,
+ HKBloodTypeABPositive = 5,
+ HKBloodTypeABNegative = 6,
+ HKBloodTypeOPositive = 7,
+ HKBloodTypeONegative = 8,
+} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKFitzpatrickSkinType
+ @abstract This enumerated type is used to represent the skin type of an individual based on the Fitzpatrick scale.
+ @discussion The Fitzpatrick scale is a numerical classification for skin color based on the skin's response to sun
+ exposure in terms of the degree of burning and tanning.
+
+ @constant HKFitzpatrickSkinTypeI Pale white skin that always burns easily in the sun and never tans.
+ @constant HKFitzpatrickSkinTypeII White skin that burns easily and tans minimally.
+ @constant HKFitzpatrickSkinTypeIII White to light brown skin that burns moderately and tans uniformly.
+ @constant HKFitzpatrickSkinTypeIV Beige-olive, lightly tanned skin that burns minimally and tans moderately.
+ @constant HKFitzpatrickSkinTypeV Brown skin that rarely burns and tans profusely.
+ @constant HKFitzpatrickSkinTypeVI Dark brown to black skin that never burns and tans profusely.
+ */
+typedef NS_ENUM(NSInteger, HKFitzpatrickSkinType) {
+ HKFitzpatrickSkinTypeNotSet = 0,
+ HKFitzpatrickSkinTypeI = 1,
+ HKFitzpatrickSkinTypeII = 2,
+ HKFitzpatrickSkinTypeIII = 3,
+ HKFitzpatrickSkinTypeIV = 4,
+ HKFitzpatrickSkinTypeV = 5,
+ HKFitzpatrickSkinTypeVI = 6,
+} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKWheelchairUse
+ @abstract This enumerated type is used to represent whether the user uses a wheelchair.
+
+ @constant HKWheelchairUseNo The user does not use a wheelchair.
+ @constant HKWheelchairUseYes The user does use a wheelchair.
+ */
+typedef NS_ENUM(NSInteger, HKWheelchairUse) {
+ HKWheelchairUseNotSet = 0,
+ HKWheelchairUseNo = 1,
+ HKWheelchairUseYes = 2,
+} API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h 2023-03-09 19:23:59
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h 2023-05-26 01:40:37
@@ -6,6 +6,7 @@
//
#import <Foundation/Foundation.h>
+#import <os/availability.h>
NS_ASSUME_NONNULL_BEGIN
@@ -20,7 +21,7 @@
/*!
@enum HKErrorCode
- @constant HKNoError No error.
+ @constant HKUnknownError Unknown error.
@constant HKErrorHealthDataUnavailable HealthKit is not available on this device.
@constant HKErrorHealthDataRestricted HealthKit is restricted on this device.
@constant HKErrorInvalidArgument An invalid argument was provided to the API.
@@ -35,10 +36,13 @@
required data types.
@constant HKErrorNoData No data is available for the requested query and predicate, and so the
query's result could not be meaningfully computed.
+ @constant HKErrorWorkoutActivityNotAllowed A workout session is not allowed to be created for the activity type.
+ @constant HKErrorDataSizeExceeded The provided data's size exceeds the maximum allowed.
*/
typedef NS_ENUM(NSInteger, HKErrorCode) {
- HKNoError = 0,
- HKErrorHealthDataUnavailable,
+ HKUnknownError = 0,
+ HKNoError API_DEPRECATED_WITH_REPLACEMENT("HKUnknownError", ios(8.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED)) = HKUnknownError,
+ HKErrorHealthDataUnavailable = 1,
HKErrorHealthDataRestricted,
HKErrorInvalidArgument,
HKErrorAuthorizationDenied,
@@ -49,6 +53,8 @@
HKErrorUserExitedWorkoutSession API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)),
HKErrorRequiredAuthorizationDenied API_AVAILABLE(ios(12.0), watchos(5.0), macCatalyst(13.0), macos(13.0)),
HKErrorNoData API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)),
+ HKErrorWorkoutActivityNotAllowed API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)),
+ HKErrorDataSizeExceeded API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)),
} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
/*!
@@ -92,293 +98,10 @@
HKAuthorizationRequestStatusUnnecessary,
} API_AVAILABLE(ios(12.0), watchos(5.0), macCatalyst(13.0), macos(13.0));
-/*!
- @enum HKBiologicalSex
- @abstract This enumerated type is used to represent the biological sex of an individual.
- */
-typedef NS_ENUM(NSInteger, HKBiologicalSex) {
- HKBiologicalSexNotSet = 0,
- HKBiologicalSexFemale,
- HKBiologicalSexMale,
- HKBiologicalSexOther API_AVAILABLE(ios(8.2), watchos(2.0), macCatalyst(13.0), macos(13.0)),
-} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKBloodType
- @abstract This enumerated type is used to represent the blood type of an individual.
- */
-typedef NS_ENUM(NSInteger, HKBloodType) {
- HKBloodTypeNotSet = 0,
- HKBloodTypeAPositive,
- HKBloodTypeANegative,
- HKBloodTypeBPositive,
- HKBloodTypeBNegative,
- HKBloodTypeABPositive,
- HKBloodTypeABNegative,
- HKBloodTypeOPositive,
- HKBloodTypeONegative,
-} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKCategoryValueSleepAnalysis
- @abstract Set of values that may be used for HKCategorySamples with the HKCategoryTypeIdentifierSleepAnalysis type.
- @discussion To represent the user being both in bed and asleep, use two or more samples with overlapping times. By comparing the
- start and end times of these samples, it is possible to calculate a number of secondary statistics:
- 1) The amount of time it took for the user to fall asleep
- 2) The percentage of time in bed that the user actually spent sleeping,
- 3) The number of times the user woke while in bed
- 4) The total amount of time spent both in bed and asleep.
-
- @constant HKCategoryValueSleepAnalysisInBed The user is in bed.
- @constant HKCategoryValueSleepAnalysisAwake The user is awake.
- @constant HKCategoryValueSleepAnalysisAsleepUnspecified The user is asleep and no specific stage is specified.
- @constant HKCategoryValueSleepAnalysisAsleepCore Corresponds to Stages 1 and 2 of AASM scoring model.
- @constant HKCategoryValueSleepAnalysisAsleepDeep Corresponds to Stage 3 of AASM scoring model.
- @constant HKCategoryValueSleepAnalysisAsleepREM Corresponds to REM stage of AASM scoring model.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueSleepAnalysis) {
- HKCategoryValueSleepAnalysisInBed = 0,
- HKCategoryValueSleepAnalysisAsleepUnspecified API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 1,
- HKCategoryValueSleepAnalysisAsleep API_DEPRECATED_WITH_REPLACEMENT("HKCategoryValueSleepAnalysisAsleepUnspecified", ios(8.0, 16.0), watchos(2.0, 9.0), macCatalyst(13.0, 16.0), macos(13.0, 13.0)) = HKCategoryValueSleepAnalysisAsleepUnspecified,
- HKCategoryValueSleepAnalysisAwake API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)) = 2,
- HKCategoryValueSleepAnalysisAsleepCore API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 3,
- HKCategoryValueSleepAnalysisAsleepDeep API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 4,
- HKCategoryValueSleepAnalysisAsleepREM API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 5,
-} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
/// Returns the set of `HKCategoryValueSleepAnalysis` values that are considered to be asleep.
HK_EXTERN NSSet<NSNumber *> * HKCategoryValueSleepAnalysisAsleepValues(void) API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) NS_REFINED_FOR_SWIFT;
-
-/*!
- @enum HKCategoryValueAppleStandHour
- @abstract Set of values that may be used for HKCategorySamples with the HKCategoryTypeIdentifierAppleStandHour type.
-
- @constant HKCategoryValueAppleStandHourStood The user stood up and moved a little for at least one minute during
- the sample.
- @constant HKCategoryValueAppleStandHourIdle The user did not stand up and move a little for at least one
- continuous minute during the sample.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueAppleStandHour) {
- HKCategoryValueAppleStandHourStood = 0,
- HKCategoryValueAppleStandHourIdle,
-} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKFitzpatrickSkinType
- @abstract This enumerated type is used to represent the skin type of an individual based on the Fitzpatrick scale.
- @discussion The Fitzpatrick scale is a numerical classification for skin color based on the skin's response to sun
- exposure in terms of the degree of burning and tanning.
-
- @constant HKFitzpatrickSkinTypeI Pale white skin that always burns easily in the sun and never tans.
- @constant HKFitzpatrickSkinTypeII White skin that burns easily and tans minimally.
- @constant HKFitzpatrickSkinTypeIII White to light brown skin that burns moderately and tans uniformly.
- @constant HKFitzpatrickSkinTypeIV Beige-olive, lightly tanned skin that burns minimally and tans moderately.
- @constant HKFitzpatrickSkinTypeV Brown skin that rarely burns and tans profusely.
- @constant HKFitzpatrickSkinTypeVI Dark brown to black skin that never burns and tans profusely.
- */
-typedef NS_ENUM(NSInteger, HKFitzpatrickSkinType) {
- HKFitzpatrickSkinTypeNotSet = 0,
- HKFitzpatrickSkinTypeI,
- HKFitzpatrickSkinTypeII,
- HKFitzpatrickSkinTypeIII,
- HKFitzpatrickSkinTypeIV,
- HKFitzpatrickSkinTypeV,
- HKFitzpatrickSkinTypeVI,
-} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKWheelchairUse
- @abstract This enumerated type is used to represent whether the user uses a wheelchair.
-
- @constant HKWheelchairUseNo The user does not use a wheelchair.
- @constant HKWheelchairUseYes The user does use a wheelchair.
- */
-typedef NS_ENUM(NSInteger, HKWheelchairUse) {
- HKWheelchairUseNotSet = 0,
- HKWheelchairUseNo,
- HKWheelchairUseYes,
-} API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKCategoryValueCervicalMucusQuality
- @abstract Set of values that may be used for HKCategorySamples with the HKCategoryTypeIdentifierCervicalMucusQuality type.
- @discussion These cervical mucus quality values are ordered from least-fertile (Dry) to most-fertile (EggWhite).
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueCervicalMucusQuality) {
- HKCategoryValueCervicalMucusQualityDry = 1,
- HKCategoryValueCervicalMucusQualitySticky,
- HKCategoryValueCervicalMucusQualityCreamy,
- HKCategoryValueCervicalMucusQualityWatery,
- HKCategoryValueCervicalMucusQualityEggWhite,
-} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKCategoryValueOvulationTestResult
- @abstract Set of values that may be used for HKCategorySamples with the HKCategoryTypeIdentifierOvulationTestResult type.
- @discussion This category value tracks the result of a home ovulation test that use surges in hormone levels to
- indicate fertility.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueOvulationTestResult) {
- HKCategoryValueOvulationTestResultNegative = 1,
- HKCategoryValueOvulationTestResultLuteinizingHormoneSurge API_AVAILABLE(ios(13.0), watchos(6.0)) = 2,
- HKCategoryValueOvulationTestResultPositive API_DEPRECATED_WITH_REPLACEMENT("HKCategoryValueOvulationTestResultLuteinizingHormoneSurge", ios(9.0, 13.0), watchos(2.0, 6.0)) = HKCategoryValueOvulationTestResultLuteinizingHormoneSurge,
- HKCategoryValueOvulationTestResultIndeterminate = 3,
- HKCategoryValueOvulationTestResultEstrogenSurge API_AVAILABLE(ios(13.0), watchos(6.0)) = 4,
-} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKCategoryValuePregnancyTestResult
- @abstract Set of values that may be used for HKCategorySamples with the HKCategoryTypeIdentifierPregnancyTestResult type.
- @discussion This category value tracks the result of a home pregnancy test that checks for presence of the human chorionic
- gonadotrophin (hCG) hormone in urine to confirm pregnancy.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValuePregnancyTestResult) {
- HKCategoryValuePregnancyTestResultNegative = 1,
- HKCategoryValuePregnancyTestResultPositive,
- HKCategoryValuePregnancyTestResultIndeterminate,
-} API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0));
-
-/*!
- @enum HKCategoryValueProgesteroneTestResult
- @abstract Set of values that may be used for HKCategorySamples with the HKCategoryTypeIdentifierProgesteroneTestResult type.
- @discussion This category value tracks the result of a home ovulation confirmation test that use surges in hormone levels to
- confirm if ovulation has occurred.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueProgesteroneTestResult) {
- HKCategoryValueProgesteroneTestResultNegative = 1,
- HKCategoryValueProgesteroneTestResultPositive,
- HKCategoryValueProgesteroneTestResultIndeterminate,
-} API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0));
-
-/*!
- @enum HKCategoryValueMenstrualFlow
- @abstract Set of values to indicate the type of menstrual flow.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueMenstrualFlow) {
- HKCategoryValueMenstrualFlowUnspecified = 1,
- HKCategoryValueMenstrualFlowLight,
- HKCategoryValueMenstrualFlowMedium,
- HKCategoryValueMenstrualFlowHeavy,
- HKCategoryValueMenstrualFlowNone API_AVAILABLE(ios(12.0), watchos(5.0), macCatalyst(13.0), macos(13.0)),
-} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKCategoryValue
- @abstract This category value is to be used for types which don't have a specific value defined.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValue) {
- HKCategoryValueNotApplicable = 0,
-} API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
-/*!
- @enum HKCategoryValueAudioExposureEvent
- @abstract Specifies the kind of audio exposure event associated with the sample.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueAudioExposureEvent) {
- HKCategoryValueAudioExposureEventLoudEnvironment API_DEPRECATED_WITH_REPLACEMENT("HKCategoryValueEnvironmentalAudioExposureEventMomentaryLimit", ios(13.0, 14.0), watchos(6.0, 7.0)) = 1,
-} API_DEPRECATED_WITH_REPLACEMENT("HKCategoryValueEnvironmentalAudioExposureEvent", ios(13.0, 14.0), watchos(6.0, 7.0));
-
-/*!
- @enum HKCategoryValueEnvironmentalAudioExposureEvent
- @abstract Specifies the kind of environmental audio exposure event associated with the sample.
-
- @constant HKCategoryValueEnvironmentalAudioExposureEventMomentaryLimit This constant defines environmental events associated
- with the user being exposed to a loud environment during a short timespan.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueEnvironmentalAudioExposureEvent) {
- HKCategoryValueEnvironmentalAudioExposureEventMomentaryLimit = 1,
-} API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
-
-/*!
- @enum HKCategoryValueContraceptive
- @abstract Set of values to indicate the type of contraceptive.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueContraceptive) {
- HKCategoryValueContraceptiveUnspecified = 1,
- HKCategoryValueContraceptiveImplant,
- HKCategoryValueContraceptiveInjection,
- HKCategoryValueContraceptiveIntrauterineDevice,
- HKCategoryValueContraceptiveIntravaginalRing,
- HKCategoryValueContraceptiveOral,
- HKCategoryValueContraceptivePatch,
-} API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0));
-
-/*!
- @enum HKCategoryValueSeverity
- @abstract Set of values to indicate the severity of a symptom.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueSeverity) {
- HKCategoryValueSeverityUnspecified = 0,
- HKCategoryValueSeverityNotPresent,
- HKCategoryValueSeverityMild,
- HKCategoryValueSeverityModerate,
- HKCategoryValueSeveritySevere,
-} API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0));
-
-/*!
- @enum HKCategoryValueAppetiteChanges
- @abstract Set of values to indicate the direction of appetite changes.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueAppetiteChanges) {
- HKCategoryValueAppetiteChangesUnspecified = 0,
- HKCategoryValueAppetiteChangesNoChange,
- HKCategoryValueAppetiteChangesDecreased,
- HKCategoryValueAppetiteChangesIncreased,
-} API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0));
-
-/*!
- @enum HKCategoryValuePresence
- @abstract Set of values to indicate whether a data type is present or not.
- */
-typedef NS_ENUM(NSInteger, HKCategoryValuePresence) {
- HKCategoryValuePresencePresent = 0,
- HKCategoryValuePresenceNotPresent,
-} API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0));
-
-/*!
-@enum HKCategoryValueHeadphoneAudioExposureEvent
-@abstract Specifies the kind of headphone exposure event associated with the sample.
-@constant HKCategoryValueHeadphoneAudioExposureEventSevenDayLimit This constant defines headphone events associated with the user being exposed to significant audio levels throught a seven-day period.
-*/
-typedef NS_ENUM(NSInteger, HKCategoryValueHeadphoneAudioExposureEvent) {
- HKCategoryValueHeadphoneAudioExposureEventSevenDayLimit = 1
-} API_AVAILABLE(ios(14.2), watchos(7.1), macCatalyst(14.2), macos(13.0));
-
-/*!
- @enum HKCategoryValueLowCardioFitnessEvent
- @abstract Specifies the type of cardio fitness event.
-
- @constant HKCategoryValueLowCardioFitnessEventLowFitness This constant defines an event where a VO2Max measurement was recorded that falls into the "Low" fitness classification
- */
-typedef NS_ENUM(NSInteger, HKCategoryValueLowCardioFitnessEvent) {
- HKCategoryValueLowCardioFitnessEventLowFitness = 1,
-} API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0));
-
-/*!
- @enum HKActivityMoveMode
- @abstract This enumerated type is used to represent the activity mode for the user's move ring.
- @constant HKActivityMoveModeActiveEnergy User's move ring is updated from Active Energy Burned
- @constant HKActivityMoveModeAppleMoveTime User's move ring is updated from Apple Move Time
- */
-typedef NS_ENUM(NSInteger, HKActivityMoveMode) {
- HKActivityMoveModeActiveEnergy = 1,
- HKActivityMoveModeAppleMoveTime = 2,
-} API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
-
-/*!
-@enum HKCategoryValueAppleWalkingSteadinessEvent
-@abstract Specifies the kind of Apple Walking Steadiness event associated with the sample.
-@constant HKCategoryValueAppleWalkingSteadinessEventInitialLow This constant defines Apple Walking Steadiness events associated with the user's walking steadiness being low.
-@constant HKCategoryValueAppleWalkingSteadinessEventInitialVeryLow This constant defines Apple Walking Steadiness events associated with the user's walking steadiness being very low.
-@constant HKCategoryValueAppleWalkingSteadinessEventRepeatLow This constant defines Apple Walking Steadiness events associated with the user's walking steadiness remaining low over a significant time period.
-@constant HKCategoryValueAppleWalkingSteadinessEventRepeatVeryLow This constant defines Apple Walking Steadiness events associated with the user's walking steadiness remaining very low over a significant time period.
-*/
-typedef NS_ENUM(NSInteger, HKCategoryValueAppleWalkingSteadinessEvent) {
- HKCategoryValueAppleWalkingSteadinessEventInitialLow = 1,
- HKCategoryValueAppleWalkingSteadinessEventInitialVeryLow = 2,
- HKCategoryValueAppleWalkingSteadinessEventRepeatLow = 3,
- HKCategoryValueAppleWalkingSteadinessEventRepeatVeryLow = 4,
-} API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0));
-
NS_ASSUME_NONNULL_END
+
+#import <HealthKit/HKCategoryValues.h>
+#import <HealthKit/HKCharacteristicValues.h>
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKFHIRResource.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKFHIRResource.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKFHIRResource.h 2023-03-09 19:08:14
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKFHIRResource.h 2023-05-26 01:40:37
@@ -5,6 +5,8 @@
// Copyright © 2018-2022 Apple. All rights reserved.
//
+
+
#import <Foundation/Foundation.h>
#import <HealthKit/HKDefines.h>
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h 2023-03-09 19:23:59
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h 2023-05-26 00:25:34
@@ -31,6 +31,7 @@
@abstract The HKHealthStore class provides an interface for accessing and storing the user's health data.
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKHealthStore : NSObject
/*!
@@ -271,6 +272,17 @@
@interface HKHealthStore (HKWorkout)
/*!
+ @property workoutSessionMirroringStartHandler
+ @abstract Called when a session has started mirroring.
+ @discussion This property should always be assigned a value promptly after your app is launched,
+ to ensure it is always observing for incoming mirrored workout sessions.
+ If your app is not active when a mirrored session starts, it will be launched in the background and given a one-time
+ permission to start a Live Activity from the background.
+ The assigned block will be executed on an arbitrary background queue.
+ */
+@property (copy, nullable) void (^workoutSessionMirroringStartHandler)(HKWorkoutSession *mirroredSession) API_AVAILABLE(ios(17.0));
+
+/*!
@method addSamples:toWorkout:completion:
@abstract Associates samples with a given workout.
@discussion This will associate the given samples with the given workout. These samples will then be returned by a
@@ -279,7 +291,7 @@
The workout provided must be one that has already been saved to HealthKit.
*/
-- (void)addSamples:(NSArray<HKSample *> *)samples toWorkout:(HKWorkout *)workout completion:(void (^)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(addSamples(_:to:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+- (void)addSamples:(NSArray<HKSample *> *)samples toWorkout:(HKWorkout *)workout completion:(void (^)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(addSamples(_:to:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1) API_DEPRECATED("Use HKWorkoutBuilder", ios(8.0, 17.0), watchos(2.0, 10.0), macCatalyst(13.0, 16.0), macos(13.0, 14.0));
/*!
@method startWorkoutSession:
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h 2023-03-09 19:21:23
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h 2023-05-26 00:25:34
@@ -61,7 +61,7 @@
- (instancetype)initWithHealthStore:(HKHealthStore *)healthStore
configuration:(HKWorkoutConfiguration *)configuration
- device:(nullable HKDevice *)device NS_UNAVAILABLE;
+ device:(nullable HKDevice *)device API_AVAILABLE(watchos(10.0)) API_UNAVAILABLE(ios) API_UNAVAILABLE(tvos, macCatalyst);
/*!
@property delegate
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h 2023-03-09 19:08:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h 2023-05-26 01:46:32
@@ -274,6 +274,13 @@
HK_EXTERN NSString * const HKMetadataKeyGroupFitness API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
/*!
+ @constant HKMetadataKeyAppleFitnessPlusSession
+ @abstract Represents whether or not a workout is a Fitness+ workout.
+ @discussion The expected value type is an NSNumber containing a BOOL value.
+ */
+HK_EXTERN NSString * const HKMetadataKeyAppleFitnessPlusSession API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
+
+/*!
@constant HKMetadataKeyIndoorWorkout
@abstract Represents whether or not a workout was performed indoors as opposed to outdoors.
@discussion The expected value type is an NSNumber containing a BOOL value.
@@ -697,11 +704,84 @@
HK_EXTERN NSString * const HKMetadataKeyGlassesPrescriptionDescription API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
/*!
+ @constant HKMetadataKeyAverageLightIntensity
+ @abstract Represents average intensity of light for an outdoor time sample.
+ @discussion The expected value type is an HKQuantity expressed in HKUnit Lux.
+ */
+HK_EXTERN NSString * const HKMetadataKeyAverageLightIntensity API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
+
+/*!
+ @enum HKWaterSalinity
+ @abstract Represents the water salinity for an underwater depth or water temperature sample.
+ @discussion This value indicates the water salinity
+ */
+typedef NS_ENUM(NSInteger, HKWaterSalinity) {
+ HKWaterSalinityFreshWater = 1,
+ HKWaterSalinitySaltWater,
+} API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
+
+/*!
+ @constant HKMetadataKeyWaterSalinity
+ @abstract Represents the water salinity for an underwater depth or water temperature sample.
+ @discussion The expected value type is an NSNumber containing a HKWaterSalinity value.
+ */
+HK_EXTERN NSString * const HKMetadataKeyWaterSalinity API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
+
+/*!
@constant HKMetadataKeyHeadphoneGain
@abstract Represents the headphone gain associated with a Headphone audio exposure event.
@discussion The expected value is an HKQuantity whose value is the gain
associated with the event measured in decibels in A-weighted Sound Pressure Level units.
*/
-HK_EXTERN NSString * const HKMetadataKeyHeadphoneGain API_AVAILABLE(ios(16.4), watchos(9.4), macCatalyst(16.4), macos(13.4));
+HK_EXTERN NSString * const HKMetadataKeyHeadphoneGain API_AVAILABLE(ios(16.4), watchos(9.4), macCatalyst(16.4), macos(13.3));
+
+/*!
+ @constant HKMetadataKeyCyclingFunctionalThresholdPowerTestType
+ @abstract Represents the test used to determine a Cycling Functional Threshold Power value.
+ @discussion The expected value type is an NSNumber containing a HKCyclingFunctionalThresholdPowerTestType value.
+ */
+HK_EXTERN NSString * const HKMetadataKeyCyclingFunctionalThresholdPowerTestType API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
+
+/*!
+ @enum HKCyclingFunctionalThresholdPowerTestType
+ @abstract Represents the test used to determine a Cycling Functional Threshold Power value.
+
+ @constant HKCyclingFunctionalThresholdPowerTestTypeMaxExercise60Minute The user was exerted to their physical limit for a sustained period of 60 minutes.
+ @constant HKCyclingFunctionalThresholdPowerTestTypeMaxExercise20Minute The user was exerted to their physical limit for a sustained period of 20 minutes.
+ @constant HKCyclingFunctionalThresholdPowerTestTypeRampTest Test with gradual intensity increase until exhaustion.
+ @constant HKCyclingFunctionalThresholdPowerTestTypePredictionExercise An equation was used based on data from the user’s cycling workouts to calculate a predicted Cycling Functional Threshold Power.
+ */
+typedef NS_ENUM(NSInteger, HKCyclingFunctionalThresholdPowerTestType) {
+ HKCyclingFunctionalThresholdPowerTestTypeMaxExercise60Minute = 1,
+ HKCyclingFunctionalThresholdPowerTestTypeMaxExercise20Minute,
+ HKCyclingFunctionalThresholdPowerTestTypeRampTest,
+ HKCyclingFunctionalThresholdPowerTestTypePredictionExercise,
+} API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
+
+/*!
+ @constant HKMetadataKeyActivityType
+ @abstract Represents the activity type related to the sample
+ @discussion The expected value type is an NSNumber containing a HKWorkoutActivityType value.
+ */
+HK_EXTERN NSString * const HKMetadataKeyActivityType API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
+
+/*!
+ @constant HKMetadataKeyPhysicalEffortEstimationType
+ @abstract Represents the estimation type used to create the Physical Effort Sample
+ @discussion The expected value type is an NSNumber containing a HKPhysicalEffortEstimationType value.
+ */
+HK_EXTERN NSString * const HKMetadataKeyPhysicalEffortEstimationType API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
+
+/*!
+ @enum HKPhysicalEffortEstimationType
+ @abstract Represents the estimation used to create a Physical Effort Sample.
+
+ @constant HKPhysicalEffortEstimationTypeActivityLookup Indicates the value was calculated based on external standard such as a stationary bike
+ @constant HKPhysicalEffortEstimationTypeDeviceSensed Indicates the value was calculated based on movement signals (walking, running etc.)
+ */
+typedef NS_ENUM(NSInteger, HKPhysicalEffortEstimationType) {
+ HKPhysicalEffortEstimationTypeActivityLookup = 1,
+ HKPhysicalEffortEstimationTypeDeviceSensed,
+} API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0));
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h 2023-03-09 19:21:20
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h 2023-05-26 00:26:56
@@ -29,6 +29,7 @@
@abstract An abstract class representing a type of object that can be stored by HealthKit.
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKObjectType : NSObject <NSSecureCoding, NSCopying>
/*!
@@ -74,6 +75,7 @@
@abstract Represents a type of object that describes a characteristic of the user (such as date of birth).
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKCharacteristicType : HKObjectType
@end
@@ -82,6 +84,7 @@
@abstract Represents a type of HKSample.
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKSampleType : HKObjectType
/*!
@@ -126,6 +129,7 @@
@abstract Represent a type of HKCategorySample.
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKCategoryType : HKSampleType
@end
@@ -134,6 +138,7 @@
@abstract Represents a type of HKCorrelation
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKCorrelationType : HKSampleType
@end
@@ -142,6 +147,7 @@
@abstract Represents a type of HKDocument.
*/
HK_EXTERN API_AVAILABLE(ios(10.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKDocumentType : HKSampleType
@end
@@ -150,6 +156,7 @@
@abstract Represents types of HKQuantitySamples.
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKQuantityType : HKSampleType
@property (readonly) HKQuantityAggregationStyle aggregationStyle;
@@ -168,6 +175,7 @@
@abstract Represents a workout or exercise
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKWorkoutType : HKSampleType
@end
@@ -176,6 +184,7 @@
@abstract Represents a type of HKSeriesSample
*/
HK_EXTERN API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKSeriesType : HKSampleType
+ (instancetype)workoutRouteType;
@@ -188,6 +197,7 @@
@abstract Represents an HKActivitySummary
*/
HK_EXTERN API_AVAILABLE(ios(9.3), watchos(2.2), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKActivitySummaryType : HKObjectType
@end
@@ -196,6 +206,7 @@
@abstract Represents an audiogram sample.
*/
HK_EXTERN API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKAudiogramSampleType : HKSampleType
@end
@@ -204,6 +215,7 @@
@abstract Represents an electrocardiogram sample.
*/
HK_EXTERN API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKElectrocardiogramType : HKSampleType
@end
@@ -212,6 +224,7 @@
@abstract Represents a prescription type
*/
HK_EXTERN API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKPrescriptionType : HKSampleType
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuantity.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuantity.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuantity.h 2023-03-09 19:23:59
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuantity.h 2023-05-26 00:26:57
@@ -16,6 +16,7 @@
@abstract The HKQuantity class provides an encapsulation of a quantity value and the unit of measurement.
*/
HK_EXTERN API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0))
+NS_SWIFT_SENDABLE
@interface HKQuantity : NSObject <NSSecureCoding, NSCopying>
- (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h 2023-03-09 19:08:13
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h 2023-05-26 01:40:36
@@ -1,13 +1,16 @@
//
-// HKTypeIdentifiers
+// HKTypeIdentifiers.h
// HealthKit
//
-// Copyright (c) 2014-2022 Apple Inc. All rights reserved.
+// Copyright © 2014-2023 Apple, Inc. All rights reserved.
//
+#import <Foundation/Foundation.h>
+
#import <HealthKit/HKDefines.h>
-#import <objc/NSObjCRuntime.h>
+
+
NS_ASSUME_NONNULL_BEGIN
/*--------------------------------*/
@@ -17,126 +20,134 @@
typedef NSString * HKQuantityTypeIdentifier NS_STRING_ENUM;
// Body Measurements
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBodyMassIndex API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBodyFatPercentage API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Percent, 0.0 - 1.0), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeight API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Length, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBodyMass API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierLeanBodyMass API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWaistCircumference API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // Length, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleSleepingWristTemperature API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Temperature, Discrete
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleSleepingWristTemperature API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // degC, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBodyFatPercentage API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // %, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBodyMass API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // kg, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBodyMassIndex API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // count, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierElectrodermalActivity API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // S, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeight API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // m, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierLeanBodyMass API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // kg, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWaistCircumference API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // m, Discrete (Arithmetic)
// Fitness
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierStepCount API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceWalkingRunning API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Length, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceCycling API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Length, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceWheelchair API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // Length, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBasalEnergyBurned API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Energy, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierActiveEnergyBurned API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Energy, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierFlightsClimbed API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierNikeFuel API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleExerciseTime API_AVAILABLE(ios(9.3), watchos(2.2), macCatalyst(13.0), macos(13.0)); // Time Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierPushCount API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceSwimming API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // Length, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierSwimmingStrokeCount API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierVO2Max API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // ml/(kg*min) Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceDownhillSnowSports API_AVAILABLE(ios(11.2), watchos(4.2), macCatalyst(13.0), macos(13.0)); // Length, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleStandTime API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0)); // Time, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingSpeed API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // m/s, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingDoubleSupportPercentage API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // Scalar(Percent, 0.0 - 1.0), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingAsymmetryPercentage API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // Scalar(Percent, 0.0 - 1.0), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingStepLength API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // Length, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierSixMinuteWalkTestDistance API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // Length, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierStairAscentSpeed API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // m/s, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierStairDescentSpeed API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // m/s), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleMoveTime API_AVAILABLE(ios(14.5), watchos(7.4), macCatalyst(14.5), macos(13.0)); // Time, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleWalkingSteadiness API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0)); // Scalar(Percent, 0.0 - 1.0), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningStrideLength API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Length, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningVerticalOscillation API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Length, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningGroundContactTime API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Time, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningPower API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Power Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningSpeed API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // m/s, Discrete
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierActiveEnergyBurned API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // kcal, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleExerciseTime API_AVAILABLE(ios(9.3), watchos(2.2), macCatalyst(13.0), macos(13.0)); // min, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleMoveTime API_AVAILABLE(ios(14.5), watchos(7.4), macCatalyst(14.5), macos(13.0)); // min, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleStandTime API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0)); // min, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBasalEnergyBurned API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // kcal, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierCyclingCadence API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)); // count/min, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierCyclingFunctionalThresholdPower API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)); // W, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierCyclingPower API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)); // W, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierCyclingSpeed API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)); // m/s, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceCycling API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // m, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceDownhillSnowSports API_AVAILABLE(ios(11.2), watchos(4.2), macCatalyst(13.0), macos(13.0)); // m, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceSwimming API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // m, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceWalkingRunning API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // m, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDistanceWheelchair API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // m, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierFlightsClimbed API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // count, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierNikeFuel API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // count, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierPhysicalEffort API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)); // kcal/(kg*hr), Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierPushCount API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // count, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningPower API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // W, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningSpeed API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // m/s, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierStepCount API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // count, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierSwimmingStrokeCount API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // count, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierUnderwaterDepth API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // m, Discrete (Arithmetic)
-// Vitals
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeartRate API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count)/Time, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBodyTemperature API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Temperature, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBasalBodyTemperature API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Basal Body Temperature, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBloodPressureSystolic API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Pressure, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBloodPressureDiastolic API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Pressure, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRespiratoryRate API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count)/Time, Discrete
-// Beats per minute estimate of a user's lowest heart rate while at rest
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRestingHeartRate API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count)/Time, Discrete
-// Average heartbeats per minute captured by an Apple Watch while a user is walking
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingHeartRateAverage API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count)/Time, Discrete
-// The standard deviation of heart beat-to-beat intervals (Standard Deviation of Normal to Normal)
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeartRateVariabilitySDNN API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // Time (ms), Discrete
-// The decrease in heart rate from the rate at peak exercise to the rate 1 minute after the cessation of exercise. Always a positive value.
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeartRateRecoveryOneMinute API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Scalar(Count)/Time, Discrete
+// Hearing Health
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierEnvironmentalAudioExposure API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0)); // dBASPL, Discrete (Equivalent Continuous Level)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierEnvironmentalSoundReduction API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // dBASPL, Discrete (Equivalent Continuous Level)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeadphoneAudioExposure API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0)); // dBASPL, Discrete (Equivalent Continuous Level)
-// Results
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierOxygenSaturation API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Percent, 0.0 - 1.0), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierPeripheralPerfusionIndex API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Percent, 0.0 - 1.0), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBloodGlucose API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass/Volume, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierNumberOfTimesFallen API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierElectrodermalActivity API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Conductance, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierInhalerUsage API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierInsulinDelivery API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // Pharmacology (IU) Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBloodAlcoholContent API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Percent, 0.0 - 1.0), Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierForcedVitalCapacity API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Volume, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierForcedExpiratoryVolume1 API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Volume, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierPeakExpiratoryFlowRate API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Volume/Time, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierEnvironmentalAudioExposure API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0)); // Pressure, DiscreteEquivalentContinuousLevel
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeadphoneAudioExposure API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0)); // Pressure, DiscreteEquivalentContinuousLevel
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierNumberOfAlcoholicBeverages API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0)); // Scalar(Count), Cumulative
+// Heart
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAtrialFibrillationBurden API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // %, Discrete (Temporally Weighted)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeartRate API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // count/s, Discrete (Temporally Weighted)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeartRateRecoveryOneMinute API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // count/min, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierHeartRateVariabilitySDNN API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // ms, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierPeripheralPerfusionIndex API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // %, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRestingHeartRate API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // count/min, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierVO2Max API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // ml/(kg*min), Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingHeartRateAverage API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // count/min, Discrete (Arithmetic)
+// Mobility
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAppleWalkingSteadiness API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0)); // %, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningGroundContactTime API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // ms, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningStrideLength API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // m, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRunningVerticalOscillation API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // cm, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierSixMinuteWalkTestDistance API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // m, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierStairAscentSpeed API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // m/s, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierStairDescentSpeed API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // m/s, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingAsymmetryPercentage API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // %, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingDoubleSupportPercentage API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // %, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingSpeed API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // m/s, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWalkingStepLength API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // m, Discrete (Arithmetic)
// Nutrition
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFatTotal API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFatPolyunsaturated API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFatMonounsaturated API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFatSaturated API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCholesterol API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietarySodium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCarbohydrates API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFiber API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietarySugar API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryEnergyConsumed API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Energy, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryProtein API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryBiotin API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCaffeine API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCalcium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCarbohydrates API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryChloride API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCholesterol API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryChromium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCopper API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryEnergyConsumed API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // kcal, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFatMonounsaturated API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFatPolyunsaturated API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFatSaturated API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFatTotal API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFiber API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFolate API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryIodine API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryIron API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryMagnesium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryManganese API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryMolybdenum API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryNiacin API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryPantothenicAcid API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryPhosphorus API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryPotassium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryProtein API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryRiboflavin API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietarySelenium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietarySodium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietarySugar API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryThiamin API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminA API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminB12 API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminB6 API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminC API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminD API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminE API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminK API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryWater API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // mL, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryZinc API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // g, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminA API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminB6 API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminB12 API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminC API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminD API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminE API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryVitaminK API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCalcium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryIron API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryThiamin API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryRiboflavin API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryNiacin API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryFolate API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryBiotin API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryPantothenicAcid API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryPhosphorus API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryIodine API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryMagnesium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryZinc API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietarySelenium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCopper API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryManganese API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryChromium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryMolybdenum API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryChloride API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryPotassium API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryCaffeine API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Mass, Cumulative
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierDietaryWater API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Volume, Cumulative
+// Other
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBloodAlcoholContent API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // %, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBloodPressureDiastolic API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // mmHg, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBloodPressureSystolic API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // mmHg, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierInsulinDelivery API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0)); // IU, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierNumberOfAlcoholicBeverages API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0)); // count, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierNumberOfTimesFallen API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // count, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierTimeInDaylight API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)); // min, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierUVExposure API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // , Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWaterTemperature API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // degC, Discrete (Arithmetic)
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierUVExposure API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // Scalar(Count), Discrete
+// Reproductive Health
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBasalBodyTemperature API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // degC, Discrete (Arithmetic)
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierAtrialFibrillationBurden API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Scalar(Percent, 0.0 - 1.0), Discrete
+// Respiratory
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierForcedExpiratoryVolume1 API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // L, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierForcedVitalCapacity API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // L, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierInhalerUsage API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // count, Cumulative
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierOxygenSaturation API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // %, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierPeakExpiratoryFlowRate API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // L/min, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierRespiratoryRate API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // count/s, Discrete (Arithmetic)
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierUnderwaterDepth API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Length, Discrete
-HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierWaterTemperature API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // Temperature, Discrete
+// Vital Signs
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBloodGlucose API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // mg/dL, Discrete (Arithmetic)
+HK_EXTERN HKQuantityTypeIdentifier const HKQuantityTypeIdentifierBodyTemperature API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // degC, Discrete (Arithmetic)
/*--------------------------------*/
/* HKCategoryType Identifiers */
@@ -144,35 +155,50 @@
typedef NSString * HKCategoryTypeIdentifier NS_STRING_ENUM;
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierSleepAnalysis API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValueSleepAnalysis
+// Fitness
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierAppleStandHour API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValueAppleStandHour
+
+// Hearing Health
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // HKCategoryValueEnvironmentalAudioExposureEvent
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierHeadphoneAudioExposureEvent API_AVAILABLE(ios(14.2), watchos(7.1), macCatalyst(14.2), macos(13.0)); // HKCategoryValueHeadphoneAudioExposureEvent
+
+// Heart
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierHighHeartRateEvent API_AVAILABLE(ios(12.2), watchos(5.2), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierIrregularHeartRhythmEvent API_AVAILABLE(ios(12.2), watchos(5.2), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierLowCardioFitnessEvent API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)); // HKCategoryValueLowCardioFitnessEvent
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierLowHeartRateEvent API_AVAILABLE(ios(12.2), watchos(5.2), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
+
+// Mindfulness
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierMindfulSession API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
+
+// Mobility
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierAppleWalkingSteadinessEvent API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0)); // HKCategoryValueAppleWalkingSteadinessEvent
+
+// Other
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierHandwashingEvent API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // HKCategoryValue
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierToothbrushingEvent API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
+
+// Reproductive Health
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierCervicalMucusQuality API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValueCervicalMucusQuality
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierContraceptive API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)); // HKCategoryValueContraceptive
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierInfrequentMenstrualCycles API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // HKCategoryValue
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierIntermenstrualBleeding API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierIrregularMenstrualCycles API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // HKCategoryValue
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierLactation API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)); // HKCategoryValue
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierMenstrualFlow API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValueMenstrualFlow
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierOvulationTestResult API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValueOvulationTestResult
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierPersistentIntermenstrualBleeding API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // HKCategoryValue
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierPregnancy API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)); // HKCategoryValue
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierPregnancyTestResult API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0)); // HKCategoryValuePregnancyTestResult
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierProgesteroneTestResult API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0)); // HKCategoryValueProgesteroneTestResult
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierMenstrualFlow API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValueMenstrualFlow
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierIntermenstrualBleeding API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // (Spotting) HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierPersistentIntermenstrualBleeding API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // HKCategoryValue
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierProlongedMenstrualPeriods API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierIrregularMenstrualCycles API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierInfrequentMenstrualCycles API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // HKCategoryValue
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierSexualActivity API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierMindfulSession API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierHighHeartRateEvent API_AVAILABLE(ios(12.2), watchos(5.2), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierLowHeartRateEvent API_AVAILABLE(ios(12.2), watchos(5.2), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierIrregularHeartRhythmEvent API_AVAILABLE(ios(12.2), watchos(5.2), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierAudioExposureEvent // HKCategoryValueAudioExposureEvent
- API_DEPRECATED_WITH_REPLACEMENT("HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent", ios(13.0, 14.0), watchos(6.0, 7.0));
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierToothbrushingEvent API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierPregnancy API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierLactation API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierContraceptive API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)); // HKCategoryValueContraceptive
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // HKCategoryValueEnvironmentalAudioExposureEvent
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierHeadphoneAudioExposureEvent API_AVAILABLE(ios(14.2), watchos(7.1), macCatalyst(14.2), macos(13.0)); // HKCategoryValueHeadphoneAudioExposureEvent
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierHandwashingEvent API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // HKCategoryValue
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierLowCardioFitnessEvent API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0));
-HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierAppleWalkingSteadinessEvent API_AVAILABLE(ios(15.0), watchos(8.0), macCatalyst(15.0), macos(13.0)); // HKCategoryValueAppleWalkingSteadinessEvent
+// Respiratory
+
+// Sleep
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierSleepAnalysis API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKCategoryValueSleepAnalysis
+
// Symptoms
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierAbdominalCramps API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0)); // HKCategoryValueSeverity
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierAcne API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0)); // HKCategoryValueSeverity
@@ -214,27 +240,32 @@
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierVomiting API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0)); // HKCategoryValueSeverity
HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierWheezing API_AVAILABLE(ios(13.6), watchos(7.0), macCatalyst(13.6), macos(13.0)); // HKCategoryValueSeverity
-
/*--------------------------------------*/
/* HKCharacteristicType Identifiers */
/*--------------------------------------*/
typedef NSString * HKCharacteristicTypeIdentifier NS_STRING_ENUM;
-HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierBiologicalSex API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKBiologicalSexObject
-HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierBloodType API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKBloodTypeObject
-HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierDateOfBirth API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // NSDateComponents
-HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierFitzpatrickSkinType API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKFitzpatrickSkinTypeObject
-HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierWheelchairUse API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // HKWheelchairUseObject
-HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierActivityMoveMode API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // HKActivityMoveModeObject
+// Me
+HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierBiologicalSex API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKBiologicalSexObject
+HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierBloodType API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKBloodTypeObject
+HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierDateOfBirth API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // NSDateComponents
+HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierFitzpatrickSkinType API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0)); // HKFitzpatrickSkinTypeObject
+HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierWheelchairUse API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0)); // HKWheelchairUseObject
+// Other
+HK_EXTERN HKCharacteristicTypeIdentifier const HKCharacteristicTypeIdentifierActivityMoveMode API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)); // HKActivityMoveModeObject
+
/*-----------------------------------*/
/* HKCorrelationType Identifiers */
/*-----------------------------------*/
typedef NSString * HKCorrelationTypeIdentifier NS_STRING_ENUM;
+// Heart
HK_EXTERN HKCorrelationTypeIdentifier const HKCorrelationTypeIdentifierBloodPressure API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+// Other
HK_EXTERN HKCorrelationTypeIdentifier const HKCorrelationTypeIdentifierFood API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
/*--------------------------------*/
@@ -243,26 +274,37 @@
typedef NSString * HKDocumentTypeIdentifier NS_STRING_ENUM;
+// Clinical Documents
HK_EXTERN HKDocumentTypeIdentifier const HKDocumentTypeIdentifierCDA API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
-/*------------------------------*/
-/* HKWorkoutType Identifier */
-/*------------------------------*/
+/*-------------------------------*/
+/* HKWorkoutType Identifiers */
+/*-------------------------------*/
+// Fitness
HK_EXTERN NSString * const HKWorkoutTypeIdentifier API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
/*--------------------------------*/
/* HKSeriesSample Identifiers */
/*--------------------------------*/
+// Fitness
HK_EXTERN NSString * const HKWorkoutRouteTypeIdentifier API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
+
+// Heart
HK_EXTERN NSString * const HKDataTypeIdentifierHeartbeatSeries API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0));
-/*-----------------------------------*/
-/* HKVisionPrescription Identifier */
-/*-----------------------------------*/
+/*--------------------------------------*/
+/* HKVisionPrescription Identifiers */
+/*--------------------------------------*/
+// Body Measurements
HK_EXTERN NSString * const HKVisionPrescriptionTypeIdentifier API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
+/*----------------*/
+/* Deprecated */
+/*----------------*/
+
+HK_EXTERN HKCategoryTypeIdentifier const HKCategoryTypeIdentifierAudioExposureEvent API_DEPRECATED_WITH_REPLACEMENT("HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent", ios(13.0, 14.0), watchos(6.0, 7.0));
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUnit.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUnit.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUnit.h 2023-03-09 19:08:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUnit.h 2023-05-26 01:46:31
@@ -34,6 +34,7 @@
// V (volts) [Electrical Potential Difference]
// W (watts) [Power]
// rad (radians) [Angle]
+// lx (Lux) [Illuminance]
// SI units can be prefixed as follows:
// da (deca-) = 10 d (deci-) = 1/10
@@ -261,6 +262,13 @@
+ (instancetype)radianAngleUnitWithMetricPrefix:(HKMetricPrefix)prefix API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // rad
+ (instancetype)radianAngleUnit API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // rad
+ (instancetype)degreeAngleUnit API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)); // deg
+@end
+
+/* Illuminance Units */
+@interface HKUnit (Illuminance)
++ (instancetype)luxUnitWithMetricPrefix:(HKMetricPrefix)prefix API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)); // lx
++ (instancetype)luxUnit API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)); // lx
+
@end
/* Mole Constants */
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkout.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkout.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkout.h 2023-03-09 19:08:14
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkout.h 2023-05-26 01:46:31
@@ -102,6 +102,7 @@
HKWorkoutActivityTypeCooldown API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0)), // Low intensity stretching and mobility exercises following a more vigorous workout type
HKWorkoutActivityTypeSwimBikeRun API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) = 82,
HKWorkoutActivityTypeTransition API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)),
+ HKWorkoutActivityTypeUnderwaterDiving API_AVAILABLE(ios(17.0), watchos(10.0), macCatalyst(17.0), macos(14.0)),
HKWorkoutActivityTypeOther = 3000,
} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
@@ -260,7 +261,7 @@
*/
+ (instancetype)workoutWithActivityType:(HKWorkoutActivityType)workoutActivityType
startDate:(NSDate *)startDate
- endDate:(NSDate *)endDate;
+ endDate:(NSDate *)endDate API_DEPRECATED("Use HKWorkoutBuilder", ios(8.0, 17.0), watchos(2.0, 10.0), macCatalyst(13.0, 16.0), macos(13.0, 14.0));
/*!
@method workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata
@@ -281,7 +282,7 @@
workoutEvents:(nullable NSArray<HKWorkoutEvent *> *)workoutEvents
totalEnergyBurned:(nullable HKQuantity *)totalEnergyBurned
totalDistance:(nullable HKQuantity *)totalDistance
- metadata:(nullable NSDictionary<NSString *, id> *)metadata;
+ metadata:(nullable NSDictionary<NSString *, id> *)metadata API_DEPRECATED("Use HKWorkoutBuilder", ios(8.0, 17.0), watchos(2.0, 10.0), macCatalyst(13.0, 16.0), macos(13.0, 14.0));
/*!
@method workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata
@@ -304,7 +305,7 @@
totalEnergyBurned:(nullable HKQuantity *)totalEnergyBurned
totalDistance:(nullable HKQuantity *)totalDistance
device:(nullable HKDevice *)device
- metadata:(nullable NSDictionary<NSString *, id> *)metadata API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+ metadata:(nullable NSDictionary<NSString *, id> *)metadata API_DEPRECATED("Use HKWorkoutBuilder", ios(9.0, 17.0), watchos(2.0, 10.0), macCatalyst(13.0, 16.0), macos(13.0, 14.0));
/*!
@method workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:metadata:
@@ -325,7 +326,7 @@
duration:(NSTimeInterval)duration
totalEnergyBurned:(nullable HKQuantity *)totalEnergyBurned
totalDistance:(nullable HKQuantity *)totalDistance
- metadata:(nullable NSDictionary<NSString *, id> *)metadata;
+ metadata:(nullable NSDictionary<NSString *, id> *)metadata API_DEPRECATED("Use HKWorkoutBuilder", ios(8.0, 17.0), watchos(2.0, 10.0), macCatalyst(13.0, 16.0), macos(13.0, 14.0));
/*!
@method workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:device:metadata:
@@ -348,7 +349,7 @@
totalEnergyBurned:(nullable HKQuantity *)totalEnergyBurned
totalDistance:(nullable HKQuantity *)totalDistance
device:(nullable HKDevice *)device
- metadata:(nullable NSDictionary<NSString *, id> *)metadata API_AVAILABLE(ios(9.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+ metadata:(nullable NSDictionary<NSString *, id> *)metadata API_DEPRECATED("Use HKWorkoutBuilder", ios(9.0, 17.0), watchos(2.0, 10.0), macCatalyst(13.0, 16.0), macos(13.0, 14.0));
/*!
@method workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:totalSwimmingStrokeCount:device:metadata:
@@ -373,7 +374,7 @@
totalDistance:(nullable HKQuantity *)totalDistance
totalSwimmingStrokeCount:(nullable HKQuantity *)totalSwimmingStrokeCount
device:(nullable HKDevice *)device
- metadata:(nullable NSDictionary<NSString *, id> *)metadata API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
+ metadata:(nullable NSDictionary<NSString *, id> *)metadata API_DEPRECATED("Use HKWorkoutBuilder", ios(10.0, 17.0), watchos(3.0, 10.0), macCatalyst(13.0, 16.0), macos(13.0, 14.0));
/*!
@method workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:totalFlightsClimbed:device:metadata:
@@ -399,7 +400,7 @@
totalDistance:(nullable HKQuantity *)totalDistance
totalFlightsClimbed:(nullable HKQuantity *)totalFlightsClimbed
device:(nullable HKDevice *)device
- metadata:(nullable NSDictionary<NSString *, id> *)metadata API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
+ metadata:(nullable NSDictionary<NSString *, id> *)metadata API_DEPRECATED("Use HKWorkoutBuilder", ios(11.0, 17.0), watchos(4.0, 10.0), macCatalyst(13.0, 16.0), macos(13.0, 14.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h 2023-03-09 19:21:21
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h 2023-05-26 01:40:36
@@ -29,14 +29,25 @@
HKWorkoutSessionStatePaused API_AVAILABLE(watchos(3.0)),
HKWorkoutSessionStatePrepared API_AVAILABLE(watchos(5.0)),
HKWorkoutSessionStateStopped API_AVAILABLE(watchos(5.0)),
-} API_AVAILABLE(watchos(2.0)) API_UNAVAILABLE(ios);
+} API_AVAILABLE(ios(17.0), watchos(2.0));
+/*!
+ @enum HKWorkoutSessionType
+ @abstract This enumerated type is used to represent the type of a workout session.
+
+ @constant HKWorkoutSessionTypePrimary Represents a workout session running locally on the current device.
+ @constant HKWorkoutSessionTypeMirrored Represents a workout session being mirrored from a different device.
+ */
+typedef NS_ENUM(NSInteger, HKWorkoutSessionType) {
+ HKWorkoutSessionTypePrimary = 0,
+ HKWorkoutSessionTypeMirrored,
+} API_AVAILABLE(ios(17.0), watchos(10.0));
/*!
@class HKWorkoutSession
@abstract An HKWorkoutSession is an object describing the properties of a workout activity session.
*/
-HK_EXTERN API_AVAILABLE(watchos(2.0)) API_UNAVAILABLE(ios)
+HK_EXTERN API_AVAILABLE(ios(17.0), watchos(2.0))
@interface HKWorkoutSession : NSObject <NSSecureCoding>
/*!
@@ -58,7 +69,7 @@
@discussion This returns a copy of the configuration passed when creating the HKWorkoutSession. Changes made to
the returned object have no impact on the HKWorkoutSession.
*/
-@property (readonly, copy) HKWorkoutConfiguration *workoutConfiguration API_AVAILABLE(watchos(3.0));
+@property (readonly, copy) HKWorkoutConfiguration *workoutConfiguration API_AVAILABLE(ios(17.0), watchos(3.0));
/*!
@property delegate
@@ -77,6 +88,14 @@
@property (readonly) HKWorkoutSessionState state;
/*!
+ @property type
+ @abstract Indicates the type of the workout session.
+ @discussion A workout session created using an initializer will be primary, while a session retrieved with
+ the `HKHealthStore` `workoutSessionMirroringStartHandler` property will be mirrored.
+ */
+@property (readonly) HKWorkoutSessionType type API_AVAILABLE(ios(17.0), watchos(10.0));
+
+/*!
@property startDate
@abstract Indicates the date when the workout session started running.
@discussion This value is nil when a workout session is initialized. It is set when the workout session state
@@ -99,7 +118,7 @@
a copy of the main workout activity if no new activity has begun. Changes made
to the returned object have no impact on the HKWorkoutSession.
*/
-@property (readonly, copy) HKWorkoutActivity *currentActivity API_AVAILABLE(watchos(9.0));
+@property (readonly, copy) HKWorkoutActivity *currentActivity API_AVAILABLE(ios(17.0), watchos(9.0));
/*!
@method initWithActivityType:locationType:
@@ -108,7 +127,7 @@
@param locationType The type of location where the workout will be performed.
*/
- (instancetype)initWithActivityType:(HKWorkoutActivityType)activityType
- locationType:(HKWorkoutSessionLocationType)locationType API_DEPRECATED_WITH_REPLACEMENT("initWithHealthStore:configuration:error:", watchos(2.0, 3.0));
+ locationType:(HKWorkoutSessionLocationType)locationType API_DEPRECATED_WITH_REPLACEMENT("initWithHealthStore:configuration:error:", watchos(2.0, 3.0)) API_UNAVAILABLE(ios) API_UNAVAILABLE(macos, macCatalyst, tvos);
/*!
@method initWithConfiguration:error:
@@ -117,7 +136,7 @@
@param error If the configuration does not specify valid configuration properties, an
an NSError describing the error is set and nil is returned.
*/
-- (nullable instancetype)initWithConfiguration:(HKWorkoutConfiguration *)workoutConfiguration error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("initWithHealthStore:configuration:error:", watchos(3.0, 5.0));
+- (nullable instancetype)initWithConfiguration:(HKWorkoutConfiguration *)workoutConfiguration error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("initWithHealthStore:configuration:error:", watchos(3.0, 5.0)) API_UNAVAILABLE(ios) API_UNAVAILABLE(macos, macCatalyst, tvos);
/*!
@method initWithHealthStore:configuration:error:
@@ -129,7 +148,7 @@
*/
- (nullable instancetype)initWithHealthStore:(HKHealthStore *)healthStore
configuration:(HKWorkoutConfiguration *)workoutConfiguration
- error:(NSError **)error API_AVAILABLE(watchos(5.0));
+ error:(NSError **)error API_AVAILABLE(watchos(5.0)) API_UNAVAILABLE(ios, tvos) API_UNAVAILABLE(macos, macCatalyst);
- (instancetype)init NS_UNAVAILABLE;
@@ -142,7 +161,7 @@
You might call this methods, for example, prior to displaying a countdown on your application while waiting
for the activity to start.
*/
-- (void)prepare API_AVAILABLE(watchos(5.0));
+- (void)prepare API_AVAILABLE(ios(17.0), watchos(5.0));
/*!
@method startActivityWithDate:
@@ -153,7 +172,7 @@
transition to HKWorkoutSessionStateRunning. Once a session activity is started the system will be in session
mode and sensor algorithms will be applied to generate data for the workout activity.
*/
-- (void)startActivityWithDate:(nullable NSDate *)date API_AVAILABLE(watchos(5.0));
+- (void)startActivityWithDate:(nullable NSDate *)date API_AVAILABLE(ios(17.0), watchos(5.0));
/*!
@method stopActivityWithDate:
@@ -164,7 +183,7 @@
start a new workout session. Sensor algorithms will be stopped and no new data will be generated for this session.
However, the system will remain in session mode.
*/
-- (void)stopActivityWithDate:(nullable NSDate *)date API_AVAILABLE(watchos(5.0));
+- (void)stopActivityWithDate:(nullable NSDate *)date API_AVAILABLE(ios(17.0), watchos(5.0));
/*!
@method end
@@ -174,7 +193,7 @@
workout session. Sensor algorithms will be stopped, no new data will be generated for this session, and the
system will exit session mode.
*/
-- (void)end API_AVAILABLE(watchos(5.0));
+- (void)end API_AVAILABLE(ios(17.0), watchos(5.0));
/*!
@method pause
@@ -183,7 +202,7 @@
will transition to HKWorkoutSessionStatePaused. An HKWorkoutEventTypePause will be generated and
delivered to the workout session's delegate.
*/
-- (void)pause API_AVAILABLE(watchos(5.0));
+- (void)pause API_AVAILABLE(ios(17.0), watchos(5.0));
/*!
@method resume
@@ -192,7 +211,7 @@
will transition to HKWorkoutSessionStateRunning. An HKWorkoutEventTypeResume will be generated and
delivered to the workout session's delegate.
*/
-- (void)resume API_AVAILABLE(watchos(5.0));
+- (void)resume API_AVAILABLE(ios(17.0), watchos(5.0));
/*!
@method associatedWorkoutBuilder
@@ -202,7 +221,7 @@
Calling this method more than once will return the previously-created builder. If this session was not
initialized with initWithHealthStore:configuration:error:, an exception will be thrown.
*/
-- (HKLiveWorkoutBuilder *)associatedWorkoutBuilder API_AVAILABLE(watchos(5.0));
+- (HKLiveWorkoutBuilder *)associatedWorkoutBuilder API_AVAILABLE(watchos(5.0)) API_UNAVAILABLE(ios);
/*!
@method beginNewActivityWithConfiguration:date:metadata:
@@ -213,7 +232,7 @@
*/
- (void)beginNewActivityWithConfiguration:(HKWorkoutConfiguration *)workoutConfiguration
date:(NSDate *)date
- metadata:(nullable NSDictionary<NSString *, id> *)metadata API_AVAILABLE(watchos(9.0)) NS_SWIFT_NAME(beginNewActivity(configuration:date:metadata:));
+ metadata:(nullable NSDictionary<NSString *, id> *)metadata API_AVAILABLE(ios(17.0), watchos(9.0)) NS_SWIFT_NAME(beginNewActivity(configuration:date:metadata:));
/*!
@method endCurrentActivityOnDate:
@@ -222,8 +241,43 @@
would be informed once the activity effectively ends. Sensor algorithms to generate data would be updated to
match the main session activity.
*/
-- (void)endCurrentActivityOnDate:(NSDate *)date API_AVAILABLE(watchos(9.0));
+- (void)endCurrentActivityOnDate:(NSDate *)date API_AVAILABLE(ios(17.0), watchos(9.0));
+/*!
+ @method startMirroringToCompanionDeviceWithCompletion:
+ @abstract Starts mirroring the session to the companion device.
+ @discussion Calling this method will result in your app on the companion device being launched in the background.
+ When your app is launched set the `HKHealthStore` `workoutSessionMirroringStartHandler` property to retrieve
+ the mirrored session.
+ This method will fail if called for a session that is ended.
+ The completion handler will be executed on an arbitrary background queue.
+ */
+- (void)startMirroringToCompanionDeviceWithCompletion:(void (^)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(watchos(10.0)) API_UNAVAILABLE(ios) API_UNAVAILABLE(macos, macCatalyst, tvos);
+
+/*!
+ @method stopMirroringToCompanionDeviceWithCompletion:
+ @abstract Stops mirroring the session to the companion device.
+ @discussion Calling this method will stop sending data to the companion device. The mirrored session's delegate method
+ `didDisconnectFromRemoteDeviceWithError:` will be called to indicate that.
+ When a workout session is ended, mirroring is automatically stopped.
+ The completion handler will be executed on an arbitrary background queue.
+ */
+- (void)stopMirroringToCompanionDeviceWithCompletion:(void (^)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(watchos(10.0)) API_UNAVAILABLE(ios) API_UNAVAILABLE(macos, macCatalyst, tvos);
+
+/*!
+ @method sendDataToRemoteWorkoutSession:completion:
+ @abstract Sends an NSData object to the connected remote workout session.
+ @discussion This method can be called to send data from a primary session to its mirrored counterpart and vice-versa.
+ It's only intended to be used for data that describes the current state of the workout, such as accumulated metrics, and any
+ data needed to keep your app on both devices in sync.
+ The maximum amount of data that can be sent is 100 KB in any given 10-second time window.
+ If this limit is exceeded, an error will be returned in the completion handler.
+ An error will also be returned if the session is not mirroring.
+ The completion handler will be executed on an arbitrary background queue.
+ */
+- (void)sendDataToRemoteWorkoutSession:(NSData *)data
+ completion:(void (^)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(ios(17.0), watchos(10.0));
+
@end
/*!
@@ -231,7 +285,7 @@
@abstract This protocol should be implemented to be notified when a workout session's state changes.
@discussion The methods on this protocol are called on an anonymous serial background queue.
*/
-API_AVAILABLE(watchos(2.0)) API_UNAVAILABLE(ios)
+API_AVAILABLE(ios(17.0), watchos(2.0))
@protocol HKWorkoutSessionDelegate <NSObject>
/*!
@@ -274,7 +328,7 @@
*/
- (void)workoutSession:(HKWorkoutSession *)workoutSession
didBeginActivityWithConfiguration:(HKWorkoutConfiguration *)workoutConfiguration
- date:(NSDate *)date API_AVAILABLE(watchos(9.0));
+ date:(NSDate *)date API_AVAILABLE(ios(17.0), watchos(9.0));
/*!
@method workoutSession:didEndActivityWithConfiguration:date:
@@ -285,7 +339,20 @@
*/
- (void)workoutSession:(HKWorkoutSession *)workoutSession
didEndActivityWithConfiguration:(HKWorkoutConfiguration *)workoutConfiguration
- date:(NSDate *)date API_AVAILABLE(watchos(9.0));
+ date:(NSDate *)date API_AVAILABLE(ios(17.0), watchos(9.0));
+
+/*!
+ @method workoutSession:didReceiveDataFromRemoteDevice:
+ @abstract This method is called when the session receives data from its remote counterpart.
+ */
+- (void)workoutSession:(HKWorkoutSession *)workoutSession didReceiveDataFromRemoteDevice:(NSData *)data API_AVAILABLE(ios(17.0), watchos(10.0));
+
+/*!
+ @method workoutSession:didDisconnectFromRemoteDeviceWithError:
+ @abstract This method is called when the session is disconnected from its remote counterpart.
+ @discussion After this method is called for a mirrored workout session, it is no longer considered valid.
+ */
+- (void)workoutSession:(HKWorkoutSession *)workoutSession didDisconnectFromRemoteDeviceWithError:(nullable NSError *)error API_AVAILABLE(ios(17.0), watchos(10.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h 2023-03-04 17:38:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h 2023-05-26 00:26:54
@@ -14,7 +14,9 @@
#import <HealthKit/HKAudiogramSample.h>
#import <HealthKit/HKCDADocumentSample.h>
#import <HealthKit/HKCategorySample.h>
+#import <HealthKit/HKCategoryValues.h>
#import <HealthKit/HKCharacteristicObjects.h>
+#import <HealthKit/HKCharacteristicValues.h>
#import <HealthKit/HKClinicalRecord.h>
#import <HealthKit/HKClinicalType.h>
#import <HealthKit/HKContactsLensSpecification.h>
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status