Skip to content

CoreLocation tvOS 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/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLServiceSession.h
--- /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.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/AppleTVOS.platform/Developer/SDKs/AppleTVOS.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

Clone this wiki locally