# API diff: Microsoft.iOS.dll ## Microsoft.iOS.dll <h4>Assembly Version Changed: 18.0.0.0 -> 18.2.0.0</h4> ### Namespace AVFoundation #### Type Changed: AVFoundation.AVAudioSession Added properties: ```csharp 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: ```csharp 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: ```csharp 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 ```csharp 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 ```csharp [Serializable] public enum AVAudioApplicationMicrophoneInjectionPermission { Denied = 1684369017, Granted = 1735552628, ServiceDisabled = 1936876659, Undetermined = 1970168948, } ``` #### New Type: AVFoundation.AVAudioApplicationRecordPermission ```csharp [Serializable] public enum AVAudioApplicationRecordPermission { Denied = 1684369017, Granted = 1735552628, Undetermined = 1970168948, } ``` #### New Type: AVFoundation.AVAudioSessionMicrophoneInjectionMode ```csharp [Serializable] public enum AVAudioSessionMicrophoneInjectionMode { None = 0, SpokenAudio = 1, } ``` #### New Type: AVFoundation.AVCaptureReactionType ```csharp [Serializable] public enum AVCaptureReactionType { Balloons = 2, Confetti = 6, Fireworks = 4, Heart = 3, Lasers = 7, Rain = 5, ThumbsDown = 1, ThumbsUp = 0, } ``` #### New Type: AVFoundation.AVCaptureReactionTypeExtensions ```csharp public static class AVCaptureReactionTypeExtensions { // methods public static Foundation.NSString GetConstant (this AVCaptureReactionType self); public static AVCaptureReactionType GetValue (Foundation.NSString constant); } ``` #### New Type: AVFoundation.MicrophoneInjectionCapabilitiesChangeEventArgs ```csharp public class MicrophoneInjectionCapabilitiesChangeEventArgs : Foundation.NSNotificationEventArgs { // constructors public MicrophoneInjectionCapabilitiesChangeEventArgs (Foundation.NSNotification notification); // properties public bool IsAvailable { get; } } ``` ### Namespace AccessorySetupKit #### Type Changed: AccessorySetupKit.ASDiscoveryDescriptor Added property: ```csharp public virtual Foundation.NSStringCompareOptions BluetoothNameSubstringCompareOptions { get; set; } ``` ### Namespace AudioUnit #### Type Changed: AudioUnit.AudioComponentStatus Added value: ```csharp InstanceTimedOut = -66754, ``` #### Type Changed: AudioUnit.AudioUnitStatus Added values: ```csharp ComponentManagerNotSupported = -66740, InvalidFilePath = -66742, MissingKey = -66741, MultipleVoiceProcessors = -66635, RenderTimeout = -66745, ``` ### Namespace CoreImage #### New Type: CoreImage.CIDistanceGradientFromRedMask ```csharp 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: ```diff [Obsolete ("Use 'AccuracyBestForNavigation' instead.")] public static double AccurracyBestForNavigation { get; } ``` Added property: ```csharp public static double AccuracyBestForNavigation { get; } ``` ### Namespace HealthKit #### Type Changed: HealthKit.HKAudiogramSample Added method: ```csharp 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: ```csharp public virtual HKAudiogramSensitivityTest[] Tests { get; } ``` Added method: ```csharp public static HKAudiogramSensitivityPoint GetSensitivityPoint (HKQuantity frequency, HKAudiogramSensitivityTest[] tests, out Foundation.NSError error); ``` #### Type Changed: HealthKit.HKMetadata Added property: ```csharp public string AppleFitnessPlusCatalogIdentifier { get; set; } ``` #### Type Changed: HealthKit.HKMetadataKey Added property: ```csharp public static Foundation.NSString AppleFitnessPlusCatalogIdentifier { get; } ``` #### New Type: HealthKit.HKAudiogramConductionType ```csharp [Serializable] public enum HKAudiogramConductionType { Air = 0, } ``` #### New Type: HealthKit.HKAudiogramSensitivityPointClampingRange ```csharp 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 ```csharp 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 ```csharp [Serializable] public enum HKAudiogramSensitivityTestSide { Left = 0, Right = 1, } ``` ### Namespace NetworkExtension #### Type Changed: NetworkExtension.NEProviderStopReason Added value: ```csharp InternalError = 17, ``` ### Namespace ObjCRuntime #### Type Changed: ObjCRuntime.Constants Modified fields: ```diff -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.9028"; ``` ### Namespace PassKit #### Type Changed: PassKit.PKPayLaterView Added methods: ```csharp 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 ```csharp 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: ```csharp public virtual void DidRefineStrokes (PKCanvasView canvasView, PKStroke[] strokes, PKStroke[] newStrokes); ``` #### Type Changed: PencilKit.PKCanvasViewDelegate Added method: ```csharp public virtual void DidRefineStrokes (PKCanvasView canvasView, PKStroke[] strokes, PKStroke[] newStrokes); ``` #### Type Changed: PencilKit.PKCanvasViewDelegate_Extensions Added method: ```csharp public static void DidRefineStrokes (this IPKCanvasViewDelegate This, PKCanvasView canvasView, PKStroke[] strokes, PKStroke[] newStrokes); ``` ### Namespace StoreKit #### New Type: StoreKit.AppStore ```csharp public static class AppStore { // methods public static void RequestReview (UIKit.UIWindowScene in); } ``` ### Namespace UIKit #### Type Changed: UIKit.UIMenuIdentifier Added value: ```csharp Open = 48, ``` #### Type Changed: UIKit.UIPressType Added values: ```csharp TVRemoteFourColors = 33, TVRemoteOneTwoThree = 32, ``` #### Type Changed: UIKit.UITraitCollection Obsoleted methods: ```diff [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: ```csharp public virtual UITraitCollection GetTraitCollectionByModifyingTraits (UITraitMutations mutations); public static UITraitCollection GetTraitCollectionWithTraits (UITraitMutations mutations); ``` #### New Type: UIKit.NSObject_UIAccessibilityTextOperations ```csharp 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 ```csharp 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 ```csharp 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: ```csharp public VNCircle (VNPoint center, double radiusOrDiameter, VNCircleInitializationOption option); ``` #### Type Changed: Vision.VNUtils Added property: ```csharp public static double VisionVersionNumber { get; } ``` #### Type Changed: Vision.VNVector Added constructor: ```csharp public VNVector (System.ValueTuple<System.Double,System.Double> polarCoordinates); ``` #### New Type: Vision.VNCircleInitializationOption ```csharp [Serializable] public enum VNCircleInitializationOption { Diameter = 1, Radius = 0, } ``` ### New Namespace ObjCBindings #### New Type: ObjCBindings.BindingTypeAttribute ```csharp public class BindingTypeAttribute : System.Attribute { // constructors public BindingTypeAttribute (); // properties public string Name { get; set; } } ``` #### New Type: ObjCBindings.EnumValue ```csharp [Serializable] [Flags] public enum EnumValue { None = 0, } ``` #### New Type: ObjCBindings.Field ```csharp [Serializable] [Flags] public enum Field { None = 0, } ``` #### New Type: ObjCBindings.FieldAttribute`1 ```csharp 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; } } ```