Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created May 16, 2024 16:14
Show Gist options
  • Save vs-mobiletools-engineering-service2/33ff07936bd74e158eb26924577b33e9 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/33ff07936bd74e158eb26924577b33e9 to your computer and use it in GitHub Desktop.
stable-api-comparison/diff/dotnet/Microsoft.iOS.Ref/ref/net8.0/Microsoft.iOS.md

API diff: Microsoft.iOS.dll

Microsoft.iOS.dll

Assembly Version Changed: 17.0.0.0 -> 17.2.0.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioSession

Added properties:

public static Foundation.NSString RenderingCapabilitiesChangeNotification { get; }
public virtual AVAudioSessionRenderingMode RenderingMode { get; }
public static Foundation.NSString RenderingModeChangeNotification { get; }
public virtual AVAudioChannelLayout[] SupportedOutputChannelLayouts { get; }

Type Changed: AVFoundation.AVAudioSession.Notifications

Added methods:

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

New Type: AVFoundation.AVAudioSessionRenderingMode

[Serializable]
public enum AVAudioSessionRenderingMode {
	DolbyAtmos = 5,
	DolbyAudio = 4,
	MonoStereo = 1,
	NotApplicable = 0,
	SpatialAudio = 3,
	Surround = 2,
}

New Type: AVFoundation.RenderingModeChangeNotificationEventArgs

public class RenderingModeChangeNotificationEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public RenderingModeChangeNotificationEventArgs (Foundation.NSNotification notification);
	// properties
	public AVAudioSessionRenderingMode NewRenderingMode { get; }
}

Namespace CloudKit

Type Changed: CloudKit.CKSyncEngineDidFetchChangesEvent

Added property:

public virtual CKSyncEngineFetchChangesContext Context { get; }

Type Changed: CloudKit.CKSyncEngineFetchChangesScope

Added method:

public virtual bool Contains (CKRecordZoneID zoneId);

Type Changed: CloudKit.CKSyncEngineWillFetchChangesEvent

Added property:

public virtual CKSyncEngineFetchChangesContext Context { get; }

Namespace CoreLocation

Type Changed: CoreLocation.CLMonitoringState

Added value:

Unmonitored = 3,

Namespace CoreVideo

Type Changed: CoreVideo.CVImageBuffer

Added properties:

public static Foundation.NSString LogTransferFunctionAppleLogKey { get; }
public static Foundation.NSString LogTransferFunctionKey { get; }

Namespace GameKit

Type Changed: GameKit.GKError

Added values:

ICloudUnavailable = 35,
LockdownMode = 36,

Type Changed: GameKit.GKMatch

Added properties:

public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> PlayerProperties { get; }
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; }

Type Changed: GameKit.GKMatchRequest

Added properties:

public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; set; }
public virtual string QueueName { get; set; }
public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> RecipientProperties { get; set; }

Type Changed: GameKit.GKMatchmaker

Added methods:

public virtual void FindMatchedPlayers (GKMatchRequest request, System.Action<GKMatchedPlayers,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<GKMatchedPlayers> FindMatchedPlayersAsync (GKMatchRequest request);
public virtual void QueryQueueActivity (string queueName, System.Action<System.IntPtr,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<IntPtr> QueryQueueActivityAsync (string queueName);

Type Changed: GameKit.GKMatchmakerViewControllerDelegate

Added method:

public virtual void GetMatchProperties (GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler);

Type Changed: GameKit.GKMatchmakerViewControllerDelegate_Extensions

Added method:

public static void GetMatchProperties (this IGKMatchmakerViewControllerDelegate This, GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler);

New Type: GameKit.GKMatchedPlayers

public class GKMatchedPlayers : Foundation.NSObject {
	// constructors
	public GKMatchedPlayers ();
	protected GKMatchedPlayers (Foundation.NSObjectFlag t);
	protected GKMatchedPlayers (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> PlayerProperties { get; }
	public virtual GKPlayer[] Players { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; }
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "17.0";
+public const string SdkVersion = "17.2";
-public const string Version = "17.0.0";
+public const string Version = "17.2.0";

Namespace PassKit

Type Changed: PassKit.PKIdentityElement

Added properties:

public static PKIdentityElement DocumentDhsComplianceStatusElement { get; }
public static PKIdentityElement SexElement { get; }

Namespace PushToTalk

Type Changed: PushToTalk.PTChannelManagerDelegate

Added method:

public virtual void IncomingServiceUpdatePush (PTChannelManager channelManager, Foundation.NSUuid channelUuid, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> pushPayload, bool isHighPriority, IntPtr remainingHighPriorityBudget, System.Action completion);

Type Changed: PushToTalk.PTChannelManagerDelegate_Extensions

Added method:

public static void IncomingServiceUpdatePush (this IPTChannelManagerDelegate This, PTChannelManager channelManager, Foundation.NSUuid channelUuid, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> pushPayload, bool isHighPriority, IntPtr remainingHighPriorityBudget, System.Action completion);

Namespace Speech

Type Changed: Speech.SFAnalysisContextTag

Obsoleted properties:

 [Obsolete ("This API has been removed from the framework.")]
 public static Foundation.NSString LeftContext { get; }
 [Obsolete ("This API has been removed from the framework.")]
 public static Foundation.NSString RightContext { get; }
 [Obsolete ("This API has been removed from the framework.")]
 public static Foundation.NSString SelectedText { get; }

Namespace UIKit

Type Changed: UIKit.IUITraitChangeObservable

Obsoleted methods:

 [Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
 public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);
 [Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
 public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
 [Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
 public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

Modified methods:

-public abstract IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action)
+public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action)
-public abstract IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action%LESSERTHANREPLACEMENT%IUITraitEnvironment,UIKit.UITraitCollection%GREATERTHANREPLACEMENT% handler)
+public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action%LESSERTHANREPLACEMENT%IUITraitEnvironment,UIKit.UITraitCollection%GREATERTHANREPLACEMENT% handler)
-public abstract IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action)
+public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action)

Added methods:

public static ObjCRuntime.NativeHandle NativeHandle_objc_msgSend_NativeHandle_BlockLiteral (IntPtr receiver, IntPtr selector, ObjCRuntime.NativeHandle arg1, ObjCRuntime.BlockLiteral* arg2);
public static ObjCRuntime.NativeHandle NativeHandle_objc_msgSend_NativeHandle_NativeHandle (IntPtr receiver, IntPtr selector, ObjCRuntime.NativeHandle arg1, ObjCRuntime.NativeHandle arg2);
public static ObjCRuntime.NativeHandle NativeHandle_objc_msgSend_NativeHandle_NativeHandle_NativeHandle (IntPtr receiver, IntPtr selector, ObjCRuntime.NativeHandle arg1, ObjCRuntime.NativeHandle arg2, ObjCRuntime.NativeHandle arg3);
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 (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, 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 (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public static ObjCRuntime.Class[] ToClasses (System.Type[] traits);
public static ObjCRuntime.Class[] ToClasses (IUITraitDefinition[] traits);

Type Changed: UIKit.IUITraitOverrides

Obsoleted methods:

 [Obsolete ("Use 'ContainsTrait<T> ()', 'ContainsTrait (Type)' or 'ContainsTrait (Class)' instead.")]
 public abstract bool ContainsTrait (IUITraitDefinition trait);
 [Obsolete ("Use 'RemoveTrait<T> ()', 'RemoveTrait (Type)' or 'RemoveTrait (Class)' instead.")]
 public abstract void RemoveTrait (IUITraitDefinition trait);

Added methods:

public bool ContainsTrait<T> ();
public bool ContainsTrait (ObjCRuntime.Class trait);
public bool ContainsTrait (System.Type trait);
public void RemoveTrait<T> ();
public void RemoveTrait (ObjCRuntime.Class trait);
public void RemoveTrait (System.Type trait);

Type Changed: UIKit.UIPresentationController

Added interface:

IUITraitChangeObservable

Added methods:

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration);

Type Changed: UIKit.UITraitCollection

Obsoleted properties:

 [Obsolete ("Use 'SystemTraitsAffectingColorAppearance2' instead.")]
 public static IUITraitDefinition[] SystemTraitsAffectingColorAppearance { get; }
 [Obsolete ("Use 'SystemTraitsAffectingImageLookup2' instead.")]
 public static IUITraitDefinition[] SystemTraitsAffectingImageLookup { get; }

Added properties:

public ObjCRuntime.Class[] SystemTraitsAffectingColorAppearance2 { get; }
public ObjCRuntime.Class[] SystemTraitsAffectingImageLookup2 { get; }

Obsoleted methods:

 [Obsolete ("Use 'GetChangedTraits2' instead.")]
 public virtual Foundation.NSSet<IUITraitDefinition> GetChangedTraits (UITraitCollection traitCollection);

Added method:

public Foundation.NSSet<ObjCRuntime.Class> GetChangedTraits2 (UITraitCollection traitCollection);

Type Changed: UIKit.UIView

Added interface:

IUITraitChangeObservable

Added methods:

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration);

Type Changed: UIKit.UIViewController

Added interface:

IUITraitChangeObservable

Added methods:

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration);

Type Changed: UIKit.UIWindowScene

Added interfaces:

ObjCRuntime.INativeObject
System.IDisposable
IUITraitChangeObservable

Added methods:

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration);

New Type: UIKit.UITraitChangeObservable_Extensions

public static class UITraitChangeObservable_Extensions {
	// methods

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, IUITraitDefinition[] traits, ObjCRuntime.Selector action);

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment