Skip to content

HealthKit iOS 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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCharacteristicValues.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCharacteristicValues.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCharacteristicValues.h	2023-05-26 01:46:31
@@ -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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKFHIRResource.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKFHIRResource.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuantity.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuantity.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuantity.h	2023-03-09 23:53:01
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuantity.h	2023-05-26 01:46:32
@@ -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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUnit.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUnit.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkout.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkout.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.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/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h	2023-03-08 23:45:24
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h	2023-05-26 01:46:29
@@ -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>
Clone this wiki locally