Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created June 22, 2021 23:14
Show Gist options
  • Save vs-mobiletools-engineering-service2/d91e6a2d10bfdc86be5c4383977a6624 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/d91e6a2d10bfdc86be5c4383977a6624 to your computer and use it in GitHub Desktop.
iOS API diff from stable
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.iOS SDK API diff: 14.16.0 vs 14.99.0
List of API changes between Xamarin.iOS versions 14.16.0 and 14.99.0.
spouliot
sepoulio
6/22/2021
article
505e8ae1-7486-392f-a550-e1dc9b37cdeb
xamarin

Xamarin.iOS SDK API diff: 14.16.0 vs 14.99.0

Namespace ARKit

Type Changed: ARKit.ARCoachingGoal

Added value:

GeoTracking = 4,

Namespace AVFoundation

Type Changed: AVFoundation.AVCaptureAutoExposureBracketedStillImageSettings

Obsoleted constructors:

 [Obsolete ("Use the static 'Create' method to create a working instance of this type.")]
 public AVCaptureAutoExposureBracketedStillImageSettings ();

Type Changed: AVFoundation.AVCaptureManualExposureBracketedStillImageSettings

Obsoleted constructors:

 [Obsolete ("Use the static 'Create' method to create a working instance of this type.")]
 public AVCaptureManualExposureBracketedStillImageSettings ();

Type Changed: AVFoundation.AVPlayerInterstitialEvent

Obsoleted properties:

 [Obsolete ("Use 'TemplateItems' instead.")]
 public virtual AVPlayerItem[] InterstitialTemplateItems { get; }

Removed methods:

public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);

Type Changed: AVFoundation.AVPlayerInterstitialEventController

Obsoleted properties:

 [Obsolete ("Use 'Events' instead.")]
 public virtual AVPlayerInterstitialEvent[] InterstitialEvents { get; set; }

Obsoleted methods:

 [Obsolete ("Use 'GetInterstitialEventController' instead.")]
 public static AVPlayerInterstitialEventController GetPlayerInterstitialEventController (AVPlayer primaryPlayer);

Type Changed: AVFoundation.AVPlayerInterstitialEventObserver

Obsoleted properties:

 [Obsolete ("Use 'Events' instead.")]
 public virtual AVPlayerInterstitialEvent[] InterstitialEvents { get; }

Removed method:

public static AVPlayerInterstitialEventObserver GetPlayerInterstitialEventObserver (AVPlayer primaryPlayer);

Namespace Accessibility

New Type: Accessibility.AXCategoricalDataAxisDescriptor

public class AXCategoricalDataAxisDescriptor : Foundation.NSObject, IAXDataAxisDescriptor, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXCategoricalDataAxisDescriptor (Foundation.NSObjectFlag t);
	protected AXCategoricalDataAxisDescriptor (IntPtr handle);
	public AXCategoricalDataAxisDescriptor (Foundation.NSAttributedString attributedTitle, string[] categoryOrder);
	public AXCategoricalDataAxisDescriptor (string title, string[] categoryOrder);
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public virtual string[] CategoryOrder { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string Title { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXChartDescriptor

public class AXChartDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXChartDescriptor (Foundation.NSObjectFlag t);
	protected AXChartDescriptor (IntPtr handle);
	public AXChartDescriptor (Foundation.NSAttributedString attributedTitle, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (string title, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (Foundation.NSAttributedString attributedTitle, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, IAXDataAxisDescriptor[] additionalAxes, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (string title, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, IAXDataAxisDescriptor[] additionalAxes, AXDataSeriesDescriptor[] series);
	// properties
	public virtual IAXDataAxisDescriptor[] AdditionalAxes { get; set; }
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual AXChartDescriptorContentDirection ContentDirection { get; set; }
	public virtual CoreGraphics.CGRect ContentFrame { get; set; }
	public virtual AXDataSeriesDescriptor[] Series { get; set; }
	public virtual string Summary { get; set; }
	public virtual string Title { get; set; }
	public virtual IAXDataAxisDescriptor XAxis { get; set; }
	public virtual AXNumericDataAxisDescriptor YAxis { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXChartDescriptorContentDirection

[Serializable]
public enum AXChartDescriptorContentDirection {
	BottomToTop = 3,
	LeftToRight = 0,
	RadialClockwise = 4,
	RadialCounterClockwise = 5,
	RightToLeft = 1,
	TopToBottom = 2,
}

New Type: Accessibility.AXDataPoint

public class AXDataPoint : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataPoint (Foundation.NSObjectFlag t);
	protected AXDataPoint (IntPtr handle);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue, AXDataPointValue[] additionalValues);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue, AXDataPointValue[] additionalValues, string label);
	// properties
	public virtual AXDataPointValue[] AdditionalValues { get; set; }
	public virtual Foundation.NSAttributedString AttributedLabel { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string Label { get; set; }
	public virtual AXDataPointValue XValue { get; set; }
	public virtual AXDataPointValue YValue { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXDataPointValue

public class AXDataPointValue : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataPointValue (Foundation.NSObjectFlag t);
	protected AXDataPointValue (IntPtr handle);
	// properties
	public virtual string Category { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual double Number { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static AXDataPointValue CreateValueWithCategory (string category);
	public static AXDataPointValue CreateValueWithNumber (double number);
}

New Type: Accessibility.AXDataSeriesDescriptor

public class AXDataSeriesDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataSeriesDescriptor (Foundation.NSObjectFlag t);
	protected AXDataSeriesDescriptor (IntPtr handle);
	public AXDataSeriesDescriptor (Foundation.NSAttributedString attributedName, bool isContinuous, AXDataPoint[] dataPoints);
	public AXDataSeriesDescriptor (string name, bool isContinuous, AXDataPoint[] dataPoints);
	// properties
	public virtual Foundation.NSAttributedString AttributedName { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual AXDataPoint[] DataPoints { get; set; }
	public virtual bool IsContinuous { get; set; }
	public virtual string Name { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXHearingDeviceEar

[Serializable]
[Flags]
public enum AXHearingDeviceEar {
	Both = 6,
	Left = 2,
	None = 0,
	Right = 4,
}

New Type: Accessibility.AXHearingUtilities

public static class AXHearingUtilities {
	// properties
	public static Foundation.NSString PairedUUIDsDidChangeNotification { get; }
	public static Foundation.NSString StreamingEarDidChangeNotification { get; }
	// methods
	public static IntPtr AXMFiHearingDevicePairedUUIDs ();
	public static Foundation.NSUuid[] GetMFiHearingDevicePairedUuids ();
	public static AXHearingDeviceEar GetMFiHearingDeviceStreamingEar ();

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObservePairedUUIDsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObservePairedUUIDsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveStreamingEarDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveStreamingEarDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: Accessibility.AXLiveAudioGraph

public class AXLiveAudioGraph : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXLiveAudioGraph (Foundation.NSObjectFlag t);
	protected AXLiveAudioGraph (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static void Start ();
	public static void Stop ();
	public static void Update (double value);
}

New Type: Accessibility.AXNumericDataAxisDescriptor

public class AXNumericDataAxisDescriptor : Foundation.NSObject, IAXDataAxisDescriptor, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXNumericDataAxisDescriptor (Foundation.NSObjectFlag t);
	protected AXNumericDataAxisDescriptor (IntPtr handle);
	public AXNumericDataAxisDescriptor (Foundation.NSAttributedString attributedTitle, double lowerBound, double upperBound, Foundation.NSNumber[] gridlinePositions, System.Func<System.Double,Foundation.NSString> valueDescriptionProvider);
	public AXNumericDataAxisDescriptor (string title, double lowerBound, double upperBound, Foundation.NSNumber[] gridlinePositions, System.Func<System.Double,Foundation.NSString> valueDescriptionProvider);
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber[] GridlinePositions { get; set; }
	public virtual double LowerBound { get; set; }
	public virtual AXNumericDataAxisDescriptorScale ScaleType { get; set; }
	public virtual string Title { get; set; }
	public virtual double UpperBound { get; set; }
	public virtual System.Func<System.Double,Foundation.NSString> ValueDescriptionProvider { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXNumericDataAxisDescriptorScale

[Serializable]
public enum AXNumericDataAxisDescriptorScale {
	Linear = 0,
	Ln = 2,
	Log10 = 1,
}

New Type: Accessibility.IAXChart

public interface IAXChart : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual AXChartDescriptor AccessibilityChartDescriptor { get; set; }
}

New Type: Accessibility.IAXDataAxisDescriptor

public interface IAXDataAxisDescriptor : Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public virtual string Title { get; set; }
}

Namespace AddressBook

Type Changed: AddressBook.ABPropertyType

Added value:

MultiMask = 256,

Namespace CarPlay

Type Changed: CarPlay.CPGridTemplate

Added property:

public static nuint MaximumItems { get; }

Added methods:

public virtual void UpdateGridButtons (CPGridButton[] gridButtons);
public virtual void UpdateTitle (string title);

Type Changed: CarPlay.CPListImageRowItem

Added property:

public virtual bool Enabled { get; set; }

Type Changed: CarPlay.CPListItem

Added property:

public virtual bool Enabled { get; set; }

Type Changed: CarPlay.CPListSection

Added constructor:

public CPListSection (ICPListTemplateItem[] items, string header, string headerSubtitle, UIKit.UIImage headerImage, CPButton headerButton, string sectionIndexTitle);

Added properties:

public virtual CPButton HeaderButton { get; }
public virtual UIKit.UIImage HeaderImage { get; }
public virtual string HeaderSubtitle { get; }
public static CoreGraphics.CGSize MaximumImageSize { get; }

Type Changed: CarPlay.CPListTemplate

Added constructor:

public CPListTemplate (string title, CPListSection[] sections, CPAssistantCellVisibility visibility, CPAssistantCellPosition position);

Added properties:

public virtual CPAssistantCellPosition AssistantCellPosition { get; set; }
public virtual CPAssistantCellVisibility AssistantCellVisibility { get; set; }

Type Changed: CarPlay.CPMessageListItem

Added property:

public virtual bool Enabled { get; set; }

New Type: CarPlay.CPAssistantCellPosition

[Serializable]
public enum CPAssistantCellPosition {
	Bottom = 1,
	Top = 0,
}

New Type: CarPlay.CPAssistantCellVisibility

[Serializable]
public enum CPAssistantCellVisibility {
	Always = 2,
	Off = 0,
	WhileLimitedUIActive = 1,
}

New Type: CarPlay.CPJunctionType

[Serializable]
public enum CPJunctionType {
	Intersection = 0,
	Roundabout = 1,
}

New Type: CarPlay.CPListTemplateItem_Extensions

public static class CPListTemplateItem_Extensions {
	// methods
	public static bool GetEnabled (this ICPListTemplateItem This);
	public static void SetEnabled (this ICPListTemplateItem This, bool value);
}

New Type: CarPlay.CPManeuverType

[Serializable]
public enum CPManeuverType {
	ArriveAtDestination = 12,
	ArriveAtDestinationLeft = 24,
	ArriveAtDestinationRight = 25,
	ArriveEndOfDirections = 27,
	ArriveEndOfNavigation = 10,
	ChangeFerry = 17,
	ChangeHighway = 51,
	ChangeHighwayLeft = 52,
	ChangeHighwayRight = 53,
	EnterFerry = 15,
	EnterRoundabout = 6,
	ExitFerry = 16,
	ExitRoundabout = 7,
	FollowRoad = 5,
	HighwayOffRampLeft = 22,
	HighwayOffRampRight = 23,
	KeepLeft = 13,
	KeepRight = 14,
	LeftTurn = 1,
	LeftTurnAtEnd = 20,
	NoTurn = 0,
	OffRamp = 8,
	OnRamp = 9,
	RightTurn = 2,
	RightTurnAtEnd = 21,
	RoundaboutExit1 = 28,
	RoundaboutExit10 = 37,
	RoundaboutExit11 = 38,
	RoundaboutExit12 = 39,
	RoundaboutExit13 = 40,
	RoundaboutExit14 = 41,
	RoundaboutExit15 = 42,
	RoundaboutExit16 = 43,
	RoundaboutExit17 = 44,
	RoundaboutExit18 = 45,
	RoundaboutExit19 = 46,
	RoundaboutExit2 = 29,
	RoundaboutExit3 = 30,
	RoundaboutExit4 = 31,
	RoundaboutExit5 = 32,
	RoundaboutExit6 = 33,
	RoundaboutExit7 = 34,
	RoundaboutExit8 = 35,
	RoundaboutExit9 = 36,
	SharpLeftTurn = 47,
	SharpRightTurn = 48,
	SlightLeftTurn = 49,
	SlightRightTurn = 50,
	StartRoute = 11,
	StartRouteWithUTurn = 18,
	StraightAhead = 3,
	UTurn = 4,
	UTurnAtRoundabout = 19,
	UTurnWhenPossible = 26,
}

New Type: CarPlay.CPTrafficSide

[Serializable]
public enum CPTrafficSide {
	Left = 1,
	Right = 0,
}

Namespace ClassKit

Type Changed: ClassKit.CLSErrorUserInfoKeys

Added property:

public static Foundation.NSString SuccessfulObjectsKey { get; }

Namespace CloudKit

Type Changed: CloudKit.CKAccountStatus

Added value:

TemporarilyUnavailable = 4,

Type Changed: CloudKit.CKErrorCode

Added value:

TemporarilyUnavailable = 36,

Type Changed: CloudKit.CKErrorFields

Added property:

public static Foundation.NSString UserDidResetEncryptedDataKey { get; }

Type Changed: CloudKit.CKFetchDatabaseChangesOperation

Added property:

public virtual System.Action<CKRecordZoneID> RecordZoneWithIdWasDeletedDueToUserEncryptedDataReset { get; set; }

Type Changed: CloudKit.CKFetchRecordZoneChangesOperation

Added property:

public virtual CKFetchRecordZoneChangesRecordWasChangedHandler RecordWasChangedHandler { get; set; }

Type Changed: CloudKit.CKFetchRecordZonesOperation

Added property:

public virtual CKRecordZonePerRecordZoneCompletionHandler PerRecordZoneCompletionHandler { get; set; }

Type Changed: CloudKit.CKFetchShareParticipantsOperation

Added property:

public virtual CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler PerShareParticipantCompletionBlock { get; set; }

Type Changed: CloudKit.CKFetchSubscriptionsOperation

Added property:

public virtual CKFetchSubscriptionsPerSubscriptionCompletionHandler PerSubscriptionCompletionHandler { get; set; }

Type Changed: CloudKit.CKModifyRecordZonesOperation

Added properties:

public virtual CKModifyRecordZonesPerRecordZoneDeleteHandler PerRecordZoneDeleteHandler { get; set; }
public virtual CKModifyRecordZonesPerRecordZoneSaveHandler PerRecordZoneSaveHandler { get; set; }

Type Changed: CloudKit.CKModifyRecordsOperation

Added properties:

public virtual CKModifyRecordsOperationPerRecordDeleteHandler PerRecordDeleteHandler { get; set; }
public virtual CKModifyRecordsOperationPerRecordSaveHandler PerRecordSaveHandler { get; set; }

Type Changed: CloudKit.CKModifySubscriptionsOperation

Added properties:

public virtual CKModifySubscriptionsPerSubscriptionDeleteHandler PerSubscriptionDeleteHandler { get; set; }
public virtual CKModifySubscriptionsPerSubscriptionSaveHandler PerSubscriptionSaveHandler { get; set; }

Type Changed: CloudKit.CKQueryOperation

Added property:

public virtual CKQueryOperationRecordMatchedHandler RecordMatchedHandler { get; set; }

Type Changed: CloudKit.CKRecord

Added property:

public static Foundation.NSString NameZoneWideShare { get; }

Type Changed: CloudKit.CKRecordZone

Added property:

public virtual CKReference Share { get; }

Type Changed: CloudKit.CKRecordZoneCapabilities

Added value:

ZoneWideSharing = 8,

Type Changed: CloudKit.CKShare

Added constructor:

public CKShare (CKRecordZoneID recordZoneId);

Type Changed: CloudKit.CKShareMetadata

Added property:

public virtual CKRecordID HierarchicalRootRecordId { get; }

New Type: CloudKit.CKFetchRecordZoneChangesRecordWasChangedHandler

public sealed delegate CKFetchRecordZoneChangesRecordWasChangedHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKFetchRecordZoneChangesRecordWasChangedHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordID recordId, CKRecord record, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordID recordId, CKRecord record, Foundation.NSError error);
}

New Type: CloudKit.CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler

public sealed delegate CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKUserIdentityLookupInfo identityLookupInfo, CKShareParticipant participant, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKUserIdentityLookupInfo identityLookupInfo, CKShareParticipant participant, Foundation.NSError error);
}

New Type: CloudKit.CKFetchSubscriptionsPerSubscriptionCompletionHandler

public sealed delegate CKFetchSubscriptionsPerSubscriptionCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKFetchSubscriptionsPerSubscriptionCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSString subscriptionId, CKSubscription subscription, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSString subscriptionId, CKSubscription subscription, Foundation.NSError error);
}

New Type: CloudKit.CKModifyRecordZonesPerRecordZoneDeleteHandler

public sealed delegate CKModifyRecordZonesPerRecordZoneDeleteHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifyRecordZonesPerRecordZoneDeleteHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordZoneID zoneId, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordZoneID zoneId, Foundation.NSError error);
}

New Type: CloudKit.CKModifyRecordZonesPerRecordZoneSaveHandler

public sealed delegate CKModifyRecordZonesPerRecordZoneSaveHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifyRecordZonesPerRecordZoneSaveHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordZoneID zoneId, CKRecordZone zone, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordZoneID zoneId, CKRecordZone zone, Foundation.NSError error);
}

New Type: CloudKit.CKModifyRecordsOperationPerRecordDeleteHandler

public sealed delegate CKModifyRecordsOperationPerRecordDeleteHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifyRecordsOperationPerRecordDeleteHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordID recordId, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordID recordId, Foundation.NSError error);
}

New Type: CloudKit.CKModifyRecordsOperationPerRecordSaveHandler

public sealed delegate CKModifyRecordsOperationPerRecordSaveHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifyRecordsOperationPerRecordSaveHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordID recordId, CKRecord record, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordID recordId, CKRecord record, Foundation.NSError error);
}

New Type: CloudKit.CKModifySubscriptionsPerSubscriptionDeleteHandler

public sealed delegate CKModifySubscriptionsPerSubscriptionDeleteHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifySubscriptionsPerSubscriptionDeleteHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSString subscriptionId, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSString subscriptionId, Foundation.NSError error);
}

New Type: CloudKit.CKModifySubscriptionsPerSubscriptionSaveHandler

public sealed delegate CKModifySubscriptionsPerSubscriptionSaveHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifySubscriptionsPerSubscriptionSaveHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSString subscriptionId, CKSubscription subscription, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSString subscriptionId, CKSubscription subscription, Foundation.NSError error);
}

New Type: CloudKit.CKQueryOperationRecordMatchedHandler

public sealed delegate CKQueryOperationRecordMatchedHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKQueryOperationRecordMatchedHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordID recordId, CKRecord record, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordID recordId, CKRecord record, Foundation.NSError error);
}

New Type: CloudKit.CKRecordZonePerRecordZoneCompletionHandler

public sealed delegate CKRecordZonePerRecordZoneCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKRecordZonePerRecordZoneCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordZoneID recordZoneId, CKRecordZone recordZone, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordZoneID recordZoneId, CKRecordZone recordZone, Foundation.NSError error);
}

Namespace Contacts

Type Changed: Contacts.CNErrorCode

Added value:

ChangeHistoryInvalidFetchRequest = 605,

Type Changed: Contacts.CNSaveRequest

Added property:

public virtual string TransactionAuthor { get; set; }

Namespace CoreFoundation

Type Changed: CoreFoundation.CFBundle

Type Changed: CoreFoundation.CFBundle.Architecture

Modified fields:

-ARM = 18
+ARM = 12
-ARM64 = 16777234
+ARM64 = 16777228
-PPC = 24
+PPC = 18
-PPC64 = 16777240
+PPC64 = 16777234

Type Changed: CoreFoundation.CFString

Added methods:

public static IntPtr CreateNative (string value);
public static string FromHandle (IntPtr handle);
public static string FromHandle (IntPtr handle, bool releaseHandle);
public static void ReleaseNative (IntPtr handle);

Namespace CoreHaptics

Type Changed: CoreHaptics.CHHapticErrorCode

Added values:

FileNotFound = -4851,
InsufficientPower = -4897,
InvalidEngineParameter = -4816,

Type Changed: CoreHaptics.CHHapticPatternDefinition

Added property:

public bool? EventWaveformUseVolumeEnvelope { get; set; }

New Type: CoreHaptics.CHHapticAudioResourceDefinition

public class CHHapticAudioResourceDefinition : Foundation.DictionaryContainer {
	// constructors
	public CHHapticAudioResourceDefinition ();
	public CHHapticAudioResourceDefinition (Foundation.NSDictionary dictionary);
	// properties
	public bool? UseVolumeEnvelope { get; set; }
}

Namespace CoreImage

New Type: CoreImage.CIConvolutionRGB3X3

public class CIConvolutionRGB3X3 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB3X3 ();
	public CIConvolutionRGB3X3 (Foundation.NSCoder coder);
	protected CIConvolutionRGB3X3 (Foundation.NSObjectFlag t);
	public CIConvolutionRGB3X3 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB5X5

public class CIConvolutionRGB5X5 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB5X5 ();
	public CIConvolutionRGB5X5 (Foundation.NSCoder coder);
	protected CIConvolutionRGB5X5 (Foundation.NSObjectFlag t);
	public CIConvolutionRGB5X5 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB7X7

public class CIConvolutionRGB7X7 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB7X7 ();
	public CIConvolutionRGB7X7 (Foundation.NSCoder coder);
	protected CIConvolutionRGB7X7 (Foundation.NSObjectFlag t);
	public CIConvolutionRGB7X7 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB9Horizontal

public class CIConvolutionRGB9Horizontal : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB9Horizontal ();
	public CIConvolutionRGB9Horizontal (Foundation.NSCoder coder);
	protected CIConvolutionRGB9Horizontal (Foundation.NSObjectFlag t);
	public CIConvolutionRGB9Horizontal (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB9Vertical

public class CIConvolutionRGB9Vertical : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB9Vertical ();
	public CIConvolutionRGB9Vertical (Foundation.NSCoder coder);
	protected CIConvolutionRGB9Vertical (Foundation.NSObjectFlag t);
	public CIConvolutionRGB9Vertical (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CILinearLightBlendMode

public class CILinearLightBlendMode : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CILinearLightBlendMode ();
	public CILinearLightBlendMode (Foundation.NSCoder coder);
	protected CILinearLightBlendMode (Foundation.NSObjectFlag t);
	public CILinearLightBlendMode (IntPtr handle);
	// properties
	public CIImage BackgroundImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

New Type: CoreImage.CIPersonSegmentation

public class CIPersonSegmentation : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIPersonSegmentation ();
	public CIPersonSegmentation (Foundation.NSCoder coder);
	protected CIPersonSegmentation (Foundation.NSObjectFlag t);
	public CIPersonSegmentation (IntPtr handle);
	// properties
	public virtual CIImage OutputImage { get; }
	public int QualityLevel { get; set; }
}

New Type: CoreImage.CIVividLightBlendMode

public class CIVividLightBlendMode : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIVividLightBlendMode ();
	public CIVividLightBlendMode (Foundation.NSCoder coder);
	protected CIVividLightBlendMode (Foundation.NSObjectFlag t);
	public CIVividLightBlendMode (IntPtr handle);
	// properties
	public CIImage BackgroundImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

Namespace CoreLocation

Type Changed: CoreLocation.CLLocationManager

Added methods:

public virtual void StartMonitoringLocationPushes (System.Action<Foundation.NSData,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<Foundation.NSData> StartMonitoringLocationPushesAsync ();
public virtual void StopMonitoringLocationPushes ();

New Type: CoreLocation.CLLocationPushServiceError

[Serializable]
public enum CLLocationPushServiceError {
	MissingEntitlement = 3,
	MissingPushExtension = 1,
	MissingPushServerEnvironment = 2,
	Unknown = 0,
}

New Type: CoreLocation.CLLocationPushServiceErrorExtensions

public static class CLLocationPushServiceErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this CLLocationPushServiceError self);
}

New Type: CoreLocation.CLLocationPushServiceExtension_Extensions

public static class CLLocationPushServiceExtension_Extensions {
	// methods
	public static void ServiceExtensionWillTerminate (this ICLLocationPushServiceExtension This);
}

New Type: CoreLocation.ICLLocationPushServiceExtension

public interface ICLLocationPushServiceExtension : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidReceiveLocationPushPayload (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> payload, System.Action completion);
}

Namespace CoreMidi

Type Changed: CoreMidi.MidiCISession

Obsoleted constructors:

 [Obsolete ("Always throws 'NotSupportedException' (not a public API).")]
 public MidiCISession (uint entity, System.Action handler);

Type Changed: CoreMidi.MidiNetworkConnection

Obsoleted constructors:

 [Obsolete ("Use static factory method to create an instance.")]
 public MidiNetworkConnection ();

Type Changed: CoreMidi.MidiNetworkHost

Obsoleted constructors:

 [Obsolete ("Use static factory method to create an instance.")]
 public MidiNetworkHost ();

Namespace CoreMotion

Type Changed: CoreMotion.CMAltimeter

Added properties:

public virtual double AbsoluteAltitudeUpdateInterval { get; set; }
public static bool IsAbsoluteAltitudeAvailable { get; }

Added methods:

public virtual void StartAbsoluteAltitudeUpdates (Foundation.NSOperationQueue queue, System.Action<CMAbsoluteAltitudeData,Foundation.NSError> handler);
public virtual void StopAbsoluteAltitudeUpdates ();

New Type: CoreMotion.CMAbsoluteAltitudeData

public class CMAbsoluteAltitudeData : CoreMotion.CMLogItem, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CMAbsoluteAltitudeData (Foundation.NSCoder coder);
	protected CMAbsoluteAltitudeData (Foundation.NSObjectFlag t);
	protected CMAbsoluteAltitudeData (IntPtr handle);
	// properties
	public virtual double Accuracy { get; }
	public virtual double Altitude { get; }
	public override IntPtr ClassHandle { get; }
	public virtual double Precision { get; }
}

Namespace CoreText

Type Changed: CoreText.CTRunDelegate

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
protected override void ~CTRunDelegate ();

Type Changed: CoreText.CTRunDelegateOperations

Added property:

public IntPtr Handle { get; }

Namespace CoreVideo

New Type: CoreVideo.CVImageBufferAlphaChannelModeExtensions

public static class CVImageBufferAlphaChannelModeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this CVImageBufferAlphaChannelMode self);
	public static CVImageBufferAlphaChannelMode GetValue (Foundation.NSString constant);
}

Namespace Foundation

Type Changed: Foundation.NSString

Obsoleted methods:

 [Obsolete ("Use of 'CFString.CreateNative' offers better performance.")]
 public static IntPtr CreateNative (string str);
 [Obsolete ("Use of 'CFString.FromHandle' offers better performance.")]
 public static string FromHandle (IntPtr usrhandle);
 [Obsolete ("Use of 'CFString.FromHandle' offers better performance.")]
 public static string FromHandle (IntPtr handle, bool owns);

Namespace LinkPresentation

Type Changed: LinkPresentation.LPMetadataProvider

Added methods:

public virtual void StartFetchingMetadata (Foundation.NSUrlRequest request, System.Action<LPLinkMetadata,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<LPLinkMetadata> StartFetchingMetadataAsync (Foundation.NSUrlRequest request);

Namespace MapKit

Type Changed: MapKit.MKMapItem

Modified methods:

 public bool OpenMaps (MKMapItem[] mapItems--- = NULL---, MKLaunchOptions launchOptions = NULL)

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "14.5";
+public const string SdkVersion = "15.0";
-public const string Version = "14.16.0";
+public const string Version = "14.99.0";

Added field:

public static const string CoreLocationUILibrary = "/System/Library/Frameworks/CoreLocationUI.framework/CoreLocationUI";

Type Changed: ObjCRuntime.PlatformName

Obsoleted fields:

 [Obsolete ("Use 'MacCatalyst' instead.")]
 UIKitForMac = 5,

Type Changed: ObjCRuntime.Runtime

Added method:

public static void ThrowException (IntPtr gchandle);

Namespace PdfKit

Type Changed: PdfKit.PdfBorder

Added property:

public nfloat[] DashPattern { get; set; }

Type Changed: PdfKit.PdfDocument

Added properties:

public virtual PdfAccessPermissions AccessPermissions { get; }
public static Foundation.NSString FoundSelectionKey { get; }
public static Foundation.NSString PageIndexKey { get; }

Type Changed: PdfKit.PdfDocumentWriteOptions

Added property:

public string AccessPermissions { get; set; }

New Type: PdfKit.PdfAccessPermissions

[Serializable]
public enum PdfAccessPermissions {
	Commenting = 64,
	ContentAccessibility = 32,
	ContentCopying = 16,
	DocumentAssembly = 8,
	DocumentChanges = 4,
	FormFieldEntry = 128,
	HighQualityPrinting = 2,
	LowQualityPrinting = 1,
}

Namespace PhotosUI

Type Changed: PhotosUI.PHLivePhotoViewDelegate

Added method:

public virtual bool CanBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);

Type Changed: PhotosUI.PHLivePhotoViewDelegate_Extensions

Added method:

public static bool CanBeginPlayback (this IPHLivePhotoViewDelegate This, PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);

Type Changed: PhotosUI.PHPhotoLibrary_PhotosUISupport

Added methods:

public static void PresentLimitedLibraryPicker (this Photos.PHPhotoLibrary This, UIKit.UIViewController controller, System.Action<System.String[]> completionHandler);
public static System.Threading.Tasks.Task<System.String[]> PresentLimitedLibraryPickerAsync (this Photos.PHPhotoLibrary This, UIKit.UIViewController controller);

Type Changed: PhotosUI.PHPickerConfiguration

Added properties:

public virtual string[] PreselectedAssetIdentifiers { get; set; }
public virtual PHPickerConfigurationSelection Selection { get; set; }

New Type: PhotosUI.PHPickerConfigurationSelection

[Serializable]
public enum PHPickerConfigurationSelection {
	Default = 0,
	Ordered = 1,
}

Namespace UIKit

Type Changed: UIKit.UIApplication

Obsoleted methods:

 [Obsolete ("Use the overload with 'Type' instead of 'String' parameters for type safety.")]
 public static void Main (string[] args, string principalClassName, string delegateClassName);

Type Changed: UIKit.UIMarkupTextPrintFormatter

Obsoleted constructors:

 [Obsolete ("Use '.ctor(string)' instead.")]
 public UIMarkupTextPrintFormatter ();

Namespace VideoToolbox

New Type: VideoToolbox.HdrMetadataInsertionModeExtensions

public static class HdrMetadataInsertionModeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HdrMetadataInsertionMode self);
	public static HdrMetadataInsertionMode GetValue (Foundation.NSString constant);
}

Namespace WebKit

Type Changed: WebKit.WKWebView

Removed methods:

public virtual void CloseAllMediaPresentations ();
public virtual void PauseAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task PauseAllMediaPlaybackAsync ();
public virtual void RequestMediaPlaybackState (System.Action<WKMediaPlaybackState> completionHandler);
public virtual System.Threading.Tasks.Task<WKMediaPlaybackState> RequestMediaPlaybackStateAsync ();
public virtual void ResumeAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task ResumeAllMediaPlaybackAsync ();
public virtual void SuspendAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task SuspendAllMediaPlaybackAsync ();

New Namespace CoreLocationUI

New Type: CoreLocationUI.CLLocationButton

public class CLLocationButton : UIKit.UIControl, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContextMenuInteractionDelegate, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public CLLocationButton ();
	public CLLocationButton (CoreGraphics.CGRect frame);
	public CLLocationButton (Foundation.NSCoder coder);
	protected CLLocationButton (Foundation.NSObjectFlag t);
	protected CLLocationButton (IntPtr handle);
	// properties
	public static CLLocationButton.CLLocationButtonAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nfloat CornerRadius { get; set; }
	public virtual nfloat FontSize { get; set; }
	public virtual CLLocationButtonIcon Icon { get; set; }
	public virtual CLLocationButtonLabel Label { get; set; }
	// methods
	public static CLLocationButton.CLLocationButtonAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance<T> ();
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class CLLocationButtonAppearance : UIKit.UIControl+UIControlAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected CLLocationButton.CLLocationButtonAppearance (IntPtr handle);
	}
}

New Type: CoreLocationUI.CLLocationButtonIcon

[Serializable]
public enum CLLocationButtonIcon {
	ArrowFilled = 1,
	ArrowOutline = 2,
	None = 0,
}

New Type: CoreLocationUI.CLLocationButtonLabel

[Serializable]
public enum CLLocationButtonLabel {
	CurrentLocation = 1,
	None = 0,
	SendCurrentLocation = 2,
	SendMyCurrentLocation = 3,
	ShareCurrentLocation = 4,
	ShareMyCurrentLocation = 5,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment