-
Notifications
You must be signed in to change notification settings - Fork 543
HealthKit macOS xcode26.0 b1
Alex Soto edited this page Jun 9, 2025
·
1 revision
#HealthKit.framework
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h 2025-04-19 04:19:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKCategoryValues.h 2025-05-31 00:03:53
@@ -2,7 +2,7 @@
// HKCategoryValues.h
// HealthKit
//
-// Copyright © 2022-2024 Apple, Inc. All rights reserved.
+// Copyright © 2022-2025 Apple, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKClinicalCoding.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKClinicalCoding.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKClinicalCoding.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKClinicalCoding.h 2025-05-24 23:32:24
@@ -0,0 +1,58 @@
+//
+// HKClinicalCoding.h
+// HealthKit
+//
+// Copyright © 2025 Apple. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <HealthKit/HKDefines.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @class HKClinicalCoding
+ @abstract A coding embedded within a system.
+ @discussion Typically represents a single abstract concept within a coding system. This model is closely related to the FHIR model for codings. (https://build.fhir.org/datatypes.html#Coding)
+ */
+HK_EXTERN
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0))
+@interface HKClinicalCoding : NSObject <NSCopying, NSSecureCoding>
+/*!
+ @property system
+ @abstract A string identifier that uniquely represents a system.
+ @discussion In most cases, it will be the canonical reference URL for the coding system with respect to the HL7 Terminology. For the system RxNorm, for example, this would be "http://www.nlm.nih.gov/research/umls/rxnorm", according to https://terminology.hl7.org/CodeSystem-v3-rxNorm.html.
+ */
+@property (nonatomic, copy, readonly) NSString *system;
+
+/*!
+ @property version
+ @abstract The version of the coding system, if it is relevant.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *version;
+
+/*!
+ @property code
+ @abstract The code for this concept.
+ @discussion The format of this code varies within each system.
+ */
+@property (nonatomic, copy, readonly) NSString *code;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*!
+ @method initWithSystem:version:code:
+ @abstract Initializer for a clinical coding.
+
+ @param system The system for this clinical coding.
+ @param version A version, if applicable.
+ @param code The actual code.
+ */
+- (instancetype)initWithSystem:(NSString *)system
+ version:(nullable NSString *)version
+ code:(NSString *)code;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h 2025-04-19 03:30:24
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKDefines.h 2025-05-31 00:14:18
@@ -2,7 +2,7 @@
// HKDefines.h
// HealthKit
//
-// Copyright (c) 2013-2024 Apple Inc. All rights reserved.
+// Copyright (c) 2013-2025 Apple Inc. All rights reserved.
//
@@ -31,7 +31,7 @@
perform the requested operation.
@constant HKErrorDatabaseInaccessible Protected health data is inaccessible because the device is locked.
@constant HKErrorUserCanceled The user canceled the operation.
- @constant HKErrorAnotherWorkoutSessionStarted Another workout session was started by this or another application.
+ @constant HKErrorAnotherWorkoutSessionStarted Another primary workout session has started or is already ongoing by this or another application.
@constant HKErrorUserExitedWorkoutSession User exited the application while a workout session was running.
@constant HKErrorRequiredAuthorizationDenied The user has not granted the application authorization to access
required data types.
@@ -105,7 +105,6 @@
/// 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;
-
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthConceptIdentifier.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthConceptIdentifier.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthConceptIdentifier.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthConceptIdentifier.h 2025-05-24 23:32:25
@@ -0,0 +1,43 @@
+//
+// HKHealthConceptIdentifier.h
+// HealthKit
+//
+// Copyright © 2025 Apple. All rights reserved.
+//
+
+
+#import <Foundation/Foundation.h>
+#import <HealthKit/HKDefines.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark - Concepts
+
+/// Represents the domain of a HKHealthConceptIdentifier
+typedef NSString * HKHealthConceptDomain NS_TYPED_ENUM API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+
+/// The domain that represents medication concept identifiers
+HK_EXTERN HKHealthConceptDomain const HKHealthConceptDomainMedication API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+
+/*!
+ @class HKHealthConceptIdentifier
+ @abstract The identifier that differentiates concepts from each other.
+ @discussion This identifier is internally unique to each concept within a domain.
+ */
+HK_EXTERN
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0))
+@interface HKHealthConceptIdentifier : NSObject <NSSecureCoding, NSCopying>
+
+/*!
+ @property domain
+ @abstract The domain of this identifier.
+ @discussion A string that represents the domain this identifier is understood within.
+ */
+@property (nonatomic, copy, readonly) HKHealthConceptDomain domain;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h 2025-04-19 04:30:29
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKHealthStore.h 2025-05-31 00:27:24
@@ -2,7 +2,7 @@
// HKHealthStore.h
// HealthKit
//
-// Copyright (c) 2013-2024 Apple Inc. All rights reserved.
+// Copyright (c) 2013-2025 Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
@@ -346,7 +346,7 @@
@abstract Recovers an active workout session after a client crash. If no session is available to be re-attached,
nil will be returned. If an error occurs, session will be nil and error will be set appropriately.
*/
-- (void)recoverActiveWorkoutSessionWithCompletion:(void (^NS_SWIFT_SENDABLE)(HKWorkoutSession * _Nullable_result session, NSError * _Nullable error))completion API_AVAILABLE(watchos(5.0)) API_UNAVAILABLE(ios, macCatalyst, macos);
+- (void)recoverActiveWorkoutSessionWithCompletion:(void (^NS_SWIFT_SENDABLE)(HKWorkoutSession * _Nullable_result session, NSError * _Nullable error))completion API_AVAILABLE(ios(26.0), watchos(5.0)) API_UNAVAILABLE(macCatalyst, macos, visionos);
@end
@@ -396,7 +396,7 @@
The returned dictionary will map HKQuantityType to HKUnit.
*/
-- (void)preferredUnitsForQuantityTypes:(NSSet<HKQuantityType *> *)quantityTypes completion:(void (^)(NSDictionary<HKQuantityType *, HKUnit *> *preferredUnits, NSError * _Nullable error))completion API_AVAILABLE(ios(8.2), watchos(2.0), macCatalyst(13.0), macos(13.0));
+- (void)preferredUnitsForQuantityTypes:(NSSet<HKQuantityType *> *)quantityTypes completion:(void (^ NS_SWIFT_SENDABLE)(NSDictionary<HKQuantityType *, HKUnit *> *preferredUnits, NSError * _Nullable error))completion API_AVAILABLE(ios(8.2), watchos(2.0), macCatalyst(13.0), macos(13.0));
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h 2025-04-19 03:30:25
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutBuilder.h 2025-05-31 00:08:17
@@ -2,7 +2,7 @@
// HKLiveWorkoutBuilder.h
// HealthKit
//
-// Copyright © 2018-2024 Apple. All rights reserved.
+// Copyright © 2018-2025 Apple. All rights reserved.
//
#import <Foundation/Foundation.h>
@@ -17,7 +17,7 @@
@class HKWorkoutSession;
HK_EXTERN
-API_AVAILABLE(watchos(5.0)) API_UNAVAILABLE(ios)
+API_AVAILABLE(ios(26.0), watchos(5.0)) API_UNAVAILABLE(visionos)
@protocol HKLiveWorkoutBuilderDelegate <NSObject>
/*!
@@ -47,7 +47,7 @@
@param workoutBuilder The workout builder to which the activity was added to.
@param workoutActivity The activity that was added.
*/
-- (void)workoutBuilder:(HKLiveWorkoutBuilder *)workoutBuilder didBeginActivity:(HKWorkoutActivity *)workoutActivity API_AVAILABLE(watchos(9.0));
+- (void)workoutBuilder:(HKLiveWorkoutBuilder *)workoutBuilder didBeginActivity:(HKWorkoutActivity *)workoutActivity API_AVAILABLE(ios(26.0), watchos(9.0)) API_UNAVAILABLE(visionos);
/*!
@method workoutBuilder:didEndActivity:
@@ -56,13 +56,13 @@
@param workoutBuilder The workout builder to which the activity belongs to
@param workoutActivity The activity that was ended.
*/
-- (void)workoutBuilder:(HKLiveWorkoutBuilder *)workoutBuilder didEndActivity:(HKWorkoutActivity *)workoutActivity API_AVAILABLE(watchos(9.0));
+- (void)workoutBuilder:(HKLiveWorkoutBuilder *)workoutBuilder didEndActivity:(HKWorkoutActivity *)workoutActivity API_AVAILABLE(ios(26.0), watchos(9.0)) API_UNAVAILABLE(visionos);
@end
HK_EXTERN
NS_SWIFT_SENDABLE
-API_AVAILABLE(watchos(5.0)) API_UNAVAILABLE(ios)
+API_AVAILABLE(ios(26.0), watchos(5.0)) API_UNAVAILABLE(visionos)
@interface HKLiveWorkoutBuilder : HKWorkoutBuilder
- (instancetype)initWithHealthStore:(HKHealthStore *)healthStore
@@ -111,7 +111,7 @@
@discussion When an activity is in progress it will be returned by this property. The end date of this activity will always
be nil. When the activity is ended, the property would be set to nil until a new activity begins.
*/
-@property (copy, readonly, nullable) HKWorkoutActivity *currentWorkoutActivity API_AVAILABLE(watchos(9.0));
+@property (copy, readonly, nullable) HKWorkoutActivity *currentWorkoutActivity API_AVAILABLE(ios(26.0), watchos(9.0)) API_UNAVAILABLE(visionos);
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutDataSource.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutDataSource.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutDataSource.h 2025-04-19 02:20:44
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKLiveWorkoutDataSource.h 2025-05-24 23:32:23
@@ -2,7 +2,7 @@
// HKLiveWorkoutDataSource.h
// HealthKit
//
-// Copyright © 2017 Apple. All rights reserved.
+// Copyright © 2017-2025 Apple. All rights reserved.
//
#import <Foundation/Foundation.h>
@@ -20,16 +20,29 @@
*/
HK_EXTERN
NS_SWIFT_SENDABLE
-API_AVAILABLE(watchos(5.0)) API_UNAVAILABLE(ios)
+API_AVAILABLE(ios(26.0), watchos(5.0)) API_UNAVAILABLE(visionos)
@interface HKLiveWorkoutDataSource : NSObject
- (instancetype)init NS_UNAVAILABLE;
/*!
+ @property currentCollectedTypes
+ @abstract The default quantity types that are being collected
+ @discussion: If types are manually enabled or disabled this property will not update
+ */
+@property (copy, readonly) NSSet<HKQuantityType *> *currentCollectedTypes API_AVAILABLE(ios(26.0), watchos(26.0));
+
+/*!
+ @property collectsGeneratedTypes
+ @abstract True if generated types are being collected.
+ */
+@property (nonatomic, assign) BOOL collectsGeneratedTypes API_AVAILABLE(ios(26.0), watchos(26.0));
+
+/*!
@property typesToCollect
@abstract The quantity types the receiver is collecting.
*/
-@property (copy, readonly) NSSet<HKQuantityType *> *typesToCollect;
+@property (copy, readonly) NSSet<HKQuantityType *> *typesToCollect API_DEPRECATED_WITH_REPLACEMENT("currentCollectedTypes", watchos(5.0, 11.0)) API_UNAVAILABLE(ios, visionos);
/*!
@method initWithHealthStore:workoutConfiguration:
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMedicationConcept.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMedicationConcept.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMedicationConcept.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMedicationConcept.h 2025-05-24 23:32:23
@@ -0,0 +1,81 @@
+//
+// HKMedicationConcept.h
+// HealthKit
+//
+// Copyright © 2025 Apple. All rights reserved.
+//
+
+
+#import <Foundation/Foundation.h>
+#import <HealthKit/HKDefines.h>
+
+@class HKClinicalCoding;
+@class HKHealthConceptIdentifier;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Represents a medications general form.
+typedef NSString * NS_TYPED_ENUM HKMedicationGeneralForm;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormCapsule;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormCream;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormDevice;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormDrops;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormFoam;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormGel;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormInhaler;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormInjection;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormLiquid;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormLotion;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormOintment;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormPatch;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormPowder;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormSpray;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormSuppository;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormTablet;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormTopical;
+HK_EXTERN HKMedicationGeneralForm const HKMedicationGeneralFormUnknown;
+
+/*!
+ @class HKMedicationConcept
+ @abstract An object that represents the concept of a medication.
+ @discussion Medications can have clinical significance, or can be created by the user.
+ */
+HK_EXTERN
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0))
+@interface HKMedicationConcept : NSObject <NSSecureCoding, NSCopying>
+
+/*!
+ @property identifier
+ @abstract A unique identifier that differentiates concepts from each other.
+ @discussion One medication concept will have a stable identifier across multiple devices, and can be used for direct comparison.
+ */
+@property (nonatomic, copy, readonly) HKHealthConceptIdentifier *identifier;
+
+
+/*!
+ @property displayText
+ @abstract An unlocalized string suitable for display.
+ @discussion The name of the medication entered or selected during medication onboarding.
+ */
+@property (nonatomic, copy, readonly) NSString *displayText;
+
+/*!
+ @property generalForm
+ @abstract The general form this medication is manufactured in.
+ @discussion A general manufactured dose form for this medication.
+ */
+@property (nonatomic, copy, readonly) HKMedicationGeneralForm generalForm;
+
+/*!
+ @property relatedCodings
+ @abstract A list of potentially related codings.
+ @discussion Contains a set of relevant codes for this particular medication.
+ */
+@property (nonatomic, copy, readonly) NSSet<HKClinicalCoding *> *relatedCodings;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMedicationDoseEvent.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMedicationDoseEvent.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMedicationDoseEvent.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMedicationDoseEvent.h 2025-05-30 05:53:13
@@ -0,0 +1,121 @@
+//
+// HKMedicationDoseEvent.h
+// HealthKit
+//
+// Copyright © 2025 Apple. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <HealthKit/HKDefines.h>
+#import <HealthKit/HKSample.h>
+
+@class HKHealthConceptIdentifier;
+@class HKUnit;
+@class HKMedicationDoseEventType;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @enum HKMedicationDoseEventLogStatus
+ @abstract The possible statuses of a logged HKMedicationDoseEvent
+
+ @constant HKMedicationDoseEventLogStatusNotInteracted User has not logged information for a scheduled medication. System generated status.
+ @constant HKMedicationDoseEventLogStatusNotificationNotSent Could not deliver a notification for a scheduled medication. System generated status.
+ @constant HKMedicationDoseEventLogStatusSnoozed User snoozed the notification.
+ @constant HKMedicationDoseEventLogStatusTaken Logged the medication dose as taken.
+ @constant HKMedicationDoseEventLogStatusSkipped Logged the medication dose as skipped.
+ @constant HKMedicationDoseEventLogStatusNotLogged User has undone logging.
+ */
+
+typedef NS_ENUM(NSInteger, HKMedicationDoseEventLogStatus) {
+ HKMedicationDoseEventLogStatusNotInteracted = 1,
+ HKMedicationDoseEventLogStatusNotificationNotSent,
+ HKMedicationDoseEventLogStatusSnoozed,
+ HKMedicationDoseEventLogStatusTaken,
+ HKMedicationDoseEventLogStatusSkipped,
+ HKMedicationDoseEventLogStatusNotLogged,
+} API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(HKMedicationDoseEvent.LogStatus);
+
+/*!
+ @enum HKMedicationDoseEventScheduleType
+ @abstract The kind of schedule used to log this dose event.
+
+ @constant HKMedicationDoseEventScheduleTypeAsNeeded The dose event was created while logging a medication as needed.
+ @constant HKMedicationDoseEventScheduleTypeSchedule The dose event was created while logging a medication from a scheduled event.
+ */
+typedef NS_ENUM(NSInteger, HKMedicationDoseEventScheduleType) {
+ HKMedicationDoseEventScheduleTypeAsNeeded = 1,
+ HKMedicationDoseEventScheduleTypeSchedule
+} API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(HKMedicationDoseEvent.ScheduleType);
+
+HK_EXTERN
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0))
+@interface HKMedicationDoseEvent : HKSample <NSSecureCoding, NSCopying>
+
+/*!
+@property medicationDoseEventType
+@abstract The data type of the HKMedicationDoseEvent object.
+*/
+@property (readonly, copy) HKMedicationDoseEventType *medicationDoseEventType;
+
+/*!
+@property scheduleType
+@abstract The impetus behind the dose event.
+@discussion HKMedicationDoseEventScheduleTypeAsNeeded for doses logged as needed, and HKMedicationDoseEventScheduleTypeSchedule for doses logged from a scheduled event.
+*/
+@property (nonatomic, assign, readonly) HKMedicationDoseEventScheduleType scheduleType;
+
+/*!
+@property medicationConceptIdentifier
+@abstract A unique identifier of the medication concept for which the dose event was created for, used to relate the dose event to the backing HKMedicationConcept object.
+*/
+@property (nonatomic, copy, readonly) HKHealthConceptIdentifier *medicationConceptIdentifier;
+
+/*!
+@property scheduledDate
+@abstract The time that the medication dose was supposed to be taken.
+@discussion Always non-null for scheduled medication dose events, always null for as needed dose events.
+*/
+@property (nonatomic, copy, readonly, nullable) NSDate *scheduledDate;
+
+/*!
+@property scheduledDoseQuantity
+@abstract The dose quantity a user is expected to take per the user's schedule.
+@discussion Always non-null for scheduled medication dose events, always null for as needed dose events.
+*/
+@property (nonatomic, copy, readonly, nullable) NSNumber *scheduledDoseQuantity NS_REFINED_FOR_SWIFT;
+
+/*!
+@property doseQuantity
+@abstract The dose quantity the user indicates has actually been taken.
+@discussion For scheduled dose events, defaults to the scheduledDoseQuantity, when logged from a reminder. For as needed dose events, defaults to 1 in the medication tracking experience, but can be edited by the user at any time.
+*/
+@property (nonatomic, copy, readonly, nullable) NSNumber *doseQuantity NS_REFINED_FOR_SWIFT;
+
+/*!
+@property logStatus
+@abstract The log status of HKMedicationDoseEvent sample.
+*/
+@property (nonatomic, assign, readonly) HKMedicationDoseEventLogStatus logStatus;
+
+
+/*!
+@property unit
+@abstract The unit that the associated medication had associated at time the user logged the dose event.
+*/
+@property (nonatomic, copy, readonly, nonnull) HKUnit *unit;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+// Predicate Key Paths
+HK_EXTERN NSString * const HKPredicateKeyPathStatus API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+HK_EXTERN NSString * const HKPredicateKeyPathLogOrigin API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+HK_EXTERN NSString * const HKPredicateKeyPathScheduledDate API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+HK_EXTERN NSString * const HKPredicateKeyPathMedicationConceptIdentifier API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+
+NS_ASSUME_NONNULL_END
+
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h 2025-04-19 04:55:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadata.h 2025-05-24 23:32:25
@@ -7,6 +7,7 @@
#import <Foundation/Foundation.h>
#import <HealthKit/HKDefines.h>
+#import <HealthKit/HKMetadataEnums.h>
NS_ASSUME_NONNULL_BEGIN
@@ -24,21 +25,6 @@
*/
HK_EXTERN NSString * const HKMetadataKeyBodyTemperatureSensorLocation API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-typedef NS_ENUM(NSInteger, HKBodyTemperatureSensorLocation) {
- HKBodyTemperatureSensorLocationOther = 0,
- HKBodyTemperatureSensorLocationArmpit,
- HKBodyTemperatureSensorLocationBody,
- HKBodyTemperatureSensorLocationEar,
- HKBodyTemperatureSensorLocationFinger,
- HKBodyTemperatureSensorLocationGastroIntestinal,
- HKBodyTemperatureSensorLocationMouth,
- HKBodyTemperatureSensorLocationRectum,
- HKBodyTemperatureSensorLocationToe,
- HKBodyTemperatureSensorLocationEarDrum,
- HKBodyTemperatureSensorLocationTemporalArtery,
- HKBodyTemperatureSensorLocationForehead,
-} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
/*!
@constant HKMetadataKeyHeartRateSensorLocation
@abstract Represents the location where a particular heart rate reading was taken.
@@ -46,16 +32,6 @@
*/
HK_EXTERN NSString * const HKMetadataKeyHeartRateSensorLocation API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-typedef NS_ENUM(NSInteger, HKHeartRateSensorLocation) {
- HKHeartRateSensorLocationOther = 0,
- HKHeartRateSensorLocationChest,
- HKHeartRateSensorLocationWrist,
- HKHeartRateSensorLocationFinger,
- HKHeartRateSensorLocationHand,
- HKHeartRateSensorLocationEarLobe,
- HKHeartRateSensorLocationFoot,
-} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-
/*!
@constant HKMetadataKeyHeartRateMotionContext
@abstract Represents the context in which a particular heart rate reading was taken.
@@ -65,12 +41,6 @@
*/
HK_EXTERN NSString * const HKMetadataKeyHeartRateMotionContext API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
-typedef NS_ENUM(NSInteger, HKHeartRateMotionContext) {
- HKHeartRateMotionContextNotSet = 0,
- HKHeartRateMotionContextSedentary,
- HKHeartRateMotionContextActive,
-} API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
-
/*!
@constant HKMetadataKeyUserMotionContext
@abstract Represents the user's motion when a particular sample was taken.
@@ -80,12 +50,6 @@
*/
HK_EXTERN NSString * const HKMetadataKeyUserMotionContext API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
-typedef NS_ENUM(NSInteger, HKUserMotionContext) {
- HKUserMotionContextNotSet = 0,
- HKUserMotionContextStationary,
- HKUserMotionContextActive,
-} API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
-
/*!
@constant HKMetadataKeySessionEstimate
@abstract Represents a per-session estimate prior to longitudinal smoothing applied to the value stored in the associated HKQuantitySample.
@@ -94,20 +58,6 @@
HK_EXTERN NSString * const HKMetadataKeySessionEstimate API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
/*!
- @enum HKHeartRateRecoveryTestType
- @abstract Represents the test used to determine a Heart Rate Recovery value
-
- @constant HKHeartRateRecoveryTestTypeMaxExercise The user was exerted to their physical limit to evaluate actual Heart Rate Recovery.
- @constant HKHeartRateRecoveryTestTypePredictionSubMaxExercise A specific test protocol was used to calculate and correlate a predicted Heart Rate Recovery.
- @constant HKHeartRateRecoveryTestTypePredictionNonExercise A non-exercise equation was used based on user metrics to calculate a predicted Heart Rate Recovery.
- */
-typedef NS_ENUM(NSInteger, HKHeartRateRecoveryTestType) {
- HKHeartRateRecoveryTestTypeMaxExercise = 1,
- HKHeartRateRecoveryTestTypePredictionSubMaxExercise,
- HKHeartRateRecoveryTestTypePredictionNonExercise,
-} API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
-
-/*!
@constant HKMetadataKeyHeartRateRecoveryTestType
@abstract Represents the test used to determine a Heart Rate Recovery value
@discussion The expected value type is an NSNumber containing a HKHeartRateRecoveryTestType value.
@@ -302,37 +252,6 @@
*/
HK_EXTERN NSString * const HKMetadataKeyCoachedWorkout API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
-typedef NS_ENUM(NSInteger, HKWeatherCondition) {
- HKWeatherConditionNone = 0,
- HKWeatherConditionClear,
- HKWeatherConditionFair,
- HKWeatherConditionPartlyCloudy,
- HKWeatherConditionMostlyCloudy,
- HKWeatherConditionCloudy,
- HKWeatherConditionFoggy,
- HKWeatherConditionHaze,
- HKWeatherConditionWindy,
- HKWeatherConditionBlustery,
- HKWeatherConditionSmoky,
- HKWeatherConditionDust,
- HKWeatherConditionSnow,
- HKWeatherConditionHail,
- HKWeatherConditionSleet,
- HKWeatherConditionFreezingDrizzle,
- HKWeatherConditionFreezingRain,
- HKWeatherConditionMixedRainAndHail,
- HKWeatherConditionMixedRainAndSnow,
- HKWeatherConditionMixedRainAndSleet,
- HKWeatherConditionMixedSnowAndSleet,
- HKWeatherConditionDrizzle,
- HKWeatherConditionScatteredShowers,
- HKWeatherConditionShowers,
- HKWeatherConditionThunderstorms,
- HKWeatherConditionTropicalStorm,
- HKWeatherConditionHurricane,
- HKWeatherConditionTornado,
-} API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
-
/*!
@constant HKMetadataKeyWeatherCondition
@abstract Represents the weather condition during the sample.
@@ -382,17 +301,6 @@
HK_EXTERN NSString * const HKMetadataKeyLapLength API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
/*!
- @enum HKWorkoutSwimmingLocationType
- @abstract This enumerated type is used to represent the location type of a swimming workout.
- @discussion This value indicates whether a swimming workout was performed in a pool or open water.
- */
-typedef NS_ENUM(NSInteger, HKWorkoutSwimmingLocationType) {
- HKWorkoutSwimmingLocationTypeUnknown = 0,
- HKWorkoutSwimmingLocationTypePool,
- HKWorkoutSwimmingLocationTypeOpenWater,
-} API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
-
-/*!
@constant HKMetadataKeySwimmingLocationType
@abstract Represents the location type of a swimming workout.
@discussion The expected value type is an NSNumber containing an HKWorkoutSwimmingLocationType value. This key may
@@ -401,20 +309,6 @@
HK_EXTERN NSString * const HKMetadataKeySwimmingLocationType API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
/*!
- @enum HKSwimmingStrokeStyle
- @abstract Represents a style of stroke used during a swimming workout.
- */
-typedef NS_ENUM(NSInteger, HKSwimmingStrokeStyle) {
- HKSwimmingStrokeStyleUnknown = 0,
- HKSwimmingStrokeStyleMixed,
- HKSwimmingStrokeStyleFreestyle,
- HKSwimmingStrokeStyleBackstroke,
- HKSwimmingStrokeStyleBreaststroke,
- HKSwimmingStrokeStyleButterfly,
- HKSwimmingStrokeStyleKickboard API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)),
-} API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
-
-/*!
@constant HKMetadataKeySwimmingStrokeStyle
@abstract Represents the predominant stroke style during a lap of a swimming workout.
@discussion The expected value type is an NSNumber containing an HKSwimmingStrokeStyle value. This key may be set on
@@ -424,22 +318,6 @@
HK_EXTERN NSString * const HKMetadataKeySwimmingStrokeStyle API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
/*!
- @enum HKInsulinDeliveryReason
- @abstract Represents a medical reason for the delivery of insulin
-
- @constant HKInsulinDeliveryReasonBasal Delivery for the base metabolic needs of the individual, often
- administered as a continuous rate from an insulin pump, or a periodic
- injection of slow-acting insulin.
- @constant HKInsulinDeliveryReasonBolus Delivery for the episodic needs of the individual, such as a meal or
- glucose level correction.
- */
-
-typedef NS_ENUM(NSInteger, HKInsulinDeliveryReason) {
- HKInsulinDeliveryReasonBasal = 1,
- HKInsulinDeliveryReasonBolus,
-} API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
-
-/*!
@constant HKMetadataKeyInsulinDeliveryReason
@abstract Represents the medical reason for the delivery of an insulin dose. This is a required metadata key for
samples of type HKQuantityTypeIdentifierInsulinDelivery.
@@ -448,18 +326,6 @@
HK_EXTERN NSString * const HKMetadataKeyInsulinDeliveryReason API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
/*!
- @enum HKBloodGlucoseMealTime
- @abstract Indicates how your blood glucose reading relates to a meal.
-
- @constant HKBloodGlucoseMealTimePreprandial A glucose value measured at the time just before a meal.
- @constant HKBloodGlucoseMealTimePostprandial A glucose value measured after a meal.
- */
-typedef NS_ENUM(NSInteger, HKBloodGlucoseMealTime) {
- HKBloodGlucoseMealTimePreprandial = 1,
- HKBloodGlucoseMealTimePostprandial,
-} API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
-
-/*!
@constant HKMetadataKeyBloodGlucoseMealTime
@abstract Indicates the relative timing of a blood glucose reading to a meal.
@discussion This timing, as well as other factors like meal composition, can be used by medical professionals to
@@ -471,20 +337,6 @@
HK_EXTERN NSString * const HKMetadataKeyBloodGlucoseMealTime API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
/*!
- @enum HKVO2MaxTestType
- @abstract Represents the test used to create a VO2 Max Sample.
-
- @constant HKVO2MaxTestTypeMaxExercise The user was exerted to their physical limit to evaluate and measure actual VO2Max.
- @constant HKVO2MaxTestTypePredictionSubMaxExercise A specific test protocol was used to calculate and correlate a predicted VO2Max.
- @constant HKVO2MaxTestTypePredictionNonExercise A non-exercise equation was used based on user metrics to calculate a predicted VO2Max.
- */
-typedef NS_ENUM(NSInteger, HKVO2MaxTestType) {
- HKVO2MaxTestTypeMaxExercise = 1,
- HKVO2MaxTestTypePredictionSubMaxExercise,
- HKVO2MaxTestTypePredictionNonExercise,
-} API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
-
-/*!
@constant HKMetadataKeyVO2MaxTestType
@abstract Represents the test used to create VO2 Max Sample
@discussion The expected value type is an NSNumber containing a HKVO2MaxTestType value.
@@ -600,17 +452,6 @@
HK_EXTERN NSString * const HKMetadataKeyAudioExposureDuration API_AVAILABLE(ios(14.2), watchos(7.1), macCatalyst(14.2), macos(13.0));
/*!
- @enum HKAppleECGAlgorithmVersion
- @abstract Indicates which algorithm version number was used by the ECG app on Apple Watch.
-
- @constant HKAppleECGAlgorithmVersion1 Apple Watch used a version 1 algorithm to generate this ECG.
- */
-typedef NS_ENUM(NSInteger, HKAppleECGAlgorithmVersion) {
- HKAppleECGAlgorithmVersion1 = 1,
- HKAppleECGAlgorithmVersion2 API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)) = 2,
-} API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
-
-/*!
@constant HKMetadataKeyAppleECGAlgorithmVersion
@abstract Represents the ECG algorithm version that was used to generate a particular HKElectrocardiogram.
@discussion The expected value type is an an NSNumber containing a HKAppleECGAlgorithmVersion value.
@@ -618,21 +459,6 @@
HK_EXTERN NSString * const HKMetadataKeyAppleECGAlgorithmVersion API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
/*!
- @enum HKDevicePlacementSide
- @abstract The detected placement of the device during the bout of walking
- @constant HKDevicePlacementSideUnknown Unable to determine the placement of the device
- @constant HKDevicePlacementSideLeft Device predominantly worn on left side
- @constant HKDevicePlacementSideRight Device predominantly worn on right side
- @constant HKDevicePlacementSideCentral Device predominantly worn on the middle of the body
- */
-typedef NS_ENUM(NSInteger, HKDevicePlacementSide) {
- HKDevicePlacementSideUnknown = 0,
- HKDevicePlacementSideLeft,
- HKDevicePlacementSideRight,
- HKDevicePlacementSideCentral,
-} API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
-
-/*!
@constant HKMetadataKeyDevicePlacementSide
@abstract Represents the detected placement of the device during the bout of walking
@discussion The expected value type is an NSNumber containing a HKDevicePlacementSide value. This key is expected to
@@ -712,16 +538,6 @@
HK_EXTERN NSString * const HKMetadataKeyGlassesPrescriptionDescription API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.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.
@@ -744,22 +560,6 @@
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.
@@ -772,18 +572,6 @@
@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));
/*!
@constant HKMetadataKeyMaximumLightIntensity
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadataEnums.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadataEnums.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadataEnums.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKMetadataEnums.h 2025-05-31 00:08:15
@@ -0,0 +1,250 @@
+//
+// HKMetadataEnums.h
+// HealthKit
+//
+// Copyright © 2013-2025 Apple, Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#import <HealthKit/HKDefines.h>
+
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @enum HKAppleECGAlgorithmVersion
+ @abstract Indicates which algorithm version number was used by the ECG app on Apple Watch.
+
+ @constant HKAppleECGAlgorithmVersion1 Apple Watch used a version 1 algorithm to generate this ECG.
+ @constant HKAppleECGAlgorithmVersion2 Apple Watch used a version 2 algorithm to generate this ECG.
+ */
+typedef NS_ENUM(NSInteger, HKAppleECGAlgorithmVersion) {
+ HKAppleECGAlgorithmVersion1 = 1,
+ HKAppleECGAlgorithmVersion2 API_AVAILABLE(ios(14.3), watchos(7.2), macCatalyst(14.3), macos(13.0)),
+} API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
+
+/*!
+ @enum HKBloodGlucoseMealTime
+ @abstract Indicates how your blood glucose reading relates to a meal.
+
+ @constant HKBloodGlucoseMealTimePreprandial A glucose value measured at the time just before a meal.
+ @constant HKBloodGlucoseMealTimePostprandial A glucose value measured after a meal.
+ */
+typedef NS_ENUM(NSInteger, HKBloodGlucoseMealTime) {
+ HKBloodGlucoseMealTimePreprandial = 1,
+ HKBloodGlucoseMealTimePostprandial,
+} API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
+
+typedef NS_ENUM(NSInteger, HKBodyTemperatureSensorLocation) {
+ HKBodyTemperatureSensorLocationOther = 0,
+ HKBodyTemperatureSensorLocationArmpit,
+ HKBodyTemperatureSensorLocationBody,
+ HKBodyTemperatureSensorLocationEar,
+ HKBodyTemperatureSensorLocationFinger,
+ HKBodyTemperatureSensorLocationGastroIntestinal,
+ HKBodyTemperatureSensorLocationMouth,
+ HKBodyTemperatureSensorLocationRectum,
+ HKBodyTemperatureSensorLocationToe,
+ HKBodyTemperatureSensorLocationEarDrum,
+ HKBodyTemperatureSensorLocationTemporalArtery,
+ HKBodyTemperatureSensorLocationForehead,
+} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.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));
+
+/*!
+ @enum HKDevicePlacementSide
+ @abstract The detected placement of the device during the bout of walking
+
+ @constant HKDevicePlacementSideUnknown Unable to determine the placement of the device
+ @constant HKDevicePlacementSideLeft Device predominantly worn on left side
+ @constant HKDevicePlacementSideRight Device predominantly worn on right side
+ @constant HKDevicePlacementSideCentral Device predominantly worn on the middle of the body
+ */
+typedef NS_ENUM(NSInteger, HKDevicePlacementSide) {
+ HKDevicePlacementSideUnknown = 0,
+ HKDevicePlacementSideLeft,
+ HKDevicePlacementSideRight,
+ HKDevicePlacementSideCentral,
+} API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
+
+typedef NS_ENUM(NSInteger, HKHeartRateMotionContext) {
+ HKHeartRateMotionContextNotSet = 0,
+ HKHeartRateMotionContextSedentary,
+ HKHeartRateMotionContextActive,
+} API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKHeartRateRecoveryTestType
+ @abstract Represents the test used to determine a Heart Rate Recovery value
+
+ @constant HKHeartRateRecoveryTestTypeMaxExercise The user was exerted to their physical limit to
+ evaluate actual Heart Rate Recovery.
+ @constant HKHeartRateRecoveryTestTypePredictionSubMaxExercise A specific test protocol was used to calculate
+ and correlate a predicted Heart Rate Recovery.
+ @constant HKHeartRateRecoveryTestTypePredictionNonExercise A non-exercise equation was used based on user
+ metrics to calculate a predicted Heart Rate
+ Recovery.
+ */
+typedef NS_ENUM(NSInteger, HKHeartRateRecoveryTestType) {
+ HKHeartRateRecoveryTestTypeMaxExercise = 1,
+ HKHeartRateRecoveryTestTypePredictionSubMaxExercise,
+ HKHeartRateRecoveryTestTypePredictionNonExercise,
+} API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
+
+typedef NS_ENUM(NSInteger, HKHeartRateSensorLocation) {
+ HKHeartRateSensorLocationOther = 0,
+ HKHeartRateSensorLocationChest,
+ HKHeartRateSensorLocationWrist,
+ HKHeartRateSensorLocationFinger,
+ HKHeartRateSensorLocationHand,
+ HKHeartRateSensorLocationEarLobe,
+ HKHeartRateSensorLocationFoot,
+} API_AVAILABLE(ios(8.0), watchos(2.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKInsulinDeliveryReason
+ @abstract Represents a medical reason for the delivery of insulin
+
+ @constant HKInsulinDeliveryReasonBasal Delivery for the base metabolic needs of the individual, often
+ administered as a continuous rate from an insulin pump, or a periodic
+ injection of slow-acting insulin.
+ @constant HKInsulinDeliveryReasonBolus Delivery for the episodic needs of the individual, such as a meal or
+ glucose level correction.
+ */
+typedef NS_ENUM(NSInteger, HKInsulinDeliveryReason) {
+ HKInsulinDeliveryReasonBasal = 1,
+ HKInsulinDeliveryReasonBolus,
+} API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.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));
+
+/*!
+ @enum HKSwimmingStrokeStyle
+ @abstract Represents a style of stroke used during a swimming workout.
+ */
+typedef NS_ENUM(NSInteger, HKSwimmingStrokeStyle) {
+ HKSwimmingStrokeStyleUnknown = 0,
+ HKSwimmingStrokeStyleMixed,
+ HKSwimmingStrokeStyleFreestyle,
+ HKSwimmingStrokeStyleBackstroke,
+ HKSwimmingStrokeStyleBreaststroke,
+ HKSwimmingStrokeStyleButterfly,
+ HKSwimmingStrokeStyleKickboard API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)),
+} API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
+
+typedef NS_ENUM(NSInteger, HKUserMotionContext) {
+ HKUserMotionContextNotSet = 0,
+ HKUserMotionContextStationary,
+ HKUserMotionContextActive,
+} API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
+
+/*!
+ @enum HKVO2MaxTestType
+ @abstract Represents the test used to create a VO2 Max Sample.
+
+ @constant HKVO2MaxTestTypeMaxExercise The user was exerted to their physical limit to evaluate and
+ measure actual VO2Max.
+ @constant HKVO2MaxTestTypePredictionSubMaxExercise A specific test protocol was used to calculate and correlate
+ a predicted VO2Max.
+ @constant HKVO2MaxTestTypePredictionNonExercise A non-exercise equation was used based on user metrics to
+ calculate a predicted VO2Max.
+ @constant HKVO2MaxTestTypePredictionStepTest The step test protocol was used to calculate and correlate a
+ predicted VO2Max.
+ */
+typedef NS_ENUM(NSInteger, HKVO2MaxTestType) {
+ HKVO2MaxTestTypeMaxExercise = 1,
+ HKVO2MaxTestTypePredictionSubMaxExercise,
+ HKVO2MaxTestTypePredictionNonExercise,
+ HKVO2MaxTestTypePredictionStepTest API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0)),
+} API_AVAILABLE(ios(11.0), watchos(4.0), macCatalyst(13.0), macos(13.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));
+
+typedef NS_ENUM(NSInteger, HKWeatherCondition) {
+ HKWeatherConditionNone = 0,
+ HKWeatherConditionClear,
+ HKWeatherConditionFair,
+ HKWeatherConditionPartlyCloudy,
+ HKWeatherConditionMostlyCloudy,
+ HKWeatherConditionCloudy,
+ HKWeatherConditionFoggy,
+ HKWeatherConditionHaze,
+ HKWeatherConditionWindy,
+ HKWeatherConditionBlustery,
+ HKWeatherConditionSmoky,
+ HKWeatherConditionDust,
+ HKWeatherConditionSnow,
+ HKWeatherConditionHail,
+ HKWeatherConditionSleet,
+ HKWeatherConditionFreezingDrizzle,
+ HKWeatherConditionFreezingRain,
+ HKWeatherConditionMixedRainAndHail,
+ HKWeatherConditionMixedRainAndSnow,
+ HKWeatherConditionMixedRainAndSleet,
+ HKWeatherConditionMixedSnowAndSleet,
+ HKWeatherConditionDrizzle,
+ HKWeatherConditionScatteredShowers,
+ HKWeatherConditionShowers,
+ HKWeatherConditionThunderstorms,
+ HKWeatherConditionTropicalStorm,
+ HKWeatherConditionHurricane,
+ HKWeatherConditionTornado,
+} API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
+
+/*!
+ @enum HKWorkoutSwimmingLocationType
+ @abstract This enumerated type is used to represent the location type of a swimming workout.
+ @discussion This value indicates whether a swimming workout was performed in a pool or open water.
+ */
+typedef NS_ENUM(NSInteger, HKWorkoutSwimmingLocationType) {
+ HKWorkoutSwimmingLocationTypeUnknown = 0,
+ HKWorkoutSwimmingLocationTypePool,
+ HKWorkoutSwimmingLocationTypeOpenWater,
+} API_AVAILABLE(ios(10.0), watchos(3.0), macCatalyst(13.0), macos(13.0));
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h 2025-04-19 04:54:59
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKObjectType.h 2025-05-31 00:08:15
@@ -2,7 +2,7 @@
// HKObjectType.h
// HealthKit
//
-// Copyright (c) 2013-2024 Apple Inc. All rights reserved.
+// Copyright (c) 2013-2025 Apple Inc. All rights reserved.
//
@@ -20,10 +20,12 @@
@class HKCorrelationType;
@class HKDocumentType;
@class HKElectrocardiogramType;
+@class HKMedicationDoseEventType;
@class HKQuantityType;
@class HKSeriesType;
@class HKStateOfMindType;
@class HKUnit;
+@class HKUserAnnotatedMedicationType;
@class HKPrescriptionType;
@class HKWorkoutType;
@class HKScoredAssessmentType;
@@ -66,8 +68,10 @@
+ (HKActivitySummaryType *)activitySummaryType API_AVAILABLE(ios(9.3), watchos(2.2), macCatalyst(13.0), macos(13.0));
+ (HKAudiogramSampleType *)audiogramSampleType API_AVAILABLE(ios(13.0), watchos(6.0), macCatalyst(13.0), macos(13.0));
+ (HKElectrocardiogramType *)electrocardiogramType API_AVAILABLE(ios(14.0), watchos(7.0), macCatalyst(14.0), macos(13.0));
++ (HKMedicationDoseEventType *)medicationDoseEventType API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+ (HKPrescriptionType *)visionPrescriptionType API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0));
+ (HKStateOfMindType *)stateOfMindType API_AVAILABLE(ios(18.0), watchos(11.0), macCatalyst(18.0), macos(15.0), visionos(2.0));
++ (HKUserAnnotatedMedicationType *)userAnnotatedMedicationType API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
/*!
@method requiresPerObjectAuthorization
@@ -237,6 +241,15 @@
@interface HKElectrocardiogramType : HKSampleType
@end
+/*!
+ @class HKMedicationDoseEventType
+ @abstract Represents a recorded log of a specific medication, represented by HKMedicationDoseEvent samples.
+ */
+HK_EXTERN
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0))
+@interface HKMedicationDoseEventType : HKSampleType
+@end
/*!
@class HKPrescriptionType
@@ -269,4 +282,13 @@
@end
+/*!
+ @class HKUserAnnotatedMedicationType
+ @abstract Represents the set of authorizeable HKUserAnnotatedMedications.
+ */
+HK_EXTERN
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0))
+@interface HKUserAnnotatedMedicationType : HKObjectType
+@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuery.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuery.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuery.h 2025-04-19 08:21:49
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKQuery.h 2025-05-24 23:32:24
@@ -2,7 +2,7 @@
// HKQuery.h
// HealthKit
//
-// Copyright (c) 2013-2024 Apple Inc. All rights reserved.
+// Copyright (c) 2013-2025 Apple Inc. All rights reserved.
//
@@ -11,6 +11,7 @@
#import <HealthKit/HKDefines.h>
#import <HealthKit/HKElectrocardiogram.h>
#import <HealthKit/HKFHIRResource.h>
+#import <HealthKit/HKMedicationDoseEvent.h>
#import <HealthKit/HKStateOfMind.h>
#import <HealthKit/HKWorkout.h>
@@ -626,5 +627,95 @@
@end
+@interface HKQuery (HKMedicationDoseEvent)
+
+/*!
+ @method predicateForMedicationDoseEventWithStatus:
+ @abstract Creates a predicate for use with HKQuery subclasses.
+ @discussion Creates a query predicate that matches HKMedicationDoseEvent samples that have the status specified.
+
+ @param status The logged status of the medication dose event to match.
+ */
++ (NSPredicate *)predicateForMedicationDoseEventWithStatus:(HKMedicationDoseEventLogStatus)status API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForMedicationDoseEvent(status:));
+
+/*!
+ @method predicateForMedicationDoseEventWithStatuses:
+ @abstract Creates a predicate for use with HKQuery subclasses.
+ @discussion Creates a query predicate that matches HKMedicationDoseEvent samples that have any of the statuses specified.
+
+ @param statuses The logged statuses of the medication dose event to match.
+ */
++ (NSPredicate *)predicateForMedicationDoseEventWithStatuses:(NSSet<NSNumber *> *)statuses API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForMedicationDoseEvent(statuses:)) NS_REFINED_FOR_SWIFT;
+
+/*!
+ @method predicateForMedicationDoseEventWithScheduledDate:
+ @abstract Creates a predicate for use with HKQuery subclasses.
+ @discussion Creates a query predicate that matches HKMedicationDoseEvent samples that have the exact scheduled date specified.
+
+ @param scheduledDate The exact scheduled date of the medication dose event to match.
+ */
++ (NSPredicate *)predicateForMedicationDoseEventWithScheduledDate:(NSDate *)scheduledDate API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForMedicationDoseEvent(scheduledDate:));
+
+/*!
+ @method predicateForMedicationDoseEventWithScheduledDates:
+ @abstract Creates a predicate for use with HKQuery subclasses.
+ @discussion Creates a query predicate that matches HKMedicationDoseEvent samples that have any of the exact scheduled dates specified.
+
+ @param scheduledDates The exact scheduled dates of any medication dose event to match.
+ */
++ (NSPredicate *)predicateForMedicationDoseEventWithScheduledDates:(NSSet<NSDate *> *)scheduledDates API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForMedicationDoseEvent(scheduledDates:));
+
+/*!
+ @method predicateForMedicationDoseEventWithScheduledStartDate:endDate:
+ @abstract Creates a predicate for use with HKQuery subclasses.
+ @discussion Creates a query predicate that matches HKMedicationDoseEvent samples that have a scheduled date within a window of scheduled times. If nil is provided to either parameter, the respective side of the window is unbound.
+
+ @param startDate The beginning of the window for scheduled dates of any medication dose event to match.
+ @param endDate The beginning of the window for scheduled dates of any medication dose event to match.
+ */
++ (NSPredicate *)predicateForMedicationDoseEventWithScheduledStartDate:(nullable NSDate *)startDate
+ endDate:(nullable NSDate *)endDate API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForMedicationDoseEvent(scheduledStart:end:));
+
+/*!
+ @method predicateForMedicationDoseEventWithMedicationConceptIdentifier:
+ @abstract Creates a predicate for use with HKQuery subclasses.
+ @discussion Creates a query predicate that matches HKMedicationDoseEvent samples that match a medication's concept identifier.
+
+ @param medicationConceptIdentifier The identifier of the medication that a dose event was created for.
+ */
++ (NSPredicate *)predicateForMedicationDoseEventWithMedicationConceptIdentifier:(HKHealthConceptIdentifier *)medicationConceptIdentifier API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForMedicationDoseEvent(medicationConceptIdentifier:));
+
+/*!
+ @method predicateForMedicationDoseEventWithMedicationConceptIdentifiers:
+ @abstract Creates a predicate for use with HKQuery subclasses.
+ @discussion Creates a query predicate that matches HKMedicationDoseEvent samples generated by any medication in a set of medication concept identifiers.
+
+ @param medicationConceptIdentifiers Any identifier of a medication that a dose event was created for.
+ */
++ (NSPredicate *)predicateForMedicationDoseEventWithMedicationConceptIdentifiers:(NSSet<HKHealthConceptIdentifier *> *)medicationConceptIdentifiers API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForMedicationDoseEvent(medicationConceptIdentifiers:));
+
+@end
+
+@interface HKQuery (HKUserAnnotatedMedications)
+
+/*!
+ @method predicateForUserAnnotatedMedicationsWithIsArchived:
+ @abstract Creates a predicate for use with HKUserAnnotatedMedicationQuery.
+ @discussion Creates a query predicate that matches HKUserAnnotatedMedication objects that have the archived status specified.
+
+ @param isArchived The archived status of the medication. Ex: True will match medications in the archived section in the Health App.
+ */
++ (NSPredicate *)predicateForUserAnnotatedMedicationsWithIsArchived:(BOOL)isArchived API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForUserAnnotatedMedications(isArchived:));
+
+/*!
+ @method predicateForUserAnnotatedMedicationsWithHasSchedule:
+ @abstract Creates a predicate for use with HKUserAnnotatedMedicationQuery.
+ @discussion Creates a query predicate that matches HKUserAnnotatedMedication objects that match the schedule status specified.
+
+ @param hasSchedule The schedule status of the medication. Ex: True will match medications that have a reminders schedule set up in the Health App.
+ */
++ (NSPredicate *)predicateForUserAnnotatedMedicationsWithHasSchedule:(BOOL)hasSchedule API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0)) NS_SWIFT_NAME(predicateForUserAnnotatedMedications(hasSchedule:));
+
+@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h 2025-04-19 04:30:28
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKTypeIdentifiers.h 2025-05-31 00:27:22
@@ -329,7 +329,19 @@
// Mindfulness
HK_EXTERN NSString * const HKDataTypeIdentifierStateOfMind API_AVAILABLE(ios(18.0), watchos(11.0), macCatalyst(17.0), macos(14.0), visionos(2.0));
+/*---------------------------------------*/
+/* HKMedicationDoseEvent Identifiers */
+/*---------------------------------------*/
+// Medication Tracking
+HK_EXTERN NSString * const HKMedicationDoseEventTypeIdentifierMedicationDoseEvent API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+
+/*-------------------------------------------*/
+/* HKUserAnnotatedMedication Identifiers */
+/*-------------------------------------------*/
+
+// Medication Tracking
+HK_EXTERN NSString * const HKDataTypeIdentifierUserAnnotatedMedicationConcept API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
/*----------------*/
/* Deprecated */
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUserAnnotatedMedication.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUserAnnotatedMedication.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUserAnnotatedMedication.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUserAnnotatedMedication.h 2025-05-24 23:32:24
@@ -0,0 +1,62 @@
+//
+// HKUserAnnotatedMedication.h
+// HealthKit
+//
+// Copyright © 2025 Apple. All rights reserved.
+//
+
+
+#import <Foundation/Foundation.h>
+#import <HealthKit/HKDefines.h>
+
+@class HKMedicationConcept;
+@class HKUserAnnotatedMedicationType;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @class HKUserAnnotatedMedication
+ @abstract An object that contains all of the user-customizable details relevant to the medication tracking experience and a reference to a medication being tracked.
+ */
+HK_EXTERN
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0))
+@interface HKUserAnnotatedMedication : NSObject <NSSecureCoding, NSCopying>
+
+/*!
+ @property nickname
+ @abstract The nickname a added to a medication during the entry experience.
+ @discussion This can be edited at any point.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *nickname;
+
+/*!
+ @property isArchived
+ @abstract A boolean value indicating if a medication is archived.
+ @discussion True if a user moves a medication to the archived section in the medication tracking experience. False if a medication is not in the archived section.
+ */
+@property (nonatomic, assign, readonly) BOOL isArchived;
+
+/*!
+ @property hasSchedule
+ @abstract A boolean value indicating if a medication has a schedule set up.
+ @discussion True if a user has set up reminders for a medication. False for "As Needed" medications.
+ */
+@property (nonatomic, assign, readonly) BOOL hasSchedule;
+
+/*!
+ @property medication
+ @abstract A reference to the specific medication a user is tracking.
+ @discussion This concept's identifier is directly associated with the logged dose events.
+ */
+@property (nonatomic, copy, readonly) HKMedicationConcept *medication;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+// Predicate Key Paths
+HK_EXTERN NSString * const HKUserAnnotatedMedicationPredicateKeyPathIsArchived API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+HK_EXTERN NSString * const HKUserAnnotatedMedicationPredicateKeyPathHasSchedule API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0));
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUserAnnotatedMedicationQuery.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUserAnnotatedMedicationQuery.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUserAnnotatedMedicationQuery.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKUserAnnotatedMedicationQuery.h 2025-05-24 23:32:23
@@ -0,0 +1,38 @@
+//
+// HKUserAnnotatedMedicationQuery.h
+// HealthKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+
+#import <Foundation/Foundation.h>
+#import <HealthKit/HKQuery.h>
+
+@class HKUserAnnotatedMedication;
+
+NS_ASSUME_NONNULL_BEGIN
+
+HK_EXTERN
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(26.0), watchos(26.0), macCatalyst(26.0), macos(26.0), visionos(26.0))
+@interface HKUserAnnotatedMedicationQuery : HKQuery
+
+/*!
+@method initWithPredicate:limit:resultsHandler:
+@abstract Returns a query that will retrieve HKUserAnnotatedMedications matching the given predicate and limit.
+
+@param predicate The predicate which user annotated medications should match.
+@param limit The maximum number of user annotated medications to return. Pass HKObjectQueryNoLimit for no limit.
+@param resultsHandler The block to invoke with results to deliver to the client. The results handler will be called with done = YES when there are no more user annotated medications to enumerate.
+*/
+- (instancetype)initWithPredicate:(nullable NSPredicate *)predicate
+ limit:(NSUInteger)limit
+ resultsHandler:(void (^)(HKUserAnnotatedMedicationQuery *query,
+ __kindof HKUserAnnotatedMedication * _Nullable userAnnotatedMedication,
+ BOOL done,
+ NSError * _Nullable error))resultsHandler;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutBuilder.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutBuilder.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutBuilder.h 2025-04-19 04:30:29
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutBuilder.h 2025-05-24 23:32:24
@@ -107,7 +107,7 @@
@param startDate The start date of the workout.
@param completion Called once data collection has started or has failed to start.
*/
-- (void)beginCollectionWithStartDate:(NSDate *)startDate completion:(void (^)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(beginCollection(at:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+- (void)beginCollectionWithStartDate:(NSDate *)startDate completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(beginCollection(at:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method addSamples:completion:
@@ -123,7 +123,7 @@
to the builder successfully. If success is NO, error will be non-nil and contain the error
encountered while adding the new samples.
*/
-- (void)addSamples:(NSArray<HKSample *> *)samples completion:(void (^)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(addSamples(_:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+- (void)addSamples:(NSArray<HKSample *> *)samples completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(addSamples(_:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method addWorkoutEvents:completion:
@@ -137,7 +137,7 @@
YES, the events were added to the builder successfully. If success is NO, error will be
non-null and will contain the error encountered during the insertion operation.
*/
-- (void)addWorkoutEvents:(NSArray<HKWorkoutEvent *> *)workoutEvents completion:(void (^)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(addWorkoutEvents(_:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+- (void)addWorkoutEvents:(NSArray<HKWorkoutEvent *> *)workoutEvents completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(addWorkoutEvents(_:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method addMetadata:completion:
@@ -152,7 +152,7 @@
be non-null and will contain the error encountered during the insertion operation. When an
error occurs, the builder's metadata property will remain unchanged.
*/
-- (void)addMetadata:(NSDictionary<NSString *, id> *)metadata completion:(void (^)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(addMetadata(_:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+- (void)addMetadata:(NSDictionary<NSString *, id> *)metadata completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(addMetadata(_:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method addWorkoutActivity:completion:
@@ -167,7 +167,7 @@
non-null and will contain the error encountered during the insertion operation.
*/
- (void)addWorkoutActivity:(HKWorkoutActivity *)workoutActivity
- completion:(void (^)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) NS_SWIFT_ASYNC_NAME(addWorkoutActivity(_:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+ completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) NS_SWIFT_ASYNC_NAME(addWorkoutActivity(_:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method updateActivityWithUUID:endDate:completion:
@@ -183,7 +183,7 @@
*/
- (void)updateActivityWithUUID:(NSUUID *)UUID
endDate:(NSDate *)endDate
- completion:(void (^)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) NS_SWIFT_NAME(updateActivity(uuid:end:completion:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+ completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) NS_SWIFT_NAME(updateActivity(uuid:end:completion:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method updateActivityWithUUID:addMetadata:completion:
@@ -202,7 +202,7 @@
*/
- (void)updateActivityWithUUID:(NSUUID *)UUID
addMedatata:(NSDictionary<NSString *, id> *)metadata
- completion:(void (^)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) NS_SWIFT_NAME(updateActivity(uuid:adding:completion:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+ completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(ios(16.0), watchos(9.0), macCatalyst(16.0), macos(13.0)) NS_SWIFT_NAME(updateActivity(uuid:adding:completion:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method endCollectionWithEndDate:error:
@@ -212,7 +212,7 @@
@param endDate The end date of the workout.
@param completion Called once data collection has stopped or has failed to stop.
*/
-- (void)endCollectionWithEndDate:(NSDate *)endDate completion:(void (^)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(endCollection(at:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+- (void)endCollectionWithEndDate:(NSDate *)endDate completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion NS_SWIFT_ASYNC_NAME(endCollection(at:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method finishWorkoutWithCompletion:
@@ -223,7 +223,7 @@
workout and error are nil then finishing the workout succeeded but the workout sample
is not available because the device is locked.
*/
-- (void)finishWorkoutWithCompletion:(void (^)(HKWorkout * _Nullable_result workout, NSError * _Nullable error))completion;
+- (void)finishWorkoutWithCompletion:(void (^NS_SWIFT_SENDABLE)(HKWorkout * _Nullable_result workout, NSError * _Nullable error))completion;
/*!
@method discardWorkout
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h 2025-04-19 04:54:59
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HKWorkoutSession.h 2025-05-31 00:14:17
@@ -2,7 +2,7 @@
// HKWorkoutSession.h
// HealthKit
//
-// Copyright (c) 2015-2022 Apple. All rights reserved.
+// Copyright (c) 2015-2025 Apple. All rights reserved.
//
#import <Foundation/Foundation.h>
@@ -18,6 +18,7 @@
@class HKHealthStore;
@class HKLiveWorkoutBuilder;
+@class HKQuantityType;
@protocol HKWorkoutSessionDelegate;
/*!
@@ -109,9 +110,9 @@
/*!
@property endDate
- @abstract Indicates the date when the workout session ended.
+ @abstract Indicates the date when the workout session stopped.
@discussion This value is nil when a workout session is initialized. It is set when the workout session state
- changes to HKWorkoutSessionStateEnded.
+ changes to HKWorkoutSessionStateStopped.
*/
@property (readonly, nullable) NSDate *endDate;
@@ -125,13 +126,19 @@
@property (readonly, copy) HKWorkoutActivity *currentActivity API_AVAILABLE(ios(17.0), watchos(9.0));
/*!
+ @property currentGeneratedTypes
+ @abstract The quantity types the receiver is collecting.
+ */
+@property (copy, readonly) NSSet<HKQuantityType *> *currentGeneratedTypes API_AVAILABLE(ios(26.0), watchos(26.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(macos, macCatalyst, tvos);;
+
+/*!
@method initWithActivityType:locationType:
@param activityType The activity type of the workout session.
@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)) API_UNAVAILABLE(ios) API_UNAVAILABLE(macos, macCatalyst, tvos);
+ locationType:(HKWorkoutSessionLocationType)locationType API_DEPRECATED_WITH_REPLACEMENT("initWithHealthStore:configuration:error:", watchos(2.0, 3.0)) API_UNAVAILABLE(ios, visionos) API_UNAVAILABLE(macos, macCatalyst, tvos);
/*!
@method initWithConfiguration:error:
@@ -140,7 +147,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)) API_UNAVAILABLE(ios) API_UNAVAILABLE(macos, macCatalyst, tvos);
+- (nullable instancetype)initWithConfiguration:(HKWorkoutConfiguration *)workoutConfiguration error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("initWithHealthStore:configuration:error:", watchos(3.0, 5.0)) API_UNAVAILABLE(ios, visionos) API_UNAVAILABLE(macos, macCatalyst, tvos);
/*!
@method initWithHealthStore:configuration:error:
@@ -152,7 +159,7 @@
*/
- (nullable instancetype)initWithHealthStore:(HKHealthStore *)healthStore
configuration:(HKWorkoutConfiguration *)workoutConfiguration
- error:(NSError **)error API_AVAILABLE(watchos(5.0)) API_UNAVAILABLE(ios, tvos) API_UNAVAILABLE(macos, macCatalyst);
+ error:(NSError **)error API_AVAILABLE(ios(26.0), watchos(5.0)) API_UNAVAILABLE(tvos, visionos) API_UNAVAILABLE(macos, macCatalyst);
- (instancetype)init NS_UNAVAILABLE;
@@ -225,7 +232,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)) API_UNAVAILABLE(ios);
+- (HKLiveWorkoutBuilder *)associatedWorkoutBuilder API_AVAILABLE(ios(26.0), watchos(5.0)) API_UNAVAILABLE(tvos, visionos) API_UNAVAILABLE(macos, macCatalyst);
/*!
@method beginNewActivityWithConfiguration:date:metadata:
@@ -256,7 +263,7 @@
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) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+- (void)startMirroringToCompanionDeviceWithCompletion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(watchos(10.0)) API_UNAVAILABLE(ios) API_UNAVAILABLE(macos, macCatalyst, tvos) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method stopMirroringToCompanionDeviceWithCompletion:
@@ -266,7 +273,7 @@
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) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+- (void)stopMirroringToCompanionDeviceWithCompletion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(watchos(10.0)) API_UNAVAILABLE(ios) API_UNAVAILABLE(macos, macCatalyst, tvos) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
/*!
@method sendDataToRemoteWorkoutSession:completion:
@@ -280,7 +287,7 @@
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)) API_UNAVAILABLE(macos, macCatalyst, tvos) NS_SWIFT_NAME(sendToRemoteWorkoutSession(data:completion:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
+ completion:(void (^NS_SWIFT_SENDABLE)(BOOL success, NSError * _Nullable error))completion API_AVAILABLE(ios(17.0), watchos(10.0)) API_UNAVAILABLE(macos, macCatalyst, tvos) NS_SWIFT_NAME(sendToRemoteWorkoutSession(data:completion:)) NS_SWIFT_ASYNC_THROWS_ON_FALSE(1);
@end
@@ -357,6 +364,17 @@
@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));
+
+/*!
+ @method workoutSession:didUpdateGeneratedTypes:
+ @abstract This method is called when the generated types collected on session changed
+ @discussion With new sample types added or removed, statistics for the currentGeneratedTypes may have changed and should be read again
+
+ @param workoutSession The workout data source which provides data for active workout session.
+ @param generatedTypes The full set of sample types that are currently generated.
+ */
+- (void)workoutSession:(HKWorkoutSession *)workoutSession didUpdateGeneratedTypes:(NSSet<HKSampleType *> *)generatedTypes API_AVAILABLE(ios(26.0), watchos(26.0));
+
@end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h 2025-04-19 02:20:41
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/HealthKit.framework/Headers/HealthKit.h 2025-05-24 23:32:22
@@ -2,7 +2,7 @@
// HealthKit.h
// HealthKit
//
-// Copyright (c) 2013-2022 Apple Inc. All rights reserved.
+// Copyright (c) 2013-2025 Apple Inc. All rights reserved.
//
#import <HealthKit/HKActivitySummary.h>
@@ -21,6 +21,7 @@
#import <HealthKit/HKCDADocumentSample.h>
#import <HealthKit/HKCharacteristicObjects.h>
#import <HealthKit/HKCharacteristicValues.h>
+#import <HealthKit/HKClinicalCoding.h>
#import <HealthKit/HKClinicalRecord.h>
#import <HealthKit/HKClinicalType.h>
#import <HealthKit/HKContactsLensSpecification.h>
@@ -44,12 +45,15 @@
#import <HealthKit/HKGlassesLensSpecification.h>
#import <HealthKit/HKGlassesPrescription.h>
#import <HealthKit/HKHealthStore.h>
+#import <HealthKit/HKHealthConceptIdentifier.h>
#import <HealthKit/HKHeartbeatSeriesBuilder.h>
#import <HealthKit/HKHeartbeatSeriesQuery.h>
#import <HealthKit/HKHeartbeatSeriesSample.h>
#import <HealthKit/HKLensSpecification.h>
#import <HealthKit/HKLiveWorkoutBuilder.h>
#import <HealthKit/HKLiveWorkoutDataSource.h>
+#import <HealthKit/HKMedicationConcept.h>
+#import <HealthKit/HKMedicationDoseEvent.h>
#import <HealthKit/HKMetadata.h>
#import <HealthKit/HKObject.h>
#import <HealthKit/HKObjectType.h>
@@ -76,6 +80,8 @@
#import <HealthKit/HKStatisticsQuery.h>
#import <HealthKit/HKTypeIdentifiers.h>
#import <HealthKit/HKUnit.h>
+#import <HealthKit/HKUserAnnotatedMedication.h>
+#import <HealthKit/HKUserAnnotatedMedicationQuery.h>
#import <HealthKit/HKVerifiableClinicalRecord.h>
#import <HealthKit/HKVerifiableClinicalRecordQuery.h>
#import <HealthKit/HKVerifiableClinicalRecordSubject.h>