[XM] Add CoreLocation APIs that exist on macOS (#671)
- https://bugzilla.xamarin.com/show_bug.cgi?id=43593
This commit is contained in:
Родитель
0656de444b
Коммит
82882b70f7
|
@ -203,9 +203,11 @@ namespace XamCore.CoreLocation {
|
|||
[NoWatch][NoTV]
|
||||
[Export ("dismissHeadingCalibrationDisplay")]
|
||||
void DismissHeadingCalibrationDisplay ();
|
||||
#endif
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (3,2)]
|
||||
[Mac (10,7)]
|
||||
[Availability (Introduced = Platform.iOS_3_2, Deprecated = Platform.iOS_6_0)]
|
||||
// Default property value is null but it cannot be set to that value
|
||||
// it crash when a null is provided
|
||||
|
@ -214,25 +216,28 @@ namespace XamCore.CoreLocation {
|
|||
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Mac (10,7)]
|
||||
[Export ("headingAvailable"), Static]
|
||||
bool HeadingAvailable { get; }
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Mac (10,7)]
|
||||
[Export ("significantLocationChangeMonitoringAvailable"), Static]
|
||||
bool SignificantLocationChangeMonitoringAvailable { get; }
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Availability (Introduced = Platform.iOS_4_0, Deprecated = Platform.iOS_7_0, Message = "Use IsMonitoringAvailable instead")]
|
||||
[Availability (Introduced = Platform.iOS_4_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_7_0 | Platform.Mac_10_10, Message = "Use IsMonitoringAvailable instead")]
|
||||
[Export ("regionMonitoringAvailable"), Static]
|
||||
bool RegionMonitoringAvailable { get; }
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Availability (Introduced = Platform.iOS_4_0, Deprecated = Platform.iOS_6_0, Message = "Use IsMonitoringAvailable and AuthorizationStatus instead")]
|
||||
[Availability (Introduced = Platform.iOS_4_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_6_0 | Platform.Mac_10_10, Message = "Use IsMonitoringAvailable and AuthorizationStatus instead")]
|
||||
[Export ("regionMonitoringEnabled"), Static]
|
||||
bool RegionMonitoringEnabled { get; }
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Export ("headingOrientation", ArgumentSemantic.Assign)]
|
||||
|
@ -242,47 +247,58 @@ namespace XamCore.CoreLocation {
|
|||
[Export ("heading", ArgumentSemantic.Copy)]
|
||||
[Since (4,0)]
|
||||
CLHeading Heading { get; }
|
||||
#endif
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Export ("maximumRegionMonitoringDistance")]
|
||||
[Since (4,0)]
|
||||
[Mac (10,8)]
|
||||
double MaximumRegionMonitoringDistance { get; }
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Export ("monitoredRegions", ArgumentSemantic.Copy)]
|
||||
[Since (4,0)]
|
||||
[Mac (10,8)]
|
||||
NSSet MonitoredRegions { get; }
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Mac (10,7)]
|
||||
[Export ("startMonitoringSignificantLocationChanges")]
|
||||
void StartMonitoringSignificantLocationChanges ();
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Mac (10,7)]
|
||||
[Export ("stopMonitoringSignificantLocationChanges")]
|
||||
void StopMonitoringSignificantLocationChanges ();
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Availability (Introduced = Platform.iOS_4_0, Deprecated = Platform.iOS_6_0)]
|
||||
[Export ("startMonitoringForRegion:desiredAccuracy:")]
|
||||
void StartMonitoring (CLRegion region, double desiredAccuracy);
|
||||
#endif
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Mac (10,8)]
|
||||
[Export ("stopMonitoringForRegion:")]
|
||||
void StopMonitoring (CLRegion region);
|
||||
|
||||
[Since (4,2)]
|
||||
[Mac (10,7)]
|
||||
[Export ("authorizationStatus")][Static]
|
||||
CLAuthorizationStatus Status { get; }
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (5,0)]
|
||||
[Mac (10,8)]
|
||||
[Export ("startMonitoringForRegion:")]
|
||||
void StartMonitoring (CLRegion region);
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoTV]
|
||||
[Since (6,0)]
|
||||
[Export ("activityType", ArgumentSemantic.Assign)]
|
||||
|
@ -302,29 +318,38 @@ namespace XamCore.CoreLocation {
|
|||
[Since (6,0)]
|
||||
[Export ("disallowDeferredLocationUpdates")]
|
||||
void DisallowDeferredLocationUpdates ();
|
||||
#endif
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (6,0)]
|
||||
[Mac (10,9)]
|
||||
[Static]
|
||||
[Export ("deferredLocationUpdatesAvailable")]
|
||||
bool DeferredLocationUpdatesAvailable { get; }
|
||||
|
||||
#if !MONOMAC
|
||||
[Since (6,0)]
|
||||
[Field ("CLTimeIntervalMax")]
|
||||
double MaxTimeInterval { get; }
|
||||
#endif
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Mac (10,10)]
|
||||
[Since (7,0), Static, Export ("isMonitoringAvailableForClass:")]
|
||||
bool IsMonitoringAvailable (Class regionClass);
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoTV]
|
||||
[Since (7,0), Export ("rangedRegions", ArgumentSemantic.Copy)]
|
||||
NSSet RangedRegions { get; }
|
||||
#endif
|
||||
|
||||
[Mac (10,10)]
|
||||
[NoWatch][NoTV]
|
||||
[Since (7,0), Export ("requestStateForRegion:")]
|
||||
void RequestState (CLRegion region);
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoTV]
|
||||
[Since (7,0), Export ("startRangingBeaconsInRegion:")]
|
||||
void StartRangingBeacons (CLBeaconRegion region);
|
||||
|
@ -392,31 +417,36 @@ namespace XamCore.CoreLocation {
|
|||
[Export ("locationManager:didFailWithError:"), EventArgs ("NSError", true)]
|
||||
void Failed (CLLocationManager manager, NSError error);
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Mac (10,8)]
|
||||
[Export ("locationManager:didEnterRegion:"), EventArgs ("CLRegion")]
|
||||
void RegionEntered (CLLocationManager manager, CLRegion region);
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Mac (10,8)]
|
||||
[Export ("locationManager:didExitRegion:"), EventArgs ("CLRegion")]
|
||||
void RegionLeft (CLLocationManager manager, CLRegion region);
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since (4,0)]
|
||||
[Mac (10,8)]
|
||||
[Export ("locationManager:monitoringDidFailForRegion:withError:"), EventArgs ("CLRegionError")]
|
||||
void MonitoringFailed (CLLocationManager manager, CLRegion region, NSError error);
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Since(5,0)]
|
||||
[Mac (10,8)]
|
||||
[Export ("locationManager:didStartMonitoringForRegion:"), EventArgs ("CLRegion")]
|
||||
void DidStartMonitoringForRegion (CLLocationManager manager, CLRegion region);
|
||||
|
||||
[NoWatch][NoTV]
|
||||
[Mac (10,10)]
|
||||
[Since (7,0), Export ("locationManager:didDetermineState:forRegion:"), EventArgs ("CLRegionStateDetermined")]
|
||||
void DidDetermineState (CLLocationManager manager, CLRegionState state, CLRegion region);
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoTV]
|
||||
[Since (7,0), Export ("locationManager:didRangeBeacons:inRegion:"), EventArgs ("CLRegionBeaconsRanged")]
|
||||
void DidRangeBeacons (CLLocationManager manager, CLBeacon [] beacons, CLBeaconRegion region);
|
||||
|
@ -565,8 +595,11 @@ namespace XamCore.CoreLocation {
|
|||
NSTimeZone TimeZone { get; }
|
||||
}
|
||||
|
||||
#if !MONOMAC
|
||||
[Mac (10,10)]
|
||||
[Since (7,0), BaseType (typeof (CLRegion))]
|
||||
#if MONOMAC
|
||||
[DisableDefaultCtor]
|
||||
#endif
|
||||
public partial interface CLCircularRegion {
|
||||
|
||||
[Export ("initWithCenter:radius:identifier:")]
|
||||
|
@ -582,6 +615,7 @@ namespace XamCore.CoreLocation {
|
|||
bool ContainsCoordinate (CLLocationCoordinate2D coordinate);
|
||||
}
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoMac][NoTV]
|
||||
[Since (7,0), BaseType (typeof (CLRegion))]
|
||||
[DisableDefaultCtor] // nil-Handle on iOS8 if 'init' is used
|
||||
|
@ -635,8 +669,11 @@ namespace XamCore.CoreLocation {
|
|||
nint Rssi { get; }
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
delegate void CLGeocodeCompletionHandler (CLPlacemark [] placemarks, NSError error);
|
||||
|
||||
[Mac (10,8)]
|
||||
[Since (5,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CLGeocoder {
|
||||
|
@ -663,6 +700,7 @@ namespace XamCore.CoreLocation {
|
|||
void CancelGeocode ();
|
||||
}
|
||||
|
||||
#if !MONOMAC
|
||||
[NoWatch][NoTV]
|
||||
[iOS (8,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
|
|
Загрузка…
Ссылка в новой задаче