Skip to content

CoreLocation tvOS xcode13.0 beta1

Manuel de la Pena edited this page Jun 17, 2021 · 3 revisions

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

diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLBeaconRegion.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLBeaconRegion.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLBeaconRegion.h	2021-03-16 09:55:36.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLBeaconRegion.h	2021-06-02 07:34:45.000000000 -0400
@@ -130,7 +130,7 @@
  *    App will be launched and the delegate will be notified via locationManager:didDetermineState:forRegion:
  *    when the device's screen is turned on and the user is in the region. By default, this is NO.
  */
-@property (nonatomic, assign) BOOL notifyEntryStateOnDisplay;
+@property (atomic, assign) BOOL notifyEntryStateOnDisplay;
 
 @end
 
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLCircularRegion.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLCircularRegion.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLCircularRegion.h	2021-03-16 13:57:23.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLCircularRegion.h	2021-06-02 05:36:26.000000000 -0400
@@ -41,7 +41,7 @@
  *  Discussion:
  *    Returns the coordinate of the center of the region.
  */
-@property (readonly, nonatomic) CLLocationCoordinate2D center;
+@property (readonly, atomic) CLLocationCoordinate2D center;
 
 /*
  *  radius
@@ -49,7 +49,7 @@
  *  Discussion:
  *    Returns the radius of the region.
  */
-@property (readonly, nonatomic) CLLocationDistance radius;
+@property (readonly, atomic) CLLocationDistance radius;
 
 /*
  *  containsCoordinate:
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationManager.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationManager.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationManager.h	2021-03-16 13:59:36.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationManager.h	2021-06-02 05:36:26.000000000 -0400
@@ -659,6 +659,24 @@
 - (void)stopMonitoringSignificantLocationChanges API_AVAILABLE(ios(4.0), macos(10.7)) API_UNAVAILABLE(watchos, tvos);
 
 /*
+ *  startMonitoringLocationPushes
+ *
+ *  Discussion:
+ *   	Request an Apple Push Notification service token to be used to send location pushes. Incoming location pushes launch the app's Location Push Service Extension. Requires the com.apple.developer.location.push entitlement.
+ *
+ */
+- (void)startMonitoringLocationPushesWithCompletion:(void(^ _Nullable)(NSData * _Nullable token, NSError * _Nullable))completion API_AVAILABLE(ios(15.0));
+
+/*
+ *  stopMonitoringLocationPushes
+ *
+ *  Discussion:
+ *		Stop monitoring for location pushes.
+ *
+ */
+- (void)stopMonitoringLocationPushes API_AVAILABLE(ios(15.0));
+
+/*
  *  startMonitoringForRegion:desiredAccuracy:
  *
  *  Discussion:
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationPushServiceError.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationPushServiceError.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationPushServiceError.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationPushServiceError.h	2021-06-02 05:36:26.000000000 -0400
@@ -0,0 +1,32 @@
+/*
+ *  CLLocationPushServiceError.h
+ *  CoreLocation
+ *
+ *  Copyright (c) 2021 Apple Inc. All rights reserved.
+ *
+ */
+
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CLAvailability.h>
+
+/*
+ *  CLLocationPushServiceErrorDomain
+ *
+ *  Discussion:
+ *    Error returned as the domain to NSError from -[CLLocationManager startMonitoringLocationPushesWithCompletion:].
+ *
+*/
+CL_EXTERN NSErrorDomain const CLLocationPushServiceErrorDomain API_AVAILABLE(ios(15.0));
+
+/*
+ *  CLLocationPushServiceError
+ *
+ *  Discussion:
+ *    Error returned as code to NSError from -[CLLocationManager startMonitoringLocationPushesWithCompletion:].
+ */
+typedef NS_ERROR_ENUM(CLLocationPushServiceErrorDomain, CLLocationPushServiceError) {
+	CLLocationPushServiceErrorUnknown = 0,
+	CLLocationPushServiceErrorMissingPushExtension = 1,	             // App is lacking a Location Push Service Extension
+	CLLocationPushServiceErrorMissingPushServerEnvironment = 2,      // App is lacking APNS environment
+	CLLocationPushServiceErrorMissingEntitlement = 3,                // App is lacking the com.apple.developer.location.push entitlement
+} API_AVAILABLE(ios(15.0));
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationPushServiceExtension.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationPushServiceExtension.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationPushServiceExtension.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLLocationPushServiceExtension.h	2021-06-02 05:36:27.000000000 -0400
@@ -0,0 +1,28 @@
+/*
+ *  CLLocationPushServiceExtension.h
+ *  CoreLocation
+ *
+ *  Copyright © 2021 Apple Inc. All rights reserved.
+ */
+
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CoreLocation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(15.0))
+@protocol CLLocationPushServiceExtension <NSObject>
+
+@required
+
+// Call the completion handler once the location push has been handled.
+- (void)didReceiveLocationPushPayload:(NSDictionary <NSString *, id> *)payload completion:(void (^)(void))completion;
+
+@optional
+
+// Called just before this extension is terminated by the system.
+- (void)serviceExtensionWillTerminate;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLRegion.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLRegion.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLRegion.h	2021-03-16 13:57:23.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLRegion.h	2021-06-02 05:36:26.000000000 -0400
@@ -12,8 +12,6 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@class CLRegionInternal;
-
 /*
  * CLRegionState
  *
@@ -50,10 +48,6 @@
 CL_EXTERN
 API_AVAILABLE(macos(10.7), ios(4.0))
 @interface CLRegion : NSObject <NSCopying, NSSecureCoding>
-{
-@package
-	CLRegionInternal *_internal;
-}
 /*
  *  initCircularRegionWithCenter:radius:identifier:
  *  
@@ -76,7 +70,7 @@
  *
  *    This method has been deprecated, please see CLCircularRegion.
  */
-@property (readonly, nonatomic) CLLocationCoordinate2D center API_DEPRECATED("Please see CLCircularRegion", ios(4.0, 7.0), macos(10.7, 10.10)) API_UNAVAILABLE(tvos);
+@property (readonly, atomic) CLLocationCoordinate2D center API_DEPRECATED("Please see CLCircularRegion", ios(4.0, 7.0), macos(10.7, 10.10)) API_UNAVAILABLE(tvos);
 
 /*
  *  radius
@@ -86,7 +80,7 @@
  *
  *    This method has been deprecated, please see CLCircularRegion.
  */
-@property (readonly, nonatomic) CLLocationDistance radius API_DEPRECATED("Please see CLCircularRegion", ios(4.0, 7.0), macos(10.7, 10.10)) API_UNAVAILABLE(tvos);
+@property (readonly, atomic) CLLocationDistance radius API_DEPRECATED("Please see CLCircularRegion", ios(4.0, 7.0), macos(10.7, 10.10)) API_UNAVAILABLE(tvos);
 
 /*
  *  identifier
@@ -103,7 +97,7 @@
  *    App will be launched and the delegate will be notified via locationManager:didEnterRegion:
  *    when the user enters the region. By default, this is YES.
  */
-@property (nonatomic, assign) BOOL notifyOnEntry API_AVAILABLE(ios(7.0), macos(10.10));
+@property (atomic, assign) BOOL notifyOnEntry API_AVAILABLE(ios(7.0), macos(10.10));
 
 /*
  *  notifyOnExit
@@ -112,7 +106,7 @@
  *    App will be launched and the delegate will be notified via locationManager:didExitRegion:
  *    when the user exits the region. By default, this is YES.
  */
-@property (nonatomic, assign) BOOL notifyOnExit API_AVAILABLE(ios(7.0), macos(10.10));
+@property (atomic, assign) BOOL notifyOnExit API_AVAILABLE(ios(7.0), macos(10.10));
 
 /*
  *  containsCoordinate:
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CoreLocation.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CoreLocation.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CoreLocation.h	2021-03-16 13:52:40.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CoreLocation.h	2021-05-22 07:24:56.000000000 -0400
@@ -29,5 +29,7 @@
 #import <CoreLocation/CLPlacemark.h>
 #import <CoreLocation/CLGeocoder.h>
 #import <CoreLocation/CLVisit.h>
+#import <CoreLocation/CLLocationPushServiceExtension.h>
+#import <CoreLocation/CLLocationPushServiceError.h>
 
 #endif /* __CORELOCATION__ */
Clone this wiki locally