Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created November 29, 2024 22:42
Show Gist options
  • Save vs-mobiletools-engineering-service2/4758baeaab3f00cb338f47f64e9ff947 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/4758baeaab3f00cb338f47f64e9ff947 to your computer and use it in GitHub Desktop.
stable-api-comparison/diff/Microsoft.iOS.md

API diff: Microsoft.iOS.dll

Microsoft.iOS.dll

Assembly Version Changed: 18.0.0.0 -> 18.2.0.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioSession

Added properties:

public virtual bool IsEchoCancelledInputAvailable { get; }
public virtual bool IsEchoCancelledInputEnabled { get; }
public virtual bool IsMicrophoneInjectionAvailable { get; }
public static Foundation.NSString MicrophoneInjectionCapabilitiesChangeNotification { get; }
public virtual AVAudioSessionMicrophoneInjectionMode PreferredMicrophoneInjectionMode { get; }
public virtual bool PrefersEchoCancelledInput { get; }

Added methods:

public virtual bool SetPreferredMicrophoneInjectionMode (AVAudioSessionMicrophoneInjectionMode inValue, out Foundation.NSError outError);
public virtual bool SetPrefersEchoCancelledInput (bool value, out Foundation.NSError error);

Type Changed: AVFoundation.AVAudioSession.Notifications

Added methods:

public static Foundation.NSObject ObserveMicrophoneInjectionCapabilitiesChange (System.EventHandler<MicrophoneInjectionCapabilitiesChangeEventArgs> handler);
public static Foundation.NSObject ObserveMicrophoneInjectionCapabilitiesChange (Foundation.NSObject objectToObserve, System.EventHandler<MicrophoneInjectionCapabilitiesChangeEventArgs> handler);

New Type: AVFoundation.AVAudioApplication

public class AVAudioApplication : Foundation.NSObject {
	// constructors
	protected AVAudioApplication (Foundation.NSObjectFlag t);
	protected AVAudioApplication (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool InputMuted { get; }
	public virtual AVAudioApplicationMicrophoneInjectionPermission MicrophoneInjectionPermission { get; }
	public virtual AVAudioApplicationRecordPermission RecordPermission { get; }
	public static AVAudioApplication SharedInstance { get; }
	// methods
	public static void RequestMicrophoneInjectionPermission (System.Action<AVAudioApplicationMicrophoneInjectionPermission> response);
	public static System.Threading.Tasks.Task<AVAudioApplicationMicrophoneInjectionPermission> RequestMicrophoneInjectionPermissionAsync ();
	public static void RequestRecordPermission (System.Action<bool> response);
	public static System.Threading.Tasks.Task<bool> RequestRecordPermissionAsync ();
	public virtual bool SetInputMuted (bool muted, out Foundation.NSError outError);
}

New Type: AVFoundation.AVAudioApplicationMicrophoneInjectionPermission

[Serializable]
public enum AVAudioApplicationMicrophoneInjectionPermission {
	Denied = 1684369017,
	Granted = 1735552628,
	ServiceDisabled = 1936876659,
	Undetermined = 1970168948,
}

New Type: AVFoundation.AVAudioApplicationRecordPermission

[Serializable]
public enum AVAudioApplicationRecordPermission {
	Denied = 1684369017,
	Granted = 1735552628,
	Undetermined = 1970168948,
}

New Type: AVFoundation.AVAudioSessionMicrophoneInjectionMode

[Serializable]
public enum AVAudioSessionMicrophoneInjectionMode {
	None = 0,
	SpokenAudio = 1,
}

New Type: AVFoundation.AVCaptureReactionType

[Serializable]
public enum AVCaptureReactionType {
	Balloons = 2,
	Confetti = 6,
	Fireworks = 4,
	Heart = 3,
	Lasers = 7,
	Rain = 5,
	ThumbsDown = 1,
	ThumbsUp = 0,
}

New Type: AVFoundation.AVCaptureReactionTypeExtensions

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

New Type: AVFoundation.MicrophoneInjectionCapabilitiesChangeEventArgs

public class MicrophoneInjectionCapabilitiesChangeEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public MicrophoneInjectionCapabilitiesChangeEventArgs (Foundation.NSNotification notification);
	// properties
	public bool IsAvailable { get; }
}

Namespace AccessorySetupKit

Type Changed: AccessorySetupKit.ASDiscoveryDescriptor

Added property:

public virtual Foundation.NSStringCompareOptions BluetoothNameSubstringCompareOptions { get; set; }

Namespace AudioUnit

Type Changed: AudioUnit.AudioComponentStatus

Added value:

InstanceTimedOut = -66754,

Type Changed: AudioUnit.AudioUnitStatus

Added values:

ComponentManagerNotSupported = -66740,
InvalidFilePath = -66742,
MissingKey = -66741,
MultipleVoiceProcessors = -66635,
RenderTimeout = -66745,

Namespace CoreImage

New Type: CoreImage.CIDistanceGradientFromRedMask

public class CIDistanceGradientFromRedMask : CoreImage.CIFilter, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CIDistanceGradientFromRedMask ();
	public CIDistanceGradientFromRedMask (Foundation.NSCoder coder);
	protected CIDistanceGradientFromRedMask (Foundation.NSObjectFlag t);
	protected CIDistanceGradientFromRedMask (ObjCRuntime.NativeHandle handle);
	// properties
	public CIImage InputImage { get; set; }
	public int MaximumDistance { get; set; }
	public virtual CIImage OutputImage { get; }
}

Namespace CoreLocation

Type Changed: CoreLocation.CLLocation

Obsoleted properties:

 [Obsolete ("Use 'AccuracyBestForNavigation' instead.")]
 public static double AccurracyBestForNavigation { get; }

Added property:

public static double AccuracyBestForNavigation { get; }

Namespace HealthKit

Type Changed: HealthKit.HKAudiogramSample

Added method:

public static HKAudiogramSample GetAudiogramSample (HKAudiogramSensitivityPoint[] sensitivityPoints, Foundation.NSDate startDate, Foundation.NSDate endDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);

Type Changed: HealthKit.HKAudiogramSensitivityPoint

Added property:

public virtual HKAudiogramSensitivityTest[] Tests { get; }

Added method:

public static HKAudiogramSensitivityPoint GetSensitivityPoint (HKQuantity frequency, HKAudiogramSensitivityTest[] tests, out Foundation.NSError error);

New Type: HealthKit.HKAudiogramConductionType

[Serializable]
public enum HKAudiogramConductionType {
	Air = 0,
}

New Type: HealthKit.HKAudiogramSensitivityPointClampingRange

public class HKAudiogramSensitivityPointClampingRange : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public HKAudiogramSensitivityPointClampingRange (Foundation.NSCoder coder);
	protected HKAudiogramSensitivityPointClampingRange (Foundation.NSObjectFlag t);
	protected HKAudiogramSensitivityPointClampingRange (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual HKQuantity LowerBound { get; }
	public virtual HKQuantity UpperBound { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static HKAudiogramSensitivityPointClampingRange Create (double? lowerBound, double? upperBound, out Foundation.NSError error);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKAudiogramSensitivityTest

public class HKAudiogramSensitivityTest : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public HKAudiogramSensitivityTest (Foundation.NSCoder coder);
	protected HKAudiogramSensitivityTest (Foundation.NSObjectFlag t);
	protected HKAudiogramSensitivityTest (ObjCRuntime.NativeHandle handle);
	public HKAudiogramSensitivityTest (HKQuantity sensitivity, HKAudiogramConductionType type, bool masked, HKAudiogramSensitivityTestSide side, HKAudiogramSensitivityPointClampingRange clampingRange, out Foundation.NSError error);
	// properties
	public virtual HKAudiogramSensitivityPointClampingRange ClampingRange { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool Masked { get; }
	public virtual HKQuantity Sensitivity { get; }
	public virtual HKAudiogramSensitivityTestSide Side { get; }
	public virtual HKAudiogramConductionType Type { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKAudiogramSensitivityTestSide

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

Namespace MetalPerformanceShadersGraph

Type Changed: MetalPerformanceShadersGraph.MPSGraph_MPSGraphTensorShapeOps

Added methods:

public static MPSGraphTensor Slice (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor startTensor, MPSGraphTensor sizeTensor, uint squeezeMask, string name);
public static MPSGraphTensor Slice (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor startTensor, MPSGraphTensor endTensor, MPSGraphTensor strideTensor, uint startMask, uint endMask, uint squeezeMask, string name);
public static MPSGraphTensor SliceGradient (this MPSGraph This, MPSGraphTensor inputGradientTensor, MPSGraphTensor fwdInShapeTensor, MPSGraphTensor startTensor, MPSGraphTensor sizeTensor, uint squeezeMask, string name);
public static MPSGraphTensor SliceGradient (this MPSGraph This, MPSGraphTensor inputGradientTensor, MPSGraphTensor fwdInShapeTensor, MPSGraphTensor startTensor, MPSGraphTensor endTensor, MPSGraphTensor strideTensor, uint startMask, uint endMask, uint squeezeMask, string name);

Namespace NetworkExtension

Type Changed: NetworkExtension.NEProviderStopReason

Added value:

InternalError = 17,

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "18.0";
+public const string SdkVersion = "18.2";
-public const string Version = "17.99.0";
+public const string Version = "18.2.9052";

Namespace PassKit

Type Changed: PassKit.PKPayLaterView

Added methods:

public static void ValidateAmount (Foundation.NSDecimalNumber amount, string currencyCode, PKPayLaterViewValidateAmountCallback callback);
public static void ValidateAmount (System.Decimal amount, string currencyCode, PKPayLaterViewValidateAmountCallback callback);

New Type: PassKit.PKPayLaterViewValidateAmountCallback

public sealed delegate PKPayLaterViewValidateAmountCallback : System.MulticastDelegate {
	// constructors
	public PKPayLaterViewValidateAmountCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool eligible, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (bool eligible);
}

Namespace PencilKit

Type Changed: PencilKit.IPKCanvasViewDelegate

Added method:

public virtual void DidRefineStrokes (PKCanvasView canvasView, PKStroke[] strokes, PKStroke[] newStrokes);

Type Changed: PencilKit.PKCanvasViewDelegate

Added method:

public virtual void DidRefineStrokes (PKCanvasView canvasView, PKStroke[] strokes, PKStroke[] newStrokes);

Type Changed: PencilKit.PKCanvasViewDelegate_Extensions

Added method:

public static void DidRefineStrokes (this IPKCanvasViewDelegate This, PKCanvasView canvasView, PKStroke[] strokes, PKStroke[] newStrokes);

Namespace StoreKit

New Type: StoreKit.AppStore

public static class AppStore {
	// methods
	public static void RequestReview (UIKit.UIWindowScene in);
}

Namespace UIKit

Type Changed: UIKit.UIMenuIdentifier

Added value:

Open = 48,

Type Changed: UIKit.UIPresentationController

Added methods:

public virtual IUITraitChangeRegistration RegisterForTraitChanges<T> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3, T4> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler, System.Type[] traits);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

Type Changed: UIKit.UIPressType

Added values:

TVRemoteFourColors = 33,
TVRemoteOneTwoThree = 32,

Type Changed: UIKit.UITraitCollection

Obsoleted methods:

 [Obsolete ("Use the overload that takes a 'UITraitMutations' parameter instead.")]
 public virtual UITraitCollection GetTraitCollectionByModifyingTraits (System.Func<IUIMutableTraits> mutations);
 [Obsolete ("Use the overload that takes a 'UITraitMutations' parameter instead.")]
 public static UITraitCollection GetTraitCollectionWithTraits (System.Func<IUIMutableTraits> mutations);

Added methods:

public virtual UITraitCollection GetTraitCollectionByModifyingTraits (UITraitMutations mutations);
public static UITraitCollection GetTraitCollectionWithTraits (UITraitMutations mutations);

Type Changed: UIKit.UIView

Added methods:

public virtual IUITraitChangeRegistration RegisterForTraitChanges<T> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3, T4> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler, System.Type[] traits);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

Type Changed: UIKit.UIViewController

Added methods:

public virtual IUITraitChangeRegistration RegisterForTraitChanges<T> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3, T4> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler, System.Type[] traits);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

Type Changed: UIKit.UIWindowScene

Added methods:

public virtual IUITraitChangeRegistration RegisterForTraitChanges<T> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3, T4> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler, System.Type[] traits);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

New Type: UIKit.NSObject_UIAccessibilityTextOperations

public static class NSObject_UIAccessibilityTextOperations {
	// methods
	public static IUITextInput GetAccessibilityTextInputResponder (this Foundation.NSObject This);
	public static UITextInputReturnHandler GetAccessibilityTextInputResponderHandler (this Foundation.NSObject This);
	public static void SetAccessibilityTextInputResponder (this Foundation.NSObject This, IUITextInput textInput);
	public static void SetAccessibilityTextInputResponderHandler (this Foundation.NSObject This, UITextInputReturnHandler handler);
}

New Type: UIKit.UITextInputReturnHandler

public sealed delegate UITextInputReturnHandler : System.MulticastDelegate {
	// constructors
	public UITextInputReturnHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (System.AsyncCallback callback, object object);
	public virtual IUITextInput EndInvoke (System.IAsyncResult result);
	public virtual IUITextInput Invoke ();
}

New Type: UIKit.UITraitMutations

public sealed delegate UITraitMutations : System.MulticastDelegate {
	// constructors
	public UITraitMutations (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (IUIMutableTraits mutableTraits, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (IUIMutableTraits mutableTraits);
}

Namespace Vision

Type Changed: Vision.VNCircle

Added constructor:

public VNCircle (VNPoint center, double radiusOrDiameter, VNCircleInitializationOption option);

Type Changed: Vision.VNUtils

Added property:

public static double VisionVersionNumber { get; }

Type Changed: Vision.VNVector

Added constructor:

public VNVector (System.ValueTuple<System.Double,System.Double> polarCoordinates);

New Type: Vision.VNCircleInitializationOption

[Serializable]
public enum VNCircleInitializationOption {
	Diameter = 1,
	Radius = 0,
}

New Namespace ObjCBindings

New Type: ObjCBindings.BindingTypeAttribute

public class BindingTypeAttribute : System.Attribute {
	// constructors
	public BindingTypeAttribute ();
	// properties
	public string Name { get; set; }
}

New Type: ObjCBindings.Constructor

[Serializable]
[Flags]
public enum Constructor {
	Default = 0,
	DesignatedInitializer = 4,
}

New Type: ObjCBindings.EnumValue

[Serializable]
[Flags]
public enum EnumValue {
	None = 0,
}

New Type: ObjCBindings.ExportAttribute`1

public class ExportAttribute`1 : System.Attribute {
	// constructors
	protected ExportAttribute`1 ();
	public ExportAttribute`1 (string selector);
	public ExportAttribute`1 (string selector, ObjCRuntime.ArgumentSemantic semantic);
	public ExportAttribute`1 (string selector, T flags);
	public ExportAttribute`1 (string selector, ObjCRuntime.ArgumentSemantic semantic, T flags);
	// properties
	public ObjCRuntime.ArgumentSemantic ArgumentSemantic { get; set; }
	public T Flags { get; set; }
	public string Selector { get; set; }
}

New Type: ObjCBindings.Field

[Serializable]
[Flags]
public enum Field {
	None = 0,
}

New Type: ObjCBindings.FieldAttribute`1

public class FieldAttribute`1 : System.Attribute {
	// constructors
	public FieldAttribute`1 (string symbolName);
	public FieldAttribute`1 (string symbolName, string libraryName);
	public FieldAttribute`1 (string symbolName, T flags);
	public FieldAttribute`1 (string symbolName, string libraryName, T flags);
	// properties
	public T Flags { get; set; }
	public string LibraryName { get; set; }
	public string SymbolName { get; set; }
}

New Type: ObjCBindings.Method

[Serializable]
[Flags]
public enum Method {
	Default = 0,
	IgnoredInDelegate = 8,
	IsVariadic = 4,
	MarshalNativeExceptions = 16,
}

New Type: ObjCBindings.Property

[Serializable]
[Flags]
public enum Property {
	Default = 0,
	IsThreadStaticAttribute = 4,
	Notification = 8,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment