-
Notifications
You must be signed in to change notification settings - Fork 549
CoreLocation iOS xcode16.0 b2
Rolf Bjarne Kvinge edited this page Jun 26, 2024
·
2 revisions
#CoreLocation.framework
diff -ruN /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h 2024-05-31 07:37:28
+++ /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h 2024-06-17 05:48:50
@@ -120,10 +120,38 @@
+ (instancetype)new NS_UNAVAILABLE;
-/* sessionRequiringAuthorization:
+/*
+ * sessionRequiringAuthorization:
+ *
* Discussion:
- * TODO - rdar://123570432
+ * Creates a CLServiceSession instance with specified authorization requirement.
*
+ * authorizationRequirement: Passing None for authorization requirement
+ * creates a session object which does not seek authorization from the user,
+ * but meets a requested Explicit Service Session requirement if authorization
+ * has already been obtained.
+ *
+ * Passing an authorization requirement other than .none will cause
+ * Location Services to seek the corresponding level of authorization
+ * from the user when possible.
+ *
+ * Like a CLBackgroundActivitySession instance, a CLServiceSession
+ * instance should be created while in-use, or immediately when launched
+ * in the background if a matching session was held when previously
+ * running. If an instance is created that does not meet either
+ * requirement, it will yield the .insufficientlyInUse diagnostic until
+ * the app returns to the foreground (off-course to receive updates use the below
+ * variant which specifies a handler)
+ *
+ * Note: A CLServiceSession instance with an authorization requirement of
+ * .always must be held, and reporting no relevant diagnostic properties,
+ * whenever Always authorization is to be leveraged. An app with Always
+ * authorization, but which is not holding such a CLServiceSession will
+ * not be able to receive CLLocationUpdate.liveUpdates() or CLMonitor.events()
+ * when it is not in-use. So be careful to take one when the user
+ * configures always-operation, and retake it promptly during launch
+ * after background termination.
+ *
*/
+ (CLServiceSession *)sessionRequiringAuthorization:(CLServiceSessionAuthorizationRequirement)authorizationRequirement API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
@@ -133,7 +161,14 @@
/* sessionRequiringAuthorization:queue:handler:
* Discussion:
- * TODO - rdar://123570432
+ * Creates a CLServiceSession instance with specified authorization requirement.
+ * Session behaves the same as decribed for sessionRequiringAuthorization:
+ *
+ * queue: Specifies the queue to which the handler is submitted for receiving
+ * diagnostic updates
+ *
+ * handler: Specifies the block that will be invoked with each diagnostic update.
+ *
*/
+ (CLServiceSession *)sessionRequiringAuthorization:(CLServiceSessionAuthorizationRequirement)authorizationRequirement
queue:(dispatch_queue_t)queue
@@ -144,10 +179,24 @@
) API_UNAVAILABLE(macos);
-/* sessionRequiringAuthorization:accuracy:
+/*
+ * sessionRequiringAuthorization:fullAccuracyPurposeKey:
+ *
* Discussion:
- * TODO - rdar://123570432
+ * Creates a CLServiceSession instance with specified authorization requirement
+ * and fullAccuracy Purpose Key
*
+ * authorizationRequirement:
+ * Same as applicable for sessionRequiringAuthorization: i.e Passing an
+ * authorization requirement other than .none will cause Location Services
+ * to seek the corresponding level of authorization from the user when possible.
+ *
+ * fullAccuracyPurposeKey:
+ * Names a string in the NSLocationTemporaryUsageDescriptionDictionary.
+ * Location Services will request temporary full accuracy authorization
+ * from the user using this string if necessary while this session is
+ * outstanding.
+ *
*/
+ (CLServiceSession *)sessionRequiringAuthorization:(CLServiceSessionAuthorizationRequirement)authorizationRequirement
fullAccuracyPurposeKey:(nonnull NSString *)purposeKey API_AVAILABLE(ios(18.0), watchos(11.0), tvos(18.0)
@@ -158,10 +207,15 @@
-/* sessionRequiringAuthorization:accuracy:queue:handler:
+/*
+ * sessionRequiringAuthorization:fullAccuracyPurposeKey:queue:handler:
+ *
* Discussion:
- * TODO - rdar://123570432
+ * Creates a CLServiceSession instance with specified authorization requirement
+ * and fullAccuracy Purpose Key same as sessionRequiringAuthorization:fullAccuracyPurposeKey:
*
+ * This variant allows to specify a queue to which specified callback handler
+ * will be submitted for receiving diagnostic updates.
*/
+ (CLServiceSession *)sessionRequiringAuthorization:(CLServiceSessionAuthorizationRequirement)authorizationRequirement
fullAccuracyPurposeKey:(nonnull NSString *)purposeKey