Skip to content

CoreMotion macOS xcode15.0 b1

Manuel de la Pena edited this page Sep 1, 2023 · 3 revisions

#CoreMotion.framework https://github.com/xamarin/xamarin-macios/pull/18915

diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMAltimeter.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMAltimeter.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMAltimeter.h	2023-03-09 19:07:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMAltimeter.h	2023-05-19 21:53:11
@@ -20,7 +20,11 @@
  *  Discussion:
  *    Typedef of block to be invoked when the device's altitude is updated.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+typedef void (^CMAltitudeHandler)(CMAltitudeData * __nullable altitudeData, NSError * __nullable error) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(macos);
+#else
 typedef void (^CMAltitudeHandler)(CMAltitudeData * __nullable altitudeData, NSError * __nullable error) API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(macos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *  CMAbsoluteAltitudeHandler
@@ -28,7 +32,11 @@
  *  Discussion:
  *    Typedef of block to be invoked when the device's absolute altitude is updated.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
 typedef void (^CMAbsoluteAltitudeHandler)(CMAbsoluteAltitudeData *__nullable altitudeData, NSError *__nullable error) API_AVAILABLE(ios(15.0), watchos(8.0)) API_UNAVAILABLE(macos, tvos);
+#else
+typedef void (^CMAbsoluteAltitudeHandler)(CMAbsoluteAltitudeData *__nullable altitudeData, NSError *__nullable error) API_AVAILABLE(ios(15.0), watchos(8.0)) API_UNAVAILABLE(xros) API_UNAVAILABLE(macos, tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 
 /*
@@ -37,7 +45,11 @@
  *  Discussion:
  *		CMAltimeter provides information about the altitude of the device.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(macos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMAltimeter : NSObject
 
 /*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMAltitude.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMAltitude.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMAltitude.h	2023-03-09 19:07:08
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMAltitude.h	2023-05-19 21:53:11
@@ -18,7 +18,11 @@
  *  Discussion:
  *      Contains a single altimeter measurement.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(macos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMAltitudeData : CMLogItem
 
 /*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMBatchedSensorManager.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMBatchedSensorManager.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMBatchedSensorManager.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMBatchedSensorManager.h	2023-05-19 21:53:11
@@ -0,0 +1,147 @@
+/*
+ *  CMBatchedSensorManager.h
+ *  CoreMotion
+ *
+ *  Copyright (c) 2023 Apple Inc. All rights reserved.
+ *
+ */
+
+#ifndef CMBatchedSensorManager_h
+#define CMBatchedSensorManager_h
+
+#import <Foundation/Foundation.h>
+#import <CoreMotion/CMAvailability.h>
+#import <CoreMotion/CMAccelerometer.h>
+#import <CoreMotion/CMDeviceMotion.h>
+#import <CoreMotion/CMAuthorization.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+COREMOTION_EXPORT API_AVAILABLE(watchos(10.0)) API_UNAVAILABLE(macos)
+@interface CMBatchedSensorManager : NSObject
+
+/*
+ *  authorizationStatus
+ *
+ *  Discussion:
+ *    Returns the current authorization status for batched sensor updates.
+ */
+@property(class, readonly, nonatomic) CMAuthorizationStatus authorizationStatus;
+
+/*
+ *  accelerometerSupported
+ *
+ *  Discussion:
+ *    Reflects whether batched accelerometer data is supported on this platform.
+ */
+@property(class, readonly, nonatomic, getter=isAccelerometerSupported) BOOL accelerometerSupported;
+
+/*
+ *  accelerometerActive
+ *
+ *  Discussion:
+ *    Reflects whether batched accelerometer data is currently being provided.
+ */
+@property(readonly, nonatomic, getter=isAccelerometerActive) BOOL accelerometerActive;
+
+/*
+ *  accelerometerFrequency
+ *
+ *  Discussion:
+ *    Frequency of provided accelerometer data in hertz.
+ */
+@property(readonly, nonatomic) NSInteger accelerometerDataFrequency;
+
+/*
+ *  accelerometerBatch
+ *
+ *  Discussion:
+ *    Latest batch of accelerometer data, or nil if none available.
+ */
+@property(readonly, nullable) NSArray<CMAccelerometerData *> *accelerometerBatch;
+
+/*
+ *  startAccelerometerUpdates
+ *
+ *  Discussion:
+ *    Starts batched accelerometer updates. Examine the accelerometerBatch property to access the latest batch of data.
+ */
+- (void)startAccelerometerUpdates;
+
+/*
+ *  startAccelerometerUpdatesWithHandler
+ *
+ *  Discussion:
+ *    Provides batched accelerometer updates to the provided handler.
+ */
+- (void)startAccelerometerUpdatesWithHandler:(void(^)(NSArray<CMAccelerometerData *> * _Nullable data, NSError * _Nullable error))handler;
+
+/*
+ *  stopAccelerometerUpdates
+ *
+ *  Discussion:
+ *    Stop batched accelerometer updates.
+ */
+- (void)stopAccelerometerUpdates;
+
+/*
+ *  deviceMotionSupported
+ *
+ *  Discussion:
+ *    Reflects whether batched device motion data is supported on this platform.
+ */
+@property(class, readonly, nonatomic, getter=isDeviceMotionSupported) BOOL deviceMotionSupported;
+
+/*
+ *  deviceMotionFrequency
+ *
+ *  Discussion:
+ *    Frequency of provided device motion data in hertz.
+ */
+@property(readonly, nonatomic) NSInteger deviceMotionDataFrequency;
+
+/*
+ *  deviceMotionActive
+ *
+ *  Discussion:
+ *    Reflects whether batched device motion data is currently being provided.
+ */
+@property(readonly, nonatomic, getter=isDeviceMotionActive) BOOL deviceMotionActive;
+
+/*
+ *  deviceMotionBatch
+ *
+ *  Discussion:
+ *    Latest batch of device motion data, or nil if none available.
+ */
+@property(readonly, nullable) NSArray<CMDeviceMotion *> *deviceMotionBatch;
+
+/*
+ *  startDeviceMotionUpdates
+ *
+ *  Discussion:
+ *    Starts batched device motion updates. Examine the deviceMotionBatch property to access the latest batch of data.
+ */
+- (void)startDeviceMotionUpdates;
+
+/*
+ *  startDeviceMotionUpdatesWithHandler
+ *
+ *  Discussion:
+ *    Provides batched device motion updates to the provided handler.
+ */
+- (void)startDeviceMotionUpdatesWithHandler:(void(^)(NSArray<CMDeviceMotion *> * _Nullable data, NSError * _Nullable error))handler;
+
+/*
+ *  stopDeviceMotionUpdates
+ *
+ *  Discussion:
+ *    Stop batched device motion updates.
+ */
+- (void)stopDeviceMotionUpdates;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif /* CMBatchedSensorManager_h */
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMDeviceMotion.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMDeviceMotion.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMDeviceMotion.h	2023-03-09 19:07:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMDeviceMotion.h	2023-05-19 21:53:11
@@ -136,7 +136,11 @@
  *    for CMAttitudeReferenceFrameXArbitraryZVertical and CMAttitudeReferenceFrameXArbitraryCorrectedZVertical.
  *
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+@property(readonly, nonatomic) double heading COREMOTION_EXPORT API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(xros);
+#else
 @property(readonly, nonatomic) double heading COREMOTION_EXPORT API_AVAILABLE(ios(11.0));
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *  sensorLocation
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHeadphoneMotionManager.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHeadphoneMotionManager.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHeadphoneMotionManager.h	2023-03-09 19:07:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHeadphoneMotionManager.h	2023-05-19 21:53:11
@@ -29,7 +29,11 @@
  *  Discussion:
  *    The CMHeadphoneMotionManager object is your entry point to the headphone motion service.
  */
-COREMOTION_EXPORT API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos)
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(macos(14.0), ios(14.0)) API_UNAVAILABLE(xros)
+#else
+COREMOTION_EXPORT API_AVAILABLE(macos(14.0), ios(14.0))
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMHeadphoneMotionManager : NSObject
 
 /*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHeadphoneMotionManagerDelegate.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHeadphoneMotionManagerDelegate.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHeadphoneMotionManagerDelegate.h	2023-03-09 19:07:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHeadphoneMotionManagerDelegate.h	2023-05-19 21:53:11
@@ -18,7 +18,11 @@
  *  Discussion:
  *    Delegate for CMHeadphoneMotionManager.
  */
-COREMOTION_EXPORT API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos)
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(macos(14.0), ios(14.0)) API_UNAVAILABLE(xros)
+#else
+COREMOTION_EXPORT API_AVAILABLE(macos(14.0), ios(14.0))
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @protocol CMHeadphoneMotionManagerDelegate<NSObject>
 
 @optional
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHighFrequencyHeartRateData.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHighFrequencyHeartRateData.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHighFrequencyHeartRateData.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMHighFrequencyHeartRateData.h	2023-05-19 21:53:11
@@ -0,0 +1,57 @@
+//
+//  CMHighFrequencyHeartRateData.h
+//  CoreMotion
+//
+//  Copyright (c) 2022 Apple Inc. All rights reserved.
+//
+
+#ifndef CMHighFrequencyHeartRateData_h
+#define CMHighFrequencyHeartRateData_h
+
+#import <CoreMotion/CMAvailability.h>
+#import <CoreMotion/CMLogItem.h>
+
+/*
+ *  CMHighFrequencyHeartRateDataConfidence
+ *  Confidence categories for heart rate values.
+ */
+typedef NS_ENUM(NSInteger, CMHighFrequencyHeartRateDataConfidence) {
+	CMHighFrequencyHeartRateDataConfidenceLow = 0,
+	CMHighFrequencyHeartRateDataConfidenceMedium,
+	CMHighFrequencyHeartRateDataConfidenceHigh,
+	CMHighFrequencyHeartRateDataConfidenceHighest
+} API_AVAILABLE(ios(17.0), watchos(10.0)) API_UNAVAILABLE(macos, tvos);
+
+
+/*
+ *  CMHighFrequencyHeartRateData
+ *  Heart rate data collected at 1Hz.
+ */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(17.0), watchos(10.0)) API_UNAVAILABLE(macos, tvos) API_UNAVAILABLE(xros)
+#else
+COREMOTION_EXPORT API_AVAILABLE(ios(17.0), watchos(10.0)) API_UNAVAILABLE(macos, tvos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
+@interface CMHighFrequencyHeartRateData : CMLogItem
+
+/*
+ *  heartRate
+ *  The heart rate value in units of beats per minute (BPM)
+ */
+@property (readonly, nonatomic) double heartRate;
+
+/*
+ *  confidence
+ *  Indicates the confidence level of the heart rate value
+ */
+@property (readonly, nonatomic) CMHighFrequencyHeartRateDataConfidence confidence;
+
+/*
+ *  date
+ *  Corresponding date for the heart rate value
+ */
+@property (readonly, nonatomic, nullable) NSDate *date;
+
+@end
+
+#endif /* CMHighFrequencyHeartRateData_h */
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMagnetometer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMagnetometer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMagnetometer.h	2023-03-09 19:07:08
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMagnetometer.h	2023-05-19 21:53:11
@@ -39,7 +39,11 @@
  *  Discussion:
  *    Contains a single magnetometer measurement.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(5.0))
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMMagnetometerData : CMLogItem
 {
 @private
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionActivity.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionActivity.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionActivity.h	2023-03-09 19:07:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionActivity.h	2023-05-19 21:53:11
@@ -46,7 +46,11 @@
  *    Note in this case all of the properties are NO.
  *
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(macos, xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(macos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMMotionActivity : CMLogItem
 
 /*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionActivityManager.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionActivityManager.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionActivityManager.h	2023-03-09 19:07:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionActivityManager.h	2023-05-28 22:43:56
@@ -18,8 +18,11 @@
  *  Discussion:
  *    Typedef of block to be invoked when the device's activity is updated.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+typedef void (^CMMotionActivityHandler)(CMMotionActivity * __nullable activity) COREMOTION_EXPORT API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(macos, xros);
+#else
 typedef void (^CMMotionActivityHandler)(CMMotionActivity * __nullable activity) COREMOTION_EXPORT API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(macos);
-
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 /*
  *  CMMotionActivityQueryHandler
  *
@@ -27,7 +30,11 @@
  *    Typedef of block to be invoked when the historical activity query is
  *    completed.  The array is an array of CMMotionActivity objects.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+typedef void (^CMMotionActivityQueryHandler)(NSArray<CMMotionActivity *> * __nullable activities, NSError * __nullable error) COREMOTION_EXPORT API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(macos, xros);
+#else
 typedef void (^CMMotionActivityQueryHandler)(NSArray<CMMotionActivity *> * __nullable activities, NSError * __nullable error) COREMOTION_EXPORT API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(macos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *   CMMotionActivityManager
@@ -42,7 +49,11 @@
  *      2. By providing a queue and a block to startActivityUpdatesToQueue:withHandler:
  *      which will provide live activity updates to a running application.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(macos, xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(macos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMMotionActivityManager : NSObject
 
 /*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionManager.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionManager.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionManager.h	2023-03-09 23:52:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMotionManager.h	2023-05-28 22:43:55
@@ -74,7 +74,11 @@
  *  Discussion:
  *    Typedef of block to be invoked when magnetometer data is available.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+typedef void (^CMMagnetometerHandler)(CMMagnetometerData * __nullable magnetometerData, NSError * __nullable error) COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos, xros);
+#else
 typedef void (^CMMagnetometerHandler)(CMMagnetometerData * __nullable magnetometerData, NSError * __nullable error) COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *  CMMotionManager
@@ -237,15 +241,24 @@
  *    timestamps on the delivered CMMagnetometerData instances to determine the
  *    true update interval.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+@property(assign, nonatomic) NSTimeInterval magnetometerUpdateInterval COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos, xros);
+#else
 @property(assign, nonatomic) NSTimeInterval magnetometerUpdateInterval COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
+
 /*
  *  magnetometerAvailable
  *
  *  Discussion:
  *    Determines whether magetometer is available.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+@property(readonly, nonatomic, getter=isMagnetometerAvailable) BOOL magnetometerAvailable COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos, xros);
+#else
 @property(readonly, nonatomic, getter=isMagnetometerAvailable) BOOL magnetometerAvailable COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *  magnetometerActive
@@ -253,7 +266,11 @@
  *  Discussion:
  *    Determines whether the CMMotionManager is currently providing magnetometer updates.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+@property(readonly, nonatomic, getter=isMagnetometerActive) BOOL magnetometerActive COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos, xros);
+#else
 @property(readonly, nonatomic, getter=isMagnetometerActive) BOOL magnetometerActive COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *  magnetometerData
@@ -261,7 +278,11 @@
  *  Discussion:
  *    Returns the latest sample of magnetometer data, or nil if none is available.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+@property(readonly, nullable) CMMagnetometerData *magnetometerData COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos, xros);
+#else
 @property(readonly, nullable) CMMagnetometerData *magnetometerData COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *  startMagnetometerUpdates
@@ -270,7 +291,11 @@
  *    Starts magnetometer updates with no handler. To receive the latest magnetometer data
  *    when desired, examine the magnetometerData property.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+- (void)startMagnetometerUpdates COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos, xros);
+#else
 - (void)startMagnetometerUpdates COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *  startMagnetometerUpdatesToQueue:withHandler:
@@ -278,7 +303,11 @@
  *  Discussion:
  *    Starts magnetometer updates, providing data to the given handler through the given queue.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+- (void)startMagnetometerUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMMagnetometerHandler)handler COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos, xros);
+#else
 - (void)startMagnetometerUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMMagnetometerHandler)handler COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 
 /*
  *  stopMagnetometerUpdates
@@ -286,7 +315,12 @@
  *  Discussion:
  *    Stops magnetometer updates.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+- (void)stopMagnetometerUpdates COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos, xros);
+#else
 - (void)stopMagnetometerUpdates COREMOTION_EXPORT API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(tvos);
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
+
 
 /*
  *  deviceMotionUpdateInterval
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMovementDisorderManager.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMovementDisorderManager.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMovementDisorderManager.h	2023-03-09 19:23:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMMovementDisorderManager.h	2023-05-19 21:53:11
@@ -17,7 +17,11 @@
  * percentUnlikely + percentLikely = 1.0
  * Please note dyskinetic symptom measurements are designed for subjects with known presence of chorea in the arm and should not be displayed to users who do not report episodes of dyskinetic symptoms.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+API_AVAILABLE(ios(12.0), watchos(5.0)) API_UNAVAILABLE(macos, tvos) API_UNAVAILABLE(xros)
+#else
 API_AVAILABLE(ios(12.0), watchos(5.0)) API_UNAVAILABLE(macos, tvos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMDyskineticSymptomResult : NSObject <NSCopying, NSSecureCoding>
 
 /*!
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMOdometer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMOdometer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMOdometer.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMOdometer.h	2023-05-19 21:53:11
@@ -0,0 +1,145 @@
+/*
+ *  CMOdometer.h
+ *  CoreMotion
+ *
+ *  Copyright (c) 2022 Apple Inc. All rights reserved.
+ *
+ */
+
+#ifndef CMOdometer_h
+#define CMOdometer_h
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CoreLocation.h>
+#import <CoreMotion/CMAvailability.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*
+ *	CMOdometerOriginDevice
+ *
+ *  Discussion:
+ * 		  The device from which the odometer sample originates
+ */
+typedef NS_ENUM(NSInteger, CMOdometerOriginDevice) {
+	/*
+	 *  The origin of the odometer sample is unknown; it could be either local or remote.
+	 */
+	CMOdometerOriginDeviceUnknown = 0,
+
+	/*
+	 *  The odometer sample originated locally (i.e. the same device requesting the sample).
+	 */
+	CMOdometerOriginDeviceLocal,
+
+	/* 
+	 *  The odometer sample originated on a paired device different to the local device.
+	 */
+	CMOdometerOriginDeviceRemote
+} API_AVAILABLE(ios(15.4), watchos(8.4));
+
+/*
+ *  CMOdometerData
+ *
+ *  Discussion:
+ *      An encapsulated odometer update for workouts.
+ */
+COREMOTION_EXPORT API_AVAILABLE(ios(8.0), watchos(1.0)) NS_SWIFT_SENDABLE
+@interface CMOdometerData : NSObject <NSSecureCoding, NSCopying>
+/*
+ *  startDate
+ *
+ *  Discussion:
+ *      The start time for the odometer data.
+ */
+@property(strong, readonly, nonatomic) NSDate *startDate;
+/*
+ *  endDate
+ *
+ *  Discussion:
+ *      The end time for the odometer data.
+ */
+@property(strong, readonly, nonatomic) NSDate *endDate;
+/*
+ *	deltaDistance
+ *
+ *	Discussion:
+ * 		The change in distance traveled since the last location, measured in meters.
+ */
+@property(readonly, nonatomic)  CLLocationDistance deltaDistance API_AVAILABLE(ios(17.0), watchos(10.0));
+/*
+ *	deltaDistanceAccuracy
+ *
+ *	Discussion:
+ * 		Uncertainty in the estimated delta distance in meters.
+ */
+@property(readonly, nonatomic) CLLocationAccuracy deltaDistanceAccuracy API_AVAILABLE(ios(17.0), watchos(10.0));
+/*
+ *	speed
+ *
+ *	Discussion:
+ * 		The instantaneous speed of the device, measured in meters per second.
+ */
+@property(readonly, nonatomic) CLLocationSpeed speed API_AVAILABLE(ios(17.0), watchos(10.0));
+/*
+ *	speedAccuracy
+ *
+ *	Discussion:
+ * 		The accuracy of the speed value, measured in meters per second.
+ *      When this property contains 0 or a positive number, the value in the speed property is plus or minus the specified number of meters per second. When this property contains a negative number, the value in the speed property is invalid.
+ */
+@property(readonly, nonatomic) CLLocationSpeedAccuracy speedAccuracy API_AVAILABLE(ios(17.0), watchos(10.0));
+/*
+ *	gpsDate
+ *
+ *	Discussion:
+ * 		Timestamp corresponding to the GPS measurement
+ */
+@property(strong, nonatomic, readonly) NSDate *gpsDate API_AVAILABLE(ios(17.0), watchos(10.0));
+/*
+ *	deltaAltitude
+ *
+ *	Discussion:
+ * 		The change in altitude above mean sea level associated with a location, measured in meters.
+ */
+@property(readonly, nonatomic)  CLLocationDistance deltaAltitude API_AVAILABLE(ios(17.0), watchos(10.0));
+/*
+ *	verticalAccuracy
+ *
+ *	Discussion:
+ * 		The validity of the altitude values, and their estimated uncertainty, measured in meters.
+ */
+@property(readonly, nonatomic) CLLocationAccuracy verticalAccuracy API_AVAILABLE(ios(17.0), watchos(10.0));
+/*
+ *	originDevice
+ *
+ *	Discussion:
+ * 		The device from which this measurement comes from
+ */
+@property(readonly, assign, nonatomic) CMOdometerOriginDevice originDevice API_AVAILABLE(ios(15.4), watchos(8.4));
+/*
+ *	slope
+ *
+ *	Discussion:
+ * 		The slope at the current location towards the direction of travel measured in degrees.
+ *      nil if the measurement is invalid.
+ */
+@property(strong, nonatomic, readonly, nullable) NSNumber *slope NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(15.4), watchos(8.4));
+/*
+ *	maxAbsSlope
+ *
+ *	Discussion:
+ * 		The maximum absolute slope at current location towards all directions measured in degrees.
+ *      nil if invalid due to low GPS accuracy.
+ */
+@property(strong, nonatomic, readonly, nullable) NSNumber *maxAbsSlope NS_REFINED_FOR_SWIFT API_AVAILABLE(ios(15.4), watchos(8.4));
+
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+
+
+
+#endif /* CMOdometer_h */
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMPedometer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMPedometer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMPedometer.h	2023-03-09 19:23:09
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMPedometer.h	2023-05-19 21:53:12
@@ -20,7 +20,11 @@
  *      object contains a step count. On supported platforms it also contains
  *      distance, flights of stairs, pace, and cadence.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(8.0))
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMPedometerData : NSObject <NSSecureCoding, NSCopying>
 
 /*
@@ -177,8 +181,13 @@
  *      Typedef of block to be invoked when pedometer data is available. Error
  *      types are defined in "CMError.h".
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+typedef void (^CMPedometerHandler)(CMPedometerData * __nullable pedometerData, NSError * __nullable error) API_UNAVAILABLE(xros);
+#else
 typedef void (^CMPedometerHandler)(CMPedometerData * __nullable pedometerData, NSError * __nullable error);
 
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
+
 /*
  *  CMPedometerEventHandler
  *
@@ -186,8 +195,13 @@
  *      Typedef of block that will be invoked when pedometer event is available.
  *      Error types are defined in "CMError.h".
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+typedef void (^CMPedometerEventHandler)(CMPedometerEvent * __nullable pedometerEvent, NSError * __nullable error) COREMOTION_EXPORT API_AVAILABLE(ios(10.0), watchos(3.0)) API_UNAVAILABLE(xros);
+#else
 typedef void (^CMPedometerEventHandler)(CMPedometerEvent * __nullable pedometerEvent, NSError * __nullable error) COREMOTION_EXPORT API_AVAILABLE(ios(10.0), watchos(3.0));
 
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
+
 /*
  *  CMPedometer
  *
@@ -204,7 +218,11 @@
  *      updates can be stopped by calling stopPedometerUpdates.
  *
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(8.0))
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMPedometer : NSObject
 
 /*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMRecordedPressureData.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMRecordedPressureData.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMRecordedPressureData.h	2023-03-09 19:07:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMRecordedPressureData.h	2023-05-19 21:53:11
@@ -17,7 +17,11 @@
  * Discussion:
  *   CMRecordedPressureData contains data for each pressure sample.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(12.0), watchos(5.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(12.0), watchos(5.0)) API_UNAVAILABLE(macos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMRecordedPressureData : CMAmbientPressureData
 
 /*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMSensorRecorder.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMSensorRecorder.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMSensorRecorder.h	2023-03-09 19:07:08
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMSensorRecorder.h	2023-05-19 21:53:11
@@ -23,7 +23,11 @@
  *   Due to the large number of samples that can be processed, the
  *   enumeration should not be run on the main/UI thread.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(9.0), watchos(2.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(9.0), watchos(2.0)) API_UNAVAILABLE(macos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMSensorDataList : NSObject <NSFastEnumeration>
 @end
 
@@ -36,7 +40,11 @@
  *    available for later access (up to 3 days) when the application
  *    is run at a later time.
  */
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+COREMOTION_EXPORT API_AVAILABLE(ios(9.0), watchos(2.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(xros)
+#else
 COREMOTION_EXPORT API_AVAILABLE(ios(9.0), watchos(2.0)) API_UNAVAILABLE(macos)
+#endif // defined(TARGET_OS_XR) && TARGET_OS_XR
 @interface CMSensorRecorder : NSObject
 
 /*
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMWaterSubmersionData.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMWaterSubmersionData.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMWaterSubmersionData.h	2023-03-09 19:07:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMWaterSubmersionData.h	2023-05-19 21:53:11
@@ -31,7 +31,7 @@
  * Discussion:
  * 	   Datum representating a new state change of type CMWaterSubmersionState.
  */
-COREMOTION_EXPORT API_AVAILABLE(watchos(9.0))
+COREMOTION_EXPORT API_AVAILABLE(watchos(9.0), ios(16.0)) API_UNAVAILABLE(macos, tvos, macCatalyst)
 @interface CMWaterSubmersionEvent : NSObject <NSSecureCoding, NSCopying>
 @property (readonly, nonatomic) NSDate* date;
 @property (readonly, nonatomic) CMWaterSubmersionState state;
@@ -46,7 +46,7 @@
  *     Depth, pressure, and pressureUncertainty are null when not submerged or when the state
  *     is CMWaterSubmersionDepthStateSensorDepthError.
  */
-COREMOTION_EXPORT API_AVAILABLE(watchos(9.0))
+COREMOTION_EXPORT API_AVAILABLE(watchos(9.0), ios(16.0)) API_UNAVAILABLE(macos, tvos, macCatalyst)
 @interface CMWaterSubmersionMeasurement : NSObject <NSSecureCoding, NSCopying>
 @property (readonly, nonatomic) NSDate* date;
 @property (readonly, nonatomic, nullable) NSMeasurement<NSUnitLength*>* depth;
@@ -61,7 +61,7 @@
  * Discussion:
  * 	   Datum representing an update comprising of temperature, and temperature uncertainty
  */
-COREMOTION_EXPORT API_AVAILABLE(watchos(9.0))
+COREMOTION_EXPORT API_AVAILABLE(watchos(9.0), ios(16.0)) API_UNAVAILABLE(macos, tvos, macCatalyst)
 @interface CMWaterTemperature : NSObject <NSSecureCoding, NSCopying>
 @property (readonly, nonatomic) NSDate* date;
 @property (readonly, nonatomic) NSMeasurement<NSUnitTemperature*>* temperature;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMWaterSubmersionManager.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMWaterSubmersionManager.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMWaterSubmersionManager.h	2023-03-09 19:07:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMWaterSubmersionManager.h	2023-05-19 21:53:11
@@ -13,7 +13,7 @@
 
 @class CMWaterSubmersionManager;
 
-COREMOTION_EXPORT API_AVAILABLE(watchos(9.0))
+COREMOTION_EXPORT API_AVAILABLE(watchos(9.0), ios(16.0)) API_UNAVAILABLE(macos, tvos, macCatalyst)
 /*
  * CMWaterSubmersionManagerDelegate
  *
@@ -62,7 +62,7 @@
 - (void)manager:(CMWaterSubmersionManager*)manager errorOccurred:(NSError*)error;
 @end
 
-COREMOTION_EXPORT API_AVAILABLE(watchos(9.0))
+COREMOTION_EXPORT API_AVAILABLE(watchos(9.0), ios(16.0)) API_UNAVAILABLE(macos, tvos, macCatalyst)
 /*
  *  CMWaterSubmersionManager
  *
@@ -99,6 +99,20 @@
  *      under Motion & Fitness.
  */
 @property (class, nonatomic, readonly) CMAuthorizationStatus authorizationStatus;
+
+/*
+ *  maximumDepth
+ *
+ *  Discussion:
+ *      Returns the maximum depth threshold that this client is authorized to
+ *      receive. This is the threshold at which the API will change state
+ *      to CMWaterSubmersionDepthStatePastMaxDepth. The API will continue
+ *      to vend data until CMWaterSubmersionDepthStateSensorDepthError, 10%
+ *      above this threshold.
+ *
+ *      Returns nil if client is not authorized for submersion data.
+ */
+@property (nonatomic, readonly, nullable) NSMeasurement<NSUnitLength *> *maximumDepth;
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CoreMotion.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CoreMotion.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CoreMotion.h	2023-03-04 16:51:36
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CoreMotion.h	2023-05-19 21:53:08
@@ -34,6 +34,9 @@
 #import <CoreMotion/CMStepCounter.h>
 #import <CoreMotion/CMSensorRecorder.h>
 #import <CoreMotion/CMRecordedPressureData.h>
+#import <CoreMotion/CMHighFrequencyHeartRateData.h>
+#import <CoreMotion/CMOdometer.h>
 #import <CoreMotion/CMWaterSubmersionManager.h>
+#import <CoreMotion/CMBatchedSensorManager.h>
 
 #endif /* __COREMOTION__ */
Clone this wiki locally