Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created September 5, 2023 21:34
Show Gist options
  • Save vs-mobiletools-engineering-service2/7f94238d4d6c54eb476ac2154ba32cb5 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/7f94238d4d6c54eb476ac2154ba32cb5 to your computer and use it in GitHub Desktop.
previous-api-comparison/mac-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.Mac SDK API diff
List of API changes for Xamarin.Mac.
spouliot
sepoulio
9/5/2023
article
f833f3cb-eea7-c1b8-a706-dfbb597746ea
xamarin

Xamarin.Mac SDK API diff

Namespace CoreLocation

New Type: CoreLocation.CLBeaconIdentityCondition

public class CLBeaconIdentityCondition : CoreLocation.CLCondition, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLBeaconIdentityCondition (Foundation.NSCoder coder);
	protected CLBeaconIdentityCondition (Foundation.NSObjectFlag t);
	public CLBeaconIdentityCondition (Foundation.NSUuid uuid);
	protected CLBeaconIdentityCondition (IntPtr handle);
	public CLBeaconIdentityCondition (Foundation.NSUuid uuid, ushort major);
	public CLBeaconIdentityCondition (Foundation.NSUuid uuid, ushort major, ushort minor);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber Major { get; }
	public virtual Foundation.NSNumber Minor { get; }
	public virtual Foundation.NSUuid Uuid { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLCircularGeographicCondition

public class CLCircularGeographicCondition : CoreLocation.CLCondition, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLCircularGeographicCondition ();
	public CLCircularGeographicCondition (Foundation.NSCoder coder);
	protected CLCircularGeographicCondition (Foundation.NSObjectFlag t);
	protected CLCircularGeographicCondition (IntPtr handle);
	public CLCircularGeographicCondition (CLLocationCoordinate2D center, double radius);
	// properties
	public virtual CLLocationCoordinate2D Center { get; }
	public override IntPtr ClassHandle { get; }
	public virtual double Radius { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLCondition

public class CLCondition : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLCondition ();
	public CLCondition (Foundation.NSCoder coder);
	protected CLCondition (Foundation.NSObjectFlag t);
	protected CLCondition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLLiveUpdateConfiguration

[Serializable]
public enum CLLiveUpdateConfiguration {
	Airborne = 4,
	AutomotiveNavigation = 1,
	Default = 0,
	Fitness = 3,
	OtherNavigation = 2,
}

New Type: CoreLocation.CLLocationUpdater

public class CLLocationUpdater : Foundation.NSObject {
	// constructors
	protected CLLocationUpdater (Foundation.NSObjectFlag t);
	protected CLLocationUpdater (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static CLLocationUpdater CreateLiveUpdates (CoreFoundation.DispatchQueue queue, System.Action<CLUpdate> handler);
	public static CLLocationUpdater CreateLiveUpdates (CLLiveUpdateConfiguration configuration, CoreFoundation.DispatchQueue queue, System.Action<CLUpdate> handler);
	public virtual void Invalidate ();
	public virtual void Pause ();
	public virtual void Resume ();
}

New Type: CoreLocation.CLMonitor

public class CLMonitor : Foundation.NSObject {
	// constructors
	protected CLMonitor (Foundation.NSObjectFlag t);
	protected CLMonitor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string[] MonitoredIdentifiers { get; }
	public virtual string Name { get; }
	// methods
	public virtual void AddCondition (CLCondition condition, string identifier);
	public virtual void AddCondition (CLCondition condition, string identifier, CLMonitoringState state);
	public virtual CLMonitoringRecord GetMonitoringRecord (string identifier);
	public virtual void RemoveCondition (string identifier);
	public static void RequestMonitor (CLMonitorConfiguration config, System.Action<CLMonitor> completionHandler);
	public static System.Threading.Tasks.Task<CLMonitor> RequestMonitorAsync (CLMonitorConfiguration config);
}

New Type: CoreLocation.CLMonitorConfiguration

public class CLMonitorConfiguration : Foundation.NSObject {
	// constructors
	public CLMonitorConfiguration ();
	protected CLMonitorConfiguration (Foundation.NSObjectFlag t);
	protected CLMonitorConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual System.Action<CLMonitor,CoreLocation.CLMonitoringEvent> EventHandler { get; }
	public virtual string Name { get; }
	public virtual CoreFoundation.DispatchQueue Queue { get; }
	// methods
	public static CLMonitorConfiguration Create (string name, CoreFoundation.DispatchQueue queue, System.Action<CLMonitor,CoreLocation.CLMonitoringEvent> eventHandler);
}

New Type: CoreLocation.CLMonitoringEvent

public class CLMonitoringEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLMonitoringEvent (Foundation.NSCoder coder);
	protected CLMonitoringEvent (Foundation.NSObjectFlag t);
	protected CLMonitoringEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual string Identifier { get; }
	public virtual CLCondition Refinement { get; }
	public virtual CLMonitoringState State { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLMonitoringRecord

public class CLMonitoringRecord : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLMonitoringRecord (Foundation.NSCoder coder);
	protected CLMonitoringRecord (Foundation.NSObjectFlag t);
	protected CLMonitoringRecord (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CLCondition Condition { get; }
	public virtual CLMonitoringEvent LastEvent { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreLocation.CLMonitoringState

[Serializable]
public enum CLMonitoringState {
	Satisfied = 1,
	Unknown = 0,
	Unsatisfied = 2,
}

New Type: CoreLocation.CLUpdate

public class CLUpdate : Foundation.NSObject {
	// constructors
	public CLUpdate ();
	protected CLUpdate (Foundation.NSObjectFlag t);
	protected CLUpdate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsStationary { get; }
	public virtual CLLocation Location { get; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment