Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created December 6, 2021 08:35
Show Gist options
  • Save vs-mobiletools-engineering-service2/cf180c8faa526697d268943977d6179a to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/cf180c8faa526697d268943977d6179a 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: 15.2.0 vs 15.3.1
List of API changes between Xamarin.iOS versions 15.2.0 and 15.3.1.
spouliot
sepoulio
12/5/2021
article
2725ea09-2dcc-9341-ece4-bcb39c4844b7
xamarin

Xamarin.iOS SDK API diff: 15.2.0 vs 15.3.1

Namespace MonoTouch.NUnit.UI

Type Changed: MonoTouch.NUnit.UI.BaseTouchRunner

Added method:

protected virtual void TerminateWithExitCode (int exitCode);

Namespace AVFoundation

Type Changed: AVFoundation.AVOutputSettingsPreset

Added value:

PresetHevc7680x4320 = 15,

Type Changed: AVFoundation.AVPlayerItem

Type Changed: AVFoundation.AVPlayerItem.Notifications

Removed methods:

public static Foundation.NSObject ObserveTimeJumped (System.EventHandler<AVPlayerItemTimeJumpedEventArgs> handler);
public static Foundation.NSObject ObserveTimeJumped (Foundation.NSObject objectToObserve, System.EventHandler<AVPlayerItemTimeJumpedEventArgs> handler);

Added methods:

public static Foundation.NSObject ObserveTimeJumped (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveTimeJumped (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);

Removed Type AVFoundation.AVPlayerItemTimeJumpedEventArgs

Namespace Accessibility

New Type: Accessibility.AXBrailleMap

public class AXBrailleMap : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AXBrailleMap (Foundation.NSCoder coder);
	protected AXBrailleMap (Foundation.NSObjectFlag t);
	protected AXBrailleMap (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGSize Dimensions { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual float GetHeight (CoreGraphics.CGPoint point);
	public virtual void Present (CoreGraphics.CGImage image);
	public virtual void SetHeight (float status, CoreGraphics.CGPoint point);
}

New Type: Accessibility.IAXBrailleMapRenderer

public interface IAXBrailleMapRenderer : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CoreGraphics.CGRect AccessibilityBrailleMapRenderRegion { get; set; }
	public virtual System.Action<AXBrailleMap> AccessibilityBrailleMapRenderer { get; set; }
}

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioConverter

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~AudioConverter ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Type Changed: AudioToolbox.AudioFile

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~AudioFile ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Type Changed: AudioToolbox.MusicPlayer

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~MusicPlayer ();

Type Changed: AudioToolbox.MusicSequence

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~MusicSequence ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Type Changed: AudioToolbox.MusicTrack

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~MusicTrack ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Namespace AudioUnit

Type Changed: AudioUnit.AUGraph

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~AUGraph ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Type Changed: AudioUnit.AudioComponent

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Added interface:

System.IDisposable

Removed property:

public virtual IntPtr Handle { get; }

Type Changed: AudioUnit.AudioUnit

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Removed property:

public virtual IntPtr Handle { get; }

Removed method:

public virtual void Dispose ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Namespace ClassKit

Type Changed: ClassKit.CLSErrorCode

Added value:

InvalidAccountCredentials = 10,

Namespace CoreAnimation

Type Changed: CoreAnimation.CAAnimation

Added property:

public virtual CAFrameRateRange PreferredFrameRateRange { get; set; }

Type Changed: CoreAnimation.CADisplayLink

Added property:

public virtual CAFrameRateRange PreferredFrameRateRange { get; set; }

New Type: CoreAnimation.CAFrameRateRange

public struct CAFrameRateRange {
	// fields
	public float Maximum;
	public float Minimum;
	public float Preferred;
	// properties
	public static CAFrameRateRange Default { get; }
	// methods
	public static CAFrameRateRange Create (float minimum, float maximum, float preferred);
	public bool IsEqualTo (CAFrameRateRange other);
}

Namespace CoreFoundation

Type Changed: CoreFoundation.CFRunLoop

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 ~CFRunLoop ();

Type Changed: CoreFoundation.CFRunLoopSource

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Modified constructors:

-public CFRunLoopSource (IntPtr handle, bool ownsHandle)
+public CFRunLoopSource (IntPtr handle, bool owns)

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

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

Type Changed: CoreFoundation.CFSocket

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~CFSocket ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Type Changed: CoreFoundation.CFStream

Removed constructor:

protected CFStream (IntPtr handle);

Added constructor:

protected CFStream (IntPtr handle, bool owns);

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~CFStream ();

Obsoleted methods:

 [Obsolete ("Call 'GetCheckedHandle ()' instead.")]
 protected void CheckHandle ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Type Changed: CoreFoundation.CFUrl

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 ~CFUrl ();

Type Changed: CoreFoundation.NativeObject

Modified base type:

-System.Object
+ObjCRuntime.DisposableObject

Added constructor:

protected NativeObject (IntPtr handle, bool owns, bool verify);

Removed property:

protected override IntPtr Handle { get; set; }

Removed methods:

public virtual void Dispose ();
public IntPtr GetCheckedHandle ();
protected virtual void InitializeHandle (IntPtr handle);
protected override void ~NativeObject ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColorConversionInfo

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 ~CGColorConversionInfo ();

Type Changed: CoreGraphics.CGColorSpace

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 ~CGColorSpace ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGColorSpaceNames

Added properties:

public static Foundation.NSString ItuR_2020_sRgbGamma { get; }
public static Foundation.NSString ItuR_709_PQ { get; }

Type Changed: CoreGraphics.CGContext

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 ~CGContext ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGDataConsumer

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 ~CGDataConsumer ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGFont

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 ~CGFont ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGGradient

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 ~CGGradient ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGImage

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 ~CGImage ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGLayer

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 ~CGLayer ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGPDFArray

Modified base type:

-System.Object
+CoreGraphics.CGPDFObject

Removed property:

public virtual IntPtr Handle { get; }

Type Changed: CoreGraphics.CGPDFContentStream

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 ~CGPDFContentStream ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGPDFDictionary

Modified base type:

-System.Object
+CoreGraphics.CGPDFObject

Removed property:

public virtual IntPtr Handle { get; }

Type Changed: CoreGraphics.CGPDFDocument

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 ~CGPDFDocument ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGPDFOperatorTable

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 ~CGPDFOperatorTable ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGPDFPage

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 ~CGPDFPage ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGPDFScanner

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~CGPDFScanner ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGPDFStream

Modified base type:

-System.Object
+CoreGraphics.CGPDFObject

Removed property:

public virtual IntPtr Handle { get; }

Type Changed: CoreGraphics.CGPath

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 ~CGPath ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreGraphics.CGShading

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 ~CGShading ();

Added methods:

protected override void Release ();
protected override void Retain ();

Namespace CoreMedia

Type Changed: CoreMedia.CMClockOrTimebase

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 ~CMClockOrTimebase ();

Type Changed: CoreMedia.CMMemoryPool

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 ~CMMemoryPool ();

Type Changed: CoreMedia.CMSampleBuffer

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~CMSampleBuffer ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Namespace CoreServices

Type Changed: CoreServices.CFHTTPAuthentication

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

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

Type Changed: CoreServices.CFHTTPMessage

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

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

Namespace CoreText

Type Changed: CoreText.CTFont

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 ~CTFont ();

Type Changed: CoreText.CTFontCollection

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 ~CTFontCollection ();

Type Changed: CoreText.CTFontDescriptor

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 ~CTFontDescriptor ();

Type Changed: CoreText.CTFrame

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 ~CTFrame ();

Type Changed: CoreText.CTFramesetter

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 ~CTFramesetter ();

Type Changed: CoreText.CTGlyphInfo

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 ~CTGlyphInfo ();

Type Changed: CoreText.CTLine

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 ~CTLine ();

Type Changed: CoreText.CTParagraphStyle

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 ~CTParagraphStyle ();

Type Changed: CoreText.CTRun

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 ~CTRun ();

Type Changed: CoreText.CTTextTab

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 ~CTTextTab ();

Type Changed: CoreText.CTTypesetter

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 ~CTTypesetter ();

Namespace CoreVideo

Type Changed: CoreVideo.CVBuffer

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 ~CVBuffer ();

Added methods:

protected override void Release ();
protected override void Retain ();

Type Changed: CoreVideo.CVMetalTexture

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 ~CVMetalTexture ();

Type Changed: CoreVideo.CVMetalTextureCache

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 ~CVMetalTextureCache ();

Type Changed: CoreVideo.CVPixelBufferPool

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 ~CVPixelBufferPool ();

Added methods:

protected override void Release ();
protected override void Retain ();

Namespace Foundation

Type Changed: Foundation.DictionaryContainer

Added method:

protected string[] GetStringArrayValue (NSString key);

Type Changed: Foundation.NSArray

Added method:

public static T[] ArrayFromHandle<T> (IntPtr handle, System.Converter<System.IntPtr,T> creator, bool releaseHandle);

Namespace HomeKit

Type Changed: HomeKit.HMAccessorySetupManager

Added methods:

public virtual void AddAndSetUpAccessories (HMMatterTopology topology, System.Action<Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task AddAndSetUpAccessoriesAsync (HMMatterTopology topology);

Type Changed: HomeKit.HMChipServiceHome

Removed constructor:

protected HMChipServiceHome (IntPtr handle);

Type Changed: HomeKit.HMChipServiceRequestHandler

Removed constructor:

protected HMChipServiceRequestHandler (IntPtr handle);

Type Changed: HomeKit.HMChipServiceRoom

Removed constructor:

protected HMChipServiceRoom (IntPtr handle);

Type Changed: HomeKit.HMChipServiceTopology

Removed constructor:

protected HMChipServiceTopology (IntPtr handle);

New Type: HomeKit.HMFetchRoomHandler

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

New Type: HomeKit.HMMatterHome

public class HMMatterHome : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMMatterHome (Foundation.NSCoder coder);
	protected HMMatterHome (Foundation.NSObjectFlag t);
	protected HMMatterHome (IntPtr handle);
	public HMMatterHome (Foundation.NSUuid uuid, string name);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Name { 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: HomeKit.HMMatterRequestHandler

public class HMMatterRequestHandler : Foundation.NSObject, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMMatterRequestHandler ();
	protected HMMatterRequestHandler (Foundation.NSObjectFlag t);
	protected HMMatterRequestHandler (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void BeginRequestWithExtensionContext (Foundation.NSExtensionContext context);
	public virtual void ConfigureAccessory (string accessoryName, HMMatterRoom accessoryRoom, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task ConfigureAccessoryAsync (string accessoryName, HMMatterRoom accessoryRoom);
	public virtual void FetchRooms (HMMatterHome home, HMFetchRoomHandler completion);
	public virtual System.Threading.Tasks.Task<HMMatterRoom[]> FetchRoomsAsync (HMMatterHome home);
	public virtual void PairAccessory (HMMatterHome home, string onboardingPayload, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task PairAccessoryAsync (HMMatterHome home, string onboardingPayload);
}

New Type: HomeKit.HMMatterRoom

public class HMMatterRoom : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMMatterRoom (Foundation.NSCoder coder);
	protected HMMatterRoom (Foundation.NSObjectFlag t);
	protected HMMatterRoom (IntPtr handle);
	public HMMatterRoom (Foundation.NSUuid uuid, string name);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Name { 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: HomeKit.HMMatterTopology

public class HMMatterTopology : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMMatterTopology (Foundation.NSCoder coder);
	protected HMMatterTopology (Foundation.NSObjectFlag t);
	public HMMatterTopology (HMMatterHome[] homes);
	protected HMMatterTopology (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HMMatterHome[] Homes { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

Namespace ImageIO

Type Changed: ImageIO.CGImageDestination

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 ~CGImageDestination ();

Type Changed: ImageIO.CGImageMetadata

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 ~CGImageMetadata ();

Type Changed: ImageIO.CGImageMetadataTag

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 ~CGImageMetadataTag ();

Type Changed: ImageIO.CGImageSource

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 ~CGImageSource ();

Namespace Intents

Type Changed: Intents.INFile

Added property:

public virtual bool RemovedOnCompletion { get; set; }

Type Changed: Intents.INMediaUserContextSubscriptionStatus

Added value:

Voice = 3,

Namespace MediaToolbox

Type Changed: MediaToolbox.MTAudioProcessingTap

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected override void ~MTAudioProcessingTap ();

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Namespace MetricKit

Type Changed: MetricKit.MXAppLaunchMetric

Added property:

public virtual MetricKit.MXHistogram<Foundation.NSUnitDuration> HistogrammedOptimizedTimeToFirstDraw { get; }

Namespace Network

Type Changed: Network.NWConnectionGroup

Modified constructors:

-protected NWConnectionGroup (IntPtr handle, bool owns)
+protected NWConnectionGroup (IntPtr handle, bool owns)

Added methods:

public NWConnection ExtractConnection (NWEndpoint endpoint, NWProtocolOptions protocolOptions);
public NWProtocolMetadata GetProtocolMetadata (NWContentContext context);
public NWProtocolMetadata GetProtocolMetadata (NWContentContext context, NWProtocolDefinition definition);
public void SetNewConnectionHandler (System.Action<NWConnection> handler);
public bool TryReinsertExtractedConnection (NWConnection connection);

Type Changed: Network.NWDataTransferReport

Added method:

public NWInterfaceRadioType get_path_radio_type (uint pathIndex);

Type Changed: Network.NWEstablishmentReport

Added method:

public void EnumerateResolutionReports (System.Action<NWResolutionReport> handler);

Type Changed: Network.NWListener

Added method:

public void SetNewConnectionGroupHandler (System.Action<NWConnectionGroup> handler);

Type Changed: Network.NWParameters

Added property:

public NWParametersAttribution Attribution { get; set; }

Added methods:

public static NWParameters CreateQuic (System.Action<NWProtocolOptions> configureQuic);
public void SetPrivacyContext (NWPrivacyContext privacyContext);

Type Changed: Network.NWPathMonitor

Added method:

public void ProhibitInterfaceType (NWInterfaceType interfaceType);

Type Changed: Network.NWProtocolDefinition

Added method:

public static NWProtocolDefinition CreateQuicDefinition ();

Type Changed: Network.NWProtocolIPOptions

Added method:

public void DisableMulticastLoopback (bool disable);

Type Changed: Network.NWProtocolMetadata

Added property:

public bool IsQuic { get; }

Type Changed: Network.NWProtocolOptions

Added property:

public bool IsQuic { get; }

Added method:

public static NWProtocolOptions CreateQuic ();

Type Changed: Network.NWProtocolTcpOptions

Added method:

public void ForceMultipathVersion (NWMultipathVersion version);

New Type: Network.NWInterfaceRadioType

[Serializable]
public enum NWInterfaceRadioType {
	CellCdma = 135,
	CellEndcMmw = 130,
	CellEndcSub6 = 129,
	CellEvdo = 136,
	CellGsm = 134,
	CellLte = 128,
	CellNrSaMmw = 132,
	CellNrSaSub6 = 131,
	CellWcdma = 133,
	Unknown = 0,
	WifiA = 2,
	WifiAC = 5,
	WifiAX = 6,
	WifiB = 1,
	WifiG = 3,
	WifiN = 4,
}

New Type: Network.NWMultipathVersion

[Serializable]
public enum NWMultipathVersion {
	Unspecified = -1,
	Version0 = 0,
	Version1 = 1,
}

New Type: Network.NWMultiplexGroup

public class NWMultiplexGroup : Network.NWMulticastGroup, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NWMultiplexGroup (NWEndpoint endpoint);
}

New Type: Network.NWParametersAttribution

[Serializable]
public enum NWParametersAttribution {
	Developer = 1,
	User = 2,
}

New Type: Network.NWPrivacyContext

public class NWPrivacyContext : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NWPrivacyContext (string description);
	public NWPrivacyContext (IntPtr handle, bool owns);
	// properties
	public static NWPrivacyContext Default { get; }
	// methods
	public void DisableLogging ();
	public void FlushCache ();
	public void RequireEncryptedNameResolution (bool requireEncryptedNameResolution, NWResolverConfig fallbackResolverConfig);
}

New Type: Network.NWProtocolQuicOptions

public class NWProtocolQuicOptions : Network.NWProtocolOptions, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NWProtocolQuicOptions ();
	// properties
	public uint IdleTimeout { get; set; }
	public ulong InitialMaxData { get; set; }
	public ulong InitialMaxStreamDataBidirectionalLocal { get; set; }
	public ulong InitialMaxStreamDataBidirectionalRemote { get; set; }
	public ulong InitialMaxStreamDataUnidirectional { get; set; }
	public ulong InitialMaxStreamsBidirectional { get; set; }
	public ulong InitialMaxStreamsUnidirectional { get; set; }
	public ushort MaxUdpPayloadSize { get; set; }
	public Security.SecProtocolOptions SecProtocolOptions { get; }
	public bool StreamIsUnidirectional { get; set; }
	// methods
	public void AddTlsApplicationProtocol (string applicationProtocol);
}

New Type: Network.NWQuicMetadata

public class NWQuicMetadata : Network.NWProtocolMetadata, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NWQuicMetadata (IntPtr handle, bool owns);
	// properties
	public System.ValueTuple<System.UInt64,System.String> ApplicationError { get; set; }
	public ulong ApplicationErrorCode { get; }
	public string ApplicationErrorReason { get; }
	public ushort KeepaliveInterval { get; set; }
	public ulong LocalMaxStreamsUnidirectional { get; set; }
	public ulong MaxStreamsBidirectional { get; set; }
	public ulong RemoteIdleTimeout { get; }
	public ulong RemoteMaxStreamsBidirectional { get; }
	public ulong RemoteMaxStreamsUnidirectional { get; }
	public Security.SecProtocolMetadata SecProtocolMetadata { get; }
	public ulong StreamApplicationError { get; set; }
	public ulong StreamId { get; }
}

New Type: Network.NWReportResolutionProtocol

[Serializable]
public enum NWReportResolutionProtocol {
	Https = 4,
	Tcp = 2,
	Tls = 3,
	Udp = 1,
	Unknown = 0,
}

New Type: Network.NWResolutionReport

public class NWResolutionReport : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public uint EndpointCount { get; }
	public ulong Milliseconds { get; }
	public NWEndpoint PreferredEndpoint { get; }
	public NWReportResolutionProtocol Protocol { get; }
	public NWReportResolutionSource Source { get; }
	public NWEndpoint SuccessfulEndpoint { get; }
}

New Type: Network.NWResolverConfig

public class NWResolverConfig : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NWResolverConfig (NWEndpoint urlEndpoint, NWResolverConfigEndpointType endpointType);
	public NWResolverConfig (IntPtr handle, bool owns);
	// methods
	public void AddServerAddress (NWEndpoint serverAddress);
}

New Type: Network.NWResolverConfigEndpointType

[Serializable]
public enum NWResolverConfigEndpointType {
	Https = 0,
	Tls = 1,
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "15.0";
+public const string SdkVersion = "15.2";
-public const string Version = "15.2.0";
+public const string Version = "15.3.1";

Type Changed: ObjCRuntime.NativeObjectExtensions

Added method:

public static IntPtr GetCheckedHandle (this INativeObject self);

Type Changed: ObjCRuntime.Runtime

Added property:

public static string OriginalWorkingDirectory { get; }

New Type: ObjCRuntime.DisposableObject

public abstract class DisposableObject : INativeObject, System.IDisposable {
	// constructors
	protected DisposableObject ();
	protected DisposableObject (IntPtr handle, bool owns);
	protected DisposableObject (IntPtr handle, bool owns, bool verify);
	// properties
	protected override IntPtr Handle { get; set; }
	protected bool Owns { get; }
	// methods
	protected void ClearHandle ();
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public IntPtr GetCheckedHandle ();
	protected virtual void InitializeHandle (IntPtr handle);
	protected override void ~DisposableObject ();
}

Namespace PassKit

Type Changed: PassKit.PKPassLibraryUserInfoKey

Added property:

public static Foundation.NSString RecoveredPasses { get; }

Namespace PdfKit

Type Changed: PdfKit.PdfAreaOfInterest

Added value:

AnyArea = 9223372036854775807,

Namespace QuickLook

New Type: QuickLook.QLPreviewSceneActivationConfiguration

public class QLPreviewSceneActivationConfiguration : UIKit.UIWindowSceneActivationConfiguration, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public QLPreviewSceneActivationConfiguration ();
	protected QLPreviewSceneActivationConfiguration (Foundation.NSObjectFlag t);
	public QLPreviewSceneActivationConfiguration (Foundation.NSUserActivity userActivity);
	protected QLPreviewSceneActivationConfiguration (IntPtr handle);
	public QLPreviewSceneActivationConfiguration (Foundation.NSUrl[] urls, QLPreviewSceneOptions options);
	// properties
	public override IntPtr ClassHandle { get; }
}

Namespace SafariServices

Type Changed: SafariServices.SFSafariViewControllerConfiguration

Added property:

public virtual UIKit.UIEventAttribution EventAttribution { get; set; }

Namespace Security

Type Changed: Security.SecAccessControl

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 ~SecAccessControl ();

Type Changed: Security.SecCertificate

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 ~SecCertificate ();

Type Changed: Security.SecIdentity

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 ~SecIdentity ();

Type Changed: Security.SecKey

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 ~SecKey ();

Type Changed: Security.SecPolicy

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 ~SecPolicy ();

Type Changed: Security.SecTrust

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 ~SecTrust ();

Namespace UserNotifications

Type Changed: UserNotifications.UNNotificationSound

Added property:

public static UNNotificationSound DefaultRingtoneSound { get; }

Added method:

public static UNNotificationSound GetRingtoneSoundNamed (string name);

Namespace WebKit

Type Changed: WebKit.WKWebView

Added methods:

[Obsolete ("Use 'CloseAllMediaPresentations (Action completionHandler)' instead.")]
public virtual void CloseAllMediaPresentations ();

[Obsolete ("Use 'SetAllMediaPlaybackSuspended' instead.")]
public virtual void ResumeAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task ResumeAllMediaPlaybackAsync ();

[Obsolete ("Use 'SetAllMediaPlaybackSuspended' instead.")]
public virtual void SuspendAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task SuspendAllMediaPlaybackAsync ();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment