Skip to content

CoreLocation watchOS xcode16.0 b1

Rolf Bjarne Kvinge edited this page Jul 11, 2024 · 3 revisions

#CoreLocation.framework https://github.com/xamarin/xamarin-macios/pull/20864

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLAvailability.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLAvailability.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLAvailability.h	2024-04-25 04:50:42
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLAvailability.h	2024-05-31 06:37:57
@@ -15,14 +15,6 @@
 #import <Availability.h>
 #import <os/availability.h>
 
-#if defined(__has_include)
-#if __has_include(<AppleFeatures/AppleFeatures.h>)
-#include <AppleFeatures/AppleFeatures.h>
-#endif // AppleFeatures
-#else // !defined(__has_include)
-#error "__has_include not defined."
-#endif // __has_include
-
 #ifdef __cplusplus
 #define CL_EXTERN extern "C" __attribute__((visibility ("default")))
 #else
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLBackgroundActivitySession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLBackgroundActivitySession.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLBackgroundActivitySession.h	2024-04-25 04:50:45
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLBackgroundActivitySession.h	2024-05-31 06:48:39
@@ -10,6 +10,68 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+API_AVAILABLE(ios(18.0), watchos(11.0)) API_UNAVAILABLE(macos) NS_REFINED_FOR_SWIFT
+@interface CLBackgroundActivitySessionDiagnostic : NSObject
+/*
+ *  authorizationDenied
+ *
+ *  Discussion:
+ *      True if the session will be suspended while the app has been denied
+ *      location authorization.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationDenied;
+
+/*
+ *  authorizationDeniedGlobally
+ *
+ *  Discussion:
+ *      True if the session will be suspended while the user has disabled Location
+ *      Services system-wide.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationDeniedGlobally;
+
+/*
+ *  authorizationRestricted
+ *
+ *  Discussion:
+ *     True if session will be suspended while the app lacks authorization,
+ *     and authorization changes are prevented by parental restrictions,
+ *     MDM configuration, or other factors.
+ */
+ @property (nonatomic, readonly) BOOL authorizationRestricted;
+
+/*
+*  insufficientlyInUse
+*
+*  Discussion:
+*      True if the session will be suspended while the app is not sufficiently
+*      in-use.
+*
+*/
+@property (nonatomic, readonly) BOOL insufficientlyInUse;
+
+/*
+ *  serviceSessionRequired
+ *
+ *  Discussion:
+ *      True if LocationServices are disabled because the app has adopted CLRequireExplicitServiceSession
+ *      info.plist key but no CLServiceSession requiring authorization is outstanding yet.
+ *
+ */
+@property (nonatomic, readonly) BOOL serviceSessionRequired API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  authorizationRequestInProgress
+ *
+ *  Discussion:
+ *      True if the system is requesting authorization from the user on behalf of the app, but no response has been received yet.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationRequestInProgress API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+@end
+
 CL_EXTERN
 API_AVAILABLE(ios(17.0), watchos(10.0)) API_UNAVAILABLE(macos) NS_REFINED_FOR_SWIFT
 @interface CLBackgroundActivitySession : NSObject
@@ -63,12 +125,25 @@
  *
  *      Calling invalidate on the session will terminate it and render it
  *      immediately inactive.
+ *
+ *      This session does not deliver diagnostic properties. Use
+ *      -backgroundActivitySessionWithQueue:handler: to get diagnostic updates.
+ *
  */
-+ (instancetype)backgroundActivitySession API_AVAILABLE(ios(17.0), watchos(10.0)
-#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
-, visionos(1.0)
-#endif
-) API_UNAVAILABLE(macos);
++ (instancetype)backgroundActivitySession API_AVAILABLE(ios(17.0), watchos(10.0)) API_UNAVAILABLE(macos);
+
+/* backgroundActivitySessionWithQueue:handler:
+ *  Discussion:
+ *      Starts a background activity session while delivering diagnostic
+ *      updates to the handler.
+ *
+ *      queue: Specifies the queue to which the handler is submitted with each
+ *          available diagnostic.
+ *      handler: Specifies the block that will be invoked with each update.
+ *
+ *      See -backgroundActivitySession for more details
+ */
++ (instancetype)backgroundActivitySessionWithQueue:(dispatch_queue_t)queue handler:(void(^)(CLBackgroundActivitySessionDiagnostic * diagnostic))handler API_AVAILABLE(ios(18.0), watchos(11.0)) API_UNAVAILABLE(macos);
 
 @end
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationUpdater.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationUpdater.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationUpdater.h	2024-04-19 06:16:36
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationUpdater.h	2024-05-31 06:37:59
@@ -41,30 +41,114 @@
 @interface CLUpdate : NSObject
 
 /*
- *	isStationary
+ *  authorizationDenied
  *
  *  Discussion:
+ *      True if updates will be suspended while the app has been denied
+ *      location authorization.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationDenied API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), macos(15.0));
+
+/*
+ *  authorizationDeniedGlobally
+ *
+ *  Discussion:
+ *      True if updates will be suspended while the user has disabled Location
+ *      Services system-wide.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationDeniedGlobally API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), macos(15.0));
+
+/*
+ *  authorizationRestricted
+ *
+ *  Discussion:
+ *      True if updates will be suspended while the app lacks authorization,
+ *      and authorization changes are prevented by parental restrictions,
+ *      MDM configuration, or other factors.
+ */
+@property (nonatomic, readonly) BOOL authorizationRestricted API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), macos(15.0));
+
+/*
+ *  isStationary
+ *
+ *  Discussion:
+ *      Deprecated. See -stationary.
+ *
+ */
+@property (readonly) BOOL isStationary API_DEPRECATED_WITH_REPLACEMENT("-stationary", ios(17.0, 17.0), macos(14.0, 14.0), tvos(17.0, 17.0));
+
+/*
+ *  stationary
+ *
+ *  Discussion:
  *      Updates may stop flowing temporarily for many reasons such as
  *      the app is no longer authorized for locations or if its
  *      location becomes unknown.  If CoreLocation stops
  *      delivering updates because the device is stationary, then
- *      isStationary will be set to YES.  Otherwise it will be NO.
+ *      stationary will be set to YES.  Otherwise it will be NO.
  *
- *      If isStationary is YES, then updates may be suspended until
+ *      If stationary is YES, then updates may be suspended until
  *      the user next moves, or their location becomes unknown.
  *
  */
-#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
-@property (readonly) BOOL isStationary API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0), visionos(1.0));
-#else
-@property (readonly) BOOL isStationary API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
-#endif
+@property (readonly) BOOL stationary API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), macos(15.0));
 
 /*
- *	location
+ *  insufficientlyInUse
  *
  *  Discussion:
- *		Return the user's location if available, otherwise returns nil.
+ *      True if updates will be suspended while the app is not sufficiently
+ *      in-use.
+ *
+ */
+@property (nonatomic, readonly) BOOL insufficientlyInUse API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), macos(15.0));
+
+/*
+ *  locationUnavailable
+ *
+ *  Discussion:
+ *      True if updates will be suspended while the device's location can no
+ *      longer be determined.
+ *
+ */
+@property (nonatomic, readonly) BOOL locationUnavailable API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), macos(15.0));
+
+/*
+ *  accuracyLimited
+ *
+ *  Discussion:
+ *      True if further updates will be suspended for some time while the app is
+ *      subject to accuracy limitation.
+ *
+ */
+@property (nonatomic, readonly) BOOL accuracyLimited API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0), macos(15.0));
+
+/*
+ *  serviceSessionRequired
+ *
+ *  Discussion:
+ *      True if LocationServices are disabled because the app has adopted CLRequireExplicitServiceSession
+ *      info.plist key but no CLServiceSession requiring authorization is outstanding yet.
+ *
+ */
+@property (nonatomic, readonly) BOOL serviceSessionRequired API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  authorizationRequestInProgress
+ *
+ *  Discussion:
+ *      True if the system is requesting authorization from the user on behalf of the app, but no response has been received yet.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationRequestInProgress API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  location
+ *
+ *  Discussion:
+ *      Return the user's location if available, otherwise returns nil.
  *
  */
 #if defined(TARGET_OS_VISION) && TARGET_OS_VISION
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLMonitoringEvent.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLMonitoringEvent.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLMonitoringEvent.h	2024-04-25 04:50:44
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLMonitoringEvent.h	2024-05-31 07:02:02
@@ -76,6 +76,108 @@
  */
 @property (readonly, strong) NSDate *date;
 
+/*
+ *  authorizationDenied
+ *
+ *  Discussion:
+ *      True if events will be suspended while the app has been denied
+ *      location authorization.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationDenied API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  authorizationDeniedGlobally
+ *
+ *  Discussion:
+ *      True if events will be suspended while the user has disabled Location
+ *      Services system-wide.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationDeniedGlobally API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  authorizationRestricted
+ *
+ *  Discussion:
+ *     True if events will be suspended while the app lacks authorization,
+ *     and authorization changes are prevented by parental restrictions,
+ *     MDM configuration, or other factors.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationRestricted API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  insufficientlyInUse
+ *
+ *  Discussion:
+ *      True if events will be suspended while the app is not sufficiently
+ *      in-use.
+ *
+ */
+@property (nonatomic, readonly) BOOL insufficientlyInUse API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  accuracyLimited
+ *
+ *  Discussion:
+ *      True if events will not be delivered because the app is subject
+ *      to accuracy limitation.
+ *
+ */
+@property (nonatomic, readonly) BOOL accuracyLimited API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  conditionUnsupported
+ *
+ *  Discussion:
+ *      True if events will be suspended for this condition because
+ *      monitoring is not supported for conditions of its type.
+ *
+ */
+ @property (nonatomic, readonly) BOOL conditionUnsupported API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  conditionLimitExceeded
+ *
+ *  Discussion:
+ *      True if events will be suspended for this condition while the app
+ *      has too many other conditions of this type monitored.
+ *
+ */
+@property (nonatomic, readonly) BOOL conditionLimitExceeded API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+ /*
+  *  persistenceUnavailable
+  *
+  *  Discussion:
+  *      True if monitoring is not possible due to persistence failure.
+  *      Some or all properties of the condition, if identified, or all conditions,
+  *      and events associated with the monitoring of affected conditions may not
+  *      be stored persistently.
+  *
+  */
+@property (nonatomic, readonly) BOOL persistenceUnavailable API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  serviceSessionRequired
+ *
+ *  Discussion:
+ *      True if LocationServices are disabled because the app has adopted CLRequireExplicitServiceSession
+ *      info.plist key but no CLServiceSession requiring authorization is outstanding yet.
+ *
+ */
+@property (nonatomic, readonly) BOOL serviceSessionRequired API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*
+ *  authorizationRequestInProgress
+ *
+ *  Discussion:
+ *      True if the system is requesting authorization from the user on behalf of the app, but no response has been received yet.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationRequestInProgress API_AVAILABLE(macos(15.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos);
+
 - (instancetype)init NS_UNAVAILABLE;
 + (instancetype)new NS_UNAVAILABLE;
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLPlacemark.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLPlacemark.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLPlacemark.h	2024-04-25 04:50:45
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLPlacemark.h	2024-05-31 06:38:00
@@ -24,7 +24,7 @@
  *    information such as the country, state, city, and street address.
  */
 CL_EXTERN
-API_AVAILABLE(macos(10.8), ios(5.0))
+NS_SWIFT_SENDABLE API_AVAILABLE(macos(10.8), ios(5.0))
 @interface CLPlacemark : NSObject <NSCopying, NSSecureCoding>
 {
 @private
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h	2024-05-31 07:37:28
@@ -0,0 +1,191 @@
+//
+//  CLServiceSession.h
+//  CoreLocation
+//
+//  Created by Siraj Abidi on 04/11/24.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CLAvailability.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
+#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
+, visionos(2.0)
+#endif
+) API_UNAVAILABLE(macos)
+typedef NS_ENUM(NSInteger, CLServiceSessionAuthorizationRequirement) {
+	CLServiceSessionAuthorizationRequirementNone = 0,
+	CLServiceSessionAuthorizationRequirementWhenInUse,
+#if TARGET_OS_IOS || TARGET_OS_WATCH
+	CLServiceSessionAuthorizationRequirementAlways,
+#endif
+} NS_REFINED_FOR_SWIFT;
+
+API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
+#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
+, visionos(2.0)
+#endif
+) API_UNAVAILABLE(macos) NS_REFINED_FOR_SWIFT
+@interface CLServiceSessionDiagnostic : NSObject
+/*
+ *  authorizationDenied
+ *
+ *  Discussion:
+ *      True if the session will be suspended while the app has been denied
+ *      location authorization.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationDenied;
+
+/*
+ *  authorizationDeniedGlobally
+ *
+ *  Discussion:
+ *      True if the session will be suspended while the user has disabled Location
+ *      Services system-wide.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationDeniedGlobally;
+
+/*
+ *  authorizationRestricted
+ *
+ *  Discussion:
+ *      True if session will be suspended while the app lacks authorization,
+ *      and authorization changes are prevented by parental restrictions,
+ *      MDM configuration, or other factors.
+ *
+ */
+ @property (nonatomic, readonly) BOOL authorizationRestricted;
+
+/*
+ *  insufficientlyInUse
+ *
+ *  Discussion:
+ *      True if the session will be suspended while the app is not sufficiently
+ *      in-use.
+ *
+ */
+@property (nonatomic, readonly) BOOL insufficientlyInUse;
+
+/*
+ *  serviceSessionRequired
+ *
+ *  Discussion:
+ *      True if LocationServices are disabled because the app has adopted CLRequireExplicitServiceSession
+ *      info.plist key but no CLServiceSession requiring authorization is outstanding yet.
+ *
+ */
+@property (nonatomic, readonly) BOOL serviceSessionRequired;
+
+/*
+ *  fullAccuracyDenied
+ *
+ *  Discussion:
+ *      True if a session requiring FullAccuracy has been denied full accuracy due to user decision.
+ *
+ */
+@property (nonatomic, readonly) BOOL fullAccuracyDenied;
+
+/*
+*  alwaysAuthorizationDenied
+*
+*  Discussion:
+*      True if a session requiring Always authorization has been denied Always due to user decision.
+*
+*/
+@property (nonatomic, readonly) BOOL alwaysAuthorizationDenied;
+
+/*
+ *  authorizationRequestInProgress
+ *
+ *  Discussion:
+ *      True if the system is requesting authorization from the user on behalf of the app, but no response has been received yet.
+ *
+ */
+@property (nonatomic, readonly) BOOL authorizationRequestInProgress;
+
+@end
+
+CL_EXTERN
+API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
+#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
+, visionos(2.0)
+#endif
+) API_UNAVAILABLE(macos) NS_REFINED_FOR_SWIFT
+@interface CLServiceSession : NSObject
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+
+/* sessionRequiringAuthorization:
+ *  Discussion:
+ *      TODO - rdar://123570432
+ *
+ */
++ (CLServiceSession *)sessionRequiringAuthorization:(CLServiceSessionAuthorizationRequirement)authorizationRequirement API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
+#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
+, visionos(2.0)
+#endif
+) API_UNAVAILABLE(macos);
+
+/* sessionRequiringAuthorization:queue:handler:
+ *  Discussion:
+ *      TODO - rdar://123570432
+ */
++ (CLServiceSession *)sessionRequiringAuthorization:(CLServiceSessionAuthorizationRequirement)authorizationRequirement
+											  queue:(dispatch_queue_t)queue
+											handler:(void(^)(CLServiceSessionDiagnostic *diagnostic))handler API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
+#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
+, visionos(2.0)
+#endif
+) API_UNAVAILABLE(macos);
+
+
+/* sessionRequiringAuthorization:accuracy:
+ *  Discussion:
+ *      TODO - rdar://123570432
+ *
+ */
++ (CLServiceSession *)sessionRequiringAuthorization:(CLServiceSessionAuthorizationRequirement)authorizationRequirement
+							 fullAccuracyPurposeKey:(nonnull NSString *)purposeKey API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
+#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
+, visionos(2.0)
+#endif
+) API_UNAVAILABLE(macos);
+
+
+
+/* sessionRequiringAuthorization:accuracy:queue:handler:
+ *  Discussion:
+ *      TODO - rdar://123570432
+ *
+ */
++ (CLServiceSession *)sessionRequiringAuthorization:(CLServiceSessionAuthorizationRequirement)authorizationRequirement
+							 fullAccuracyPurposeKey:(nonnull NSString *)purposeKey
+											  queue:(dispatch_queue_t)queue
+											handler:(void(^)(CLServiceSessionDiagnostic *diagnostic))handler API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
+#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
+, visionos(2.0)
+#endif
+) API_UNAVAILABLE(macos);
+
+
+/*
+ *  invalidate
+ *
+ *  Discussion:
+ *      Ends the session immediately. Once the session is
+ *      invalidated it cannot become active again.
+ */
+- (void)invalidate API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
+#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
+, visionos(2.0)
+#endif
+) API_UNAVAILABLE(macos);
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CoreLocation.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CoreLocation.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CoreLocation.h	2024-04-25 04:50:42
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CoreLocation.h	2024-05-31 06:37:57
@@ -40,5 +40,6 @@
 #import <CoreLocation/CLMonitorConfiguration.h>
 #import <CoreLocation/CLMonitor.h>
 #import <CoreLocation/CLBackgroundActivitySession.h>
+#import <CoreLocation/CLServiceSession.h>
 
 #endif /* __CORELOCATION__ */
Clone this wiki locally