Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vs-mobiletools-engineering-service2/182dfcc76ee9d307967d207bfb063973 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/182dfcc76ee9d307967d207bfb063973 to your computer and use it in GitHub Desktop.
macOS API diff from stable
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.Mac SDK API diff: 7.8.2 vs 7.15.0
List of API changes between Xamarin.Mac versions 7.8.2 and 7.15.0.
spouliot
sepoulio
5/6/2021
article
9148fccd-d728-689d-d6db-835899dec24c
xamarin

Xamarin.Mac SDK API diff: 7.8.2 vs 7.15.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioSessionCategoryOptions

Added value:

OverrideMutedMicrophoneInterruption = 128,

Type Changed: AVFoundation.AVContentKeyRequest

Added properties:

public virtual AVContentKey ContentKey { get; }
public virtual AVContentKeySpecifier ContentKeySpecifier { get; }

Type Changed: AVFoundation.AVPlayer

Added property:

public static Foundation.NSString WaitingDuringInterstitialEventReason { get; }

Type Changed: AVFoundation.AVPlayerItem

Added property:

public virtual AVVariantPreferences VariantPreferences { get; set; }

Type Changed: AVFoundation.AVSampleBufferAudioRenderer

Added property:

public virtual bool HasSufficientMediaDataForReliablePlaybackStart { get; }

Type Changed: AVFoundation.AVSampleBufferDisplayLayer

Added property:

public static Foundation.NSString OutputObscuredDueToInsufficientExternalProtectionDidChangeNotification { get; }

Type Changed: AVFoundation.AVSampleBufferDisplayLayer.Notifications

Added methods:

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

Type Changed: AVFoundation.AVSampleBufferRenderSynchronizer

Added property:

public virtual bool DelaysRateChangeUntilHasSufficientMediaData { get; set; }

Added method:

public virtual void SetRate (float rate, CoreMedia.CMTime time, CoreMedia.CMTime hostTime);

Type Changed: AVFoundation.AVUrlAsset

Added method:

public virtual void DidProvideContentKey (AVContentKeySession contentKeySession, AVContentKey contentKey);

New Type: AVFoundation.AVContentKey

public class AVContentKey : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVContentKey ();
	protected AVContentKey (Foundation.NSObjectFlag t);
	protected AVContentKey (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVContentKeySpecifier ContentKeySpecifier { get; }
}

New Type: AVFoundation.AVContentKeyRecipient_Extensions

public static class AVContentKeyRecipient_Extensions {
	// methods
	public static void DidProvideContentKey (this IAVContentKeyRecipient This, AVContentKeySession contentKeySession, AVContentKey contentKey);
}

New Type: AVFoundation.AVContentKeySpecifier

public class AVContentKeySpecifier : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVContentKeySpecifier ();
	protected AVContentKeySpecifier (Foundation.NSObjectFlag t);
	protected AVContentKeySpecifier (IntPtr handle);
	public AVContentKeySpecifier (AVContentKeySystem keySystem, Foundation.NSObject contentKeyIdentifier, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSObject Identifier { get; }
	public virtual AVContentKeySystem KeySystem { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Options { get; }
	// methods
	public static AVContentKeySpecifier GetContentKeySpecifier (AVContentKeySystem keySystem, Foundation.NSObject contentKeyIdentifier, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
}

New Type: AVFoundation.AVPlayerInterstitialEvent

public class AVPlayerInterstitialEvent : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlayerInterstitialEvent (Foundation.NSObjectFlag t);
	protected AVPlayerInterstitialEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual AVPlayerItem[] InterstitialTemplateItems { get; }
	public virtual AVPlayerItem PrimaryItem { get; }
	public virtual AVPlayerInterstitialEventRestrictions Restrictions { get; }
	public virtual CoreMedia.CMTime ResumptionOffset { get; }
	public virtual AVPlayerItem[] TemplateItems { get; }
	public virtual CoreMedia.CMTime Time { get; }
	// methods
	protected override void Dispose (bool disposing);
	public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
	public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
	public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
	public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
}

New Type: AVFoundation.AVPlayerInterstitialEventController

public class AVPlayerInterstitialEventController : AVFoundation.AVPlayerInterstitialEventObserver, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerInterstitialEventController (AVPlayer primaryPlayer);
	protected AVPlayerInterstitialEventController (Foundation.NSObjectFlag t);
	protected AVPlayerInterstitialEventController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVPlayerInterstitialEvent[] Events { get; set; }
	public virtual AVPlayerInterstitialEvent[] InterstitialEvents { get; set; }
	// methods
	public virtual void CancelCurrentEvent (CoreMedia.CMTime resumptionOffset);
	public static AVPlayerInterstitialEventController GetInterstitialEventController (AVPlayer primaryPlayer);
	public static AVPlayerInterstitialEventController GetPlayerInterstitialEventController (AVPlayer primaryPlayer);
}

New Type: AVFoundation.AVPlayerInterstitialEventObserver

public class AVPlayerInterstitialEventObserver : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerInterstitialEventObserver (AVPlayer primaryPlayer);
	protected AVPlayerInterstitialEventObserver (Foundation.NSObjectFlag t);
	protected AVPlayerInterstitialEventObserver (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVPlayerInterstitialEvent CurrentEvent { get; }
	public static Foundation.NSString CurrentEventDidChangeNotification { get; }
	public virtual AVPlayerInterstitialEvent[] Events { get; }
	public static Foundation.NSString EventsDidChangeNotification { get; }
	public virtual AVPlayerInterstitialEvent[] InterstitialEvents { get; }
	public virtual AVQueuePlayer InterstitialPlayer { get; }
	public virtual AVPlayer PrimaryPlayer { get; }
	// methods
	protected override void Dispose (bool disposing);
	public static AVPlayerInterstitialEventObserver GetInterstitialEventObserver (AVPlayer primaryPlayer);
	public static AVPlayerInterstitialEventObserver GetPlayerInterstitialEventObserver (AVPlayer primaryPlayer);

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

New Type: AVFoundation.AVPlayerInterstitialEventRestrictions

[Serializable]
[Flags]
public enum AVPlayerInterstitialEventRestrictions {
	ConstrainsSeekingForwardInPrimaryContent = 1,
	DefaultPolicy = 0,
	None = 0,
	RequiresPlaybackAtPreferredRateForAdvancement = 4,
}

New Type: AVFoundation.AVPlayerItem_AVPlayerInterstitialSupport

public static class AVPlayerItem_AVPlayerInterstitialSupport {
	// methods
	public static bool GetAutomaticallyHandlesInterstitialEvents (this AVPlayerItem This);
	public static AVPlayerItem GetTemplatePlayerItem (this AVPlayerItem This);
	public static void SetAutomaticallyHandlesInterstitialEvents (this AVPlayerItem This, bool value);
}

New Type: AVFoundation.AVQueuedSampleBufferRendering_Extensions

public static class AVQueuedSampleBufferRendering_Extensions {
	// methods
	public static bool GetHasSufficientMediaDataForReliablePlaybackStart (this IAVQueuedSampleBufferRendering This);
}

New Type: AVFoundation.AVSampleBufferDisplayLayer_ProtectedContent

public static class AVSampleBufferDisplayLayer_ProtectedContent {
	// methods
	public static bool GetOutputObscuredDueToInsufficientExternalProtection (this AVSampleBufferDisplayLayer This);
}

New Type: AVFoundation.AVVariantPreferences

[Serializable]
[Flags]
public enum AVVariantPreferences {
	None = 0,
	ScalabilityToLosslessAudio = 1,
}

Namespace AudioUnit

Type Changed: AudioUnit.AudioComponentInstantiationOptions

Added value:

LoadedRemotely = 2147483648,

Type Changed: AudioUnit.AudioComponentValidationParameter

Added field:

public static Foundation.NSString LoadOutOfProcess;

Namespace CallKit

Type Changed: CallKit.CXErrorCode

Added value:

MissingVoIPBackgroundMode = 3,

Namespace ClassKit

Type Changed: ClassKit.CLSActivity

Added method:

public virtual void RemoveAllActivityItems ();

Type Changed: ClassKit.CLSContext

Added property:

public virtual CLSContext[] NavigationChildContexts { get; }

Added methods:

public virtual void AddNavigationChild (CLSContext childContext);
public virtual void RemoveNavigationChild (CLSContext childContext);

Type Changed: ClassKit.CLSDataStore

Added methods:

public virtual void FetchActivity (Foundation.NSUrl url, System.Action<CLSActivity,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<CLSActivity> FetchActivityAsync (Foundation.NSUrl url);

Namespace CoreMedia

Type Changed: CoreMedia.CMVideoCodecType

Added value:

DolbyVisionHevc = 1685481521,

Namespace CoreMidi

Type Changed: CoreMidi.Midi

Added properties:

public static Foundation.NSString NetworkBonjourServiceType { get; }
public static Foundation.NSString NetworkNotificationContactsDidChange { get; }
public static Foundation.NSString NetworkNotificationSessionDidChange { get; }

New Type: CoreMidi.MidiNetworkConnection

public class MidiNetworkConnection : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MidiNetworkConnection (Foundation.NSObjectFlag t);
	protected MidiNetworkConnection (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MidiNetworkHost Host { get; }
	// methods
	public static MidiNetworkConnection FromHost (MidiNetworkHost host);
}

New Type: CoreMidi.MidiNetworkHost

public class MidiNetworkHost : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MidiNetworkHost (Foundation.NSObjectFlag t);
	protected MidiNetworkHost (IntPtr handle);
	// properties
	public virtual string Address { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; }
	public virtual string NetServiceDomain { get; }
	public virtual string NetServiceName { get; }
	public virtual nint Port { get; }
	// methods
	public static MidiNetworkHost Create (string hostName, Foundation.NSNetService netService);
	public static MidiNetworkHost Create (string hostName, string netServiceName, string netServiceDomain);
	public static MidiNetworkHost Create (string hostName, string address, nint port);
	public virtual bool HasSameAddressAs (MidiNetworkHost other);
}

New Type: CoreMidi.MidiNetworkSession

public class MidiNetworkSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MidiNetworkSession (Foundation.NSObjectFlag t);
	protected MidiNetworkSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MidiNetworkConnectionPolicy ConnectionPolicy { get; set; }
	public virtual Foundation.NSSet Connections { get; }
	public virtual Foundation.NSSet Contacts { get; }
	public static MidiNetworkSession DefaultSession { get; }
	public MidiEndpoint DestinationEndPoint { get; }
	public virtual bool Enabled { get; set; }
	public virtual string LocalName { get; }
	public virtual string NetworkName { get; }
	public virtual nint NetworkPort { get; }
	public MidiEndpoint SourceEndpoint { get; }
	// methods
	public virtual bool AddConnection (MidiNetworkConnection connection);
	public virtual bool AddContact (MidiNetworkHost contact);
	public virtual bool RemoveConnection (MidiNetworkConnection connection);
	public virtual bool RemoveContact (MidiNetworkHost contact);
}

Namespace CoreText

Type Changed: CoreText.CTRunDelegate

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

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

Type Changed: CoreText.CTRunDelegateOperations

Added property:

public IntPtr Handle { get; }

Namespace CoreVideo

New Type: CoreVideo.CVImageBufferAlphaChannelModeExtensions

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

Namespace DeviceCheck

New Type: DeviceCheck.DCAppAttestService

public class DCAppAttestService : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected DCAppAttestService (Foundation.NSObjectFlag t);
	protected DCAppAttestService (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static DCAppAttestService SharedService { get; }
	public virtual bool Supported { get; }
	// methods
	public virtual void AttestKey (string keyId, Foundation.NSData clientDataHash, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> AttestKeyAsync (string keyId, Foundation.NSData clientDataHash);
	public virtual void GenerateAssertion (string keyId, Foundation.NSData clientDataHash, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> GenerateAssertionAsync (string keyId, Foundation.NSData clientDataHash);
	public virtual void GenerateKey (System.Action<System.String,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<string> GenerateKeyAsync ();
}

Namespace FileProvider

Type Changed: FileProvider.NSFileProviderCreateItemOptions

Added value:

DeletionConflicted = 2,

Type Changed: FileProvider.NSFileProviderDomain

Added property:

public virtual NSFileProviderDomainTestingModes TestingModes { get; set; }

Type Changed: FileProvider.NSFileProviderError

Added values:

NonEvictable = -2008,
NonEvictableChildren = -2006,
UnsyncedEdits = -2007,

Type Changed: FileProvider.NSFileProviderItemCapabilities

Added value:

ExcludingFromSync = 128,

Type Changed: FileProvider.NSFileProviderManager

Added properties:

public static Foundation.NSString MaterializedSetDidChange { get; }
public static Foundation.NSString PendingSetDidChange { get; }

Added methods:

public virtual INSFileProviderPendingSetEnumerator GetEnumeratorForPendingItems ();
public virtual Foundation.NSProgress GetGlobalProgress (Foundation.NSString kind);
public virtual Foundation.NSDictionary<INSFileProviderTestingOperation,Foundation.NSError> GetRunTestingOperations (INSFileProviderTestingOperation[] operations, out Foundation.NSError error);
public virtual INSFileProviderTestingOperation[] ListAvailableTestingOperations (out Foundation.NSError error);

Type Changed: FileProvider.NSFileProviderReplicatedExtension_Extensions

Added method:

public static void PendingItemsDidChange (this INSFileProviderReplicatedExtension This, System.Action completionHandler);

Type Changed: FileProvider.NSFileProviderRequest

Added property:

public virtual NSFileProviderDomainVersion DomainVersion { get; }

New Type: FileProvider.INSFileProviderDomainState

public interface INSFileProviderDomainState : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSFileProviderDomainVersion DomainVersion { get; }
	public virtual Foundation.NSDictionary UserInfo { get; }
}

New Type: FileProvider.INSFileProviderPendingSetEnumerator

public interface INSFileProviderPendingSetEnumerator : INSFileProviderEnumerator, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSFileProviderDomainVersion DomainVersion { get; }
	public virtual double RefreshInterval { get; }
}

New Type: FileProvider.INSFileProviderTestingChildrenEnumeration

public interface INSFileProviderTestingChildrenEnumeration : INSFileProviderTestingOperation, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual string ItemIdentifier { get; }
	public virtual NSFileProviderTestingOperationSide Side { get; }
}

New Type: FileProvider.INSFileProviderTestingCollisionResolution

public interface INSFileProviderTestingCollisionResolution : INSFileProviderTestingOperation, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual INSFileProviderItem RenamedItem { get; }
	public virtual NSFileProviderTestingOperationSide Side { get; }
}

New Type: FileProvider.INSFileProviderTestingContentFetch

public interface INSFileProviderTestingContentFetch : INSFileProviderTestingOperation, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual string ItemIdentifier { get; }
	public virtual NSFileProviderTestingOperationSide Side { get; }
}

New Type: FileProvider.INSFileProviderTestingCreation

public interface INSFileProviderTestingCreation : INSFileProviderTestingOperation, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSFileProviderDomainVersion DomainVersion { get; }
	public virtual INSFileProviderItem SourceItem { get; }
	public virtual NSFileProviderTestingOperationSide TargetSide { get; }
}

New Type: FileProvider.INSFileProviderTestingDeletion

public interface INSFileProviderTestingDeletion : INSFileProviderTestingOperation, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSFileProviderDomainVersion DomainVersion { get; }
	public virtual string SourceItemIdentifier { get; }
	public virtual NSFileProviderItemVersion TargetItemBaseVersion { get; }
	public virtual string TargetItemIdentifier { get; }
	public virtual NSFileProviderTestingOperationSide TargetSide { get; }
}

New Type: FileProvider.INSFileProviderTestingIngestion

public interface INSFileProviderTestingIngestion : INSFileProviderTestingOperation, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual INSFileProviderItem Item { get; }
	public virtual string ItemIdentifier { get; }
	public virtual NSFileProviderTestingOperationSide Side { get; }
}

New Type: FileProvider.INSFileProviderTestingLookup

public interface INSFileProviderTestingLookup : INSFileProviderTestingOperation, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual string ItemIdentifier { get; }
	public virtual NSFileProviderTestingOperationSide Side { get; }
}

New Type: FileProvider.INSFileProviderTestingModification

public interface INSFileProviderTestingModification : INSFileProviderTestingOperation, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSFileProviderItemFields ChangedFields { get; }
	public virtual NSFileProviderDomainVersion DomainVersion { get; }
	public virtual INSFileProviderItem SourceItem { get; }
	public virtual NSFileProviderItemVersion TargetItemBaseVersion { get; }
	public virtual string TargetItemIdentifier { get; }
	public virtual NSFileProviderTestingOperationSide TargetSide { get; }
}

New Type: FileProvider.INSFileProviderTestingOperation

public interface INSFileProviderTestingOperation : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSFileProviderTestingOperationType Type { get; }
	// methods
	public virtual INSFileProviderTestingChildrenEnumeration GetAsChildrenEnumeration ();
	public virtual INSFileProviderTestingCollisionResolution GetAsCollisionResolution ();
	public virtual INSFileProviderTestingContentFetch GetAsContentFetch ();
	public virtual INSFileProviderTestingCreation GetAsCreation ();
	public virtual INSFileProviderTestingDeletion GetAsDeletion ();
	public virtual INSFileProviderTestingIngestion GetAsIngestion ();
	public virtual INSFileProviderTestingLookup GetAsLookup ();
	public virtual INSFileProviderTestingModification GetAsModification ();
}

New Type: FileProvider.NSFileProviderDomainTestingModes

[Serializable]
[Flags]
public enum NSFileProviderDomainTestingModes {
	AlwaysEnabled = 1,
	Interactive = 2,
}

New Type: FileProvider.NSFileProviderDomainVersion

public class NSFileProviderDomainVersion : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSFileProviderDomainVersion (Foundation.NSCoder coder);
	protected NSFileProviderDomainVersion (Foundation.NSObjectFlag t);
	protected NSFileProviderDomainVersion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSFileProviderDomainVersion Next { get; }
	// methods
	public virtual Foundation.NSComparisonResult Compare (NSFileProviderDomainVersion otherVersion);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: FileProvider.NSFileProviderTestingOperationSide

[Serializable]
public enum NSFileProviderTestingOperationSide {
	Disk = 0,
	FileProvider = 1,
}

New Type: FileProvider.NSFileProviderTestingOperationType

[Serializable]
public enum NSFileProviderTestingOperationType {
	ChildrenEnumeration = 6,
	CollisionResolution = 7,
	ContentFetch = 5,
	Creation = 2,
	Deletion = 4,
	Ingestion = 0,
	Lookup = 1,
	Modification = 3,
}

Namespace Foundation

Type Changed: Foundation.NSError

Added properties:

public static NSString MultipleUnderlyingErrorsKey { get; }
public virtual NSError[] UnderlyingErrors { get; }

Type Changed: Foundation.NSMutableUrlRequest

Added property:

public virtual bool AssumesHttp3Capable { get; set; }

Type Changed: Foundation.NSProgress

Added property:

public static NSString FileOperationKindUploading { get; }

Type Changed: Foundation.NSUrl

Added property:

public static NSString UbiquitousItemIsExcludedFromSyncKey { get; }

Type Changed: Foundation.NSUrlRequest

Added property:

public virtual bool AssumesHttp3Capable { get; set; }

Type Changed: Foundation.NSUrlSessionTask

Added property:

public virtual bool PrefersIncrementalDelivery { get; set; }

Namespace GameController

Type Changed: GameController.GCController

Added property:

public static bool ShouldMonitorBackgroundEvents { get; set; }

New Type: GameController.GCDualSenseAdaptiveTrigger

public class GCDualSenseAdaptiveTrigger : GameController.GCControllerButtonInput, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GCDualSenseAdaptiveTrigger (Foundation.NSObjectFlag t);
	protected GCDualSenseAdaptiveTrigger (IntPtr handle);
	// properties
	public virtual float ArmPosition { get; }
	public override IntPtr ClassHandle { get; }
	public virtual GCDualSenseAdaptiveTriggerMode Mode { get; }
	public virtual GCDualSenseAdaptiveTriggerStatus Status { get; }
	// methods
	public virtual void SetModeFeedback (float startPosition, float resistiveStrength);
	public virtual void SetModeOff ();
	public virtual void SetModeVibration (float startPosition, float amplitude, float frequency);
	public virtual void SetModeWeapon (float startPosition, float endPosition, float resistiveStrength);
}

New Type: GameController.GCDualSenseAdaptiveTriggerMode

[Serializable]
public enum GCDualSenseAdaptiveTriggerMode {
	Feedback = 1,
	Off = 0,
	Vibration = 3,
	Weapon = 2,
}

New Type: GameController.GCDualSenseAdaptiveTriggerStatus

[Serializable]
public enum GCDualSenseAdaptiveTriggerStatus {
	FeedbackLoadApplied = 1,
	FeedbackNoLoad = 0,
	Unknown = -1,
	VibrationIsVibrating = 6,
	VibrationNotVibrating = 5,
	WeaponFired = 4,
	WeaponFiring = 3,
	WeaponReady = 2,
}

New Type: GameController.GCDualSenseGamepad

public class GCDualSenseGamepad : GameController.GCExtendedGamepad, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GCDualSenseGamepad (Foundation.NSObjectFlag t);
	protected GCDualSenseGamepad (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual GCDualSenseAdaptiveTrigger LeftTrigger { get; }
	public virtual GCDualSenseAdaptiveTrigger RightTrigger { get; }
	public virtual GCControllerButtonInput TouchpadButton { get; }
	public virtual GCControllerDirectionPad TouchpadPrimary { get; }
	public virtual GCControllerDirectionPad TouchpadSecondary { get; }
}

New Type: GameController.GCInputDirectional

[Serializable]
public enum GCInputDirectional {
	CardinalDpad = 1,
	Dpad = 0,
}

New Type: GameController.GCInputDirectionalExtensions

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

Namespace GameKit

Type Changed: GameKit.GKError

Added values:

FriendListDenied = 102,
FriendListDescriptionMissing = 100,
FriendListRestricted = 101,

Type Changed: GameKit.GKLocalPlayer

Added methods:

public virtual void LoadFriendsAuthorizationStatus (System.Action<GKFriendsAuthorizationStatus,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<GKFriendsAuthorizationStatus> LoadFriendsAuthorizationStatusAsync ();
public virtual void LoadFriendsList (System.Action<GKPlayer[],Foundation.NSError> completionHandler);
public virtual void LoadFriendsList (string[] identifiers, System.Action<GKPlayer[],Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<GKPlayer[]> LoadFriendsListAsync ();
public virtual System.Threading.Tasks.Task<GKPlayer[]> LoadFriendsListAsync (string[] identifiers);

New Type: GameKit.GKFriendsAuthorizationStatus

[Serializable]
public enum GKFriendsAuthorizationStatus {
	Authorized = 3,
	Denied = 2,
	NotDetermined = 0,
	Restricted = 1,
}

Namespace ImageIO

Type Changed: ImageIO.CGImageProperties

Added property:

public static Foundation.NSString PNGTransparency { get; }

Namespace ImageKit

Type Changed: ImageKit.IKSaveOptions

Added property:

public virtual bool RememberLastSetting { get; set; }

Namespace Intents

Type Changed: Intents.INCallRecord

Added constructors:

public INCallRecord (string identifier, Foundation.NSDate dateCreated, INCallRecordType callRecordType, INCallCapability callCapability, double? callDuration, bool? unseen);
public INCallRecord (string identifier, Foundation.NSDate dateCreated, INCallRecordType callRecordType, INCallCapability callCapability, double? callDuration, bool? unseen, int? numberOfCalls);
public INCallRecord (string identifier, Foundation.NSDate dateCreated, INCallRecordType callRecordType, INCallCapability callCapability, double? callDuration, bool? unseen, INPerson[] participants, int? numberOfCalls, bool? isCallerIdBlocked);

New Type: Intents.INCallGroup

public class INCallGroup : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public INCallGroup (Foundation.NSCoder coder);
	protected INCallGroup (Foundation.NSObjectFlag t);
	protected INCallGroup (IntPtr handle);
	public INCallGroup (string groupName, string groupId);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string GroupId { get; }
	public virtual string GroupName { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

Namespace LocalAuthentication

Type Changed: LocalAuthentication.LAStatus

Added values:

BiometryDisconnected = -13,
BiometryNotPaired = -12,

Namespace MLCompute

Type Changed: MLCompute.MLCActivationLayer

Added methods:

public static MLCActivationLayer CreateClampLayer (float minValue, float maxValue);
public static MLCActivationLayer CreateHardSwishLayer ();

Type Changed: MLCompute.MLCActivationType

Added values:

Clamp = 20,
HardSwish = 19,

Type Changed: MLCompute.MLCArithmeticOperation

Added values:

DivideNoNaN = 27,
Max = 29,
Min = 28,
MultiplyNoNaN = 26,

Type Changed: MLCompute.MLCGraph

Added methods:

public virtual MLCTensor Gather (nuint dimension, MLCTensor source, MLCTensor indices);
public virtual MLCTensor Scatter (nuint dimension, MLCTensor source, MLCTensor indices, MLCTensor copyFrom, MLCReductionType reductionType);
public virtual MLCTensor Select (MLCTensor[] sources, MLCTensor condition);

Type Changed: MLCompute.MLCInferenceGraph

Added method:

public virtual bool Compile (MLCGraphCompilationOptions options, MLCDevice device, Foundation.NSDictionary<Foundation.NSString,MLCompute.MLCTensor> inputTensors, Foundation.NSDictionary<Foundation.NSString,MLCompute.MLCTensorData> inputTensorsData);

Type Changed: MLCompute.MLCInstanceNormalizationLayer

Added properties:

public virtual MLCTensor Mean { get; }
public virtual MLCTensor Variance { get; }

Added method:

public static MLCInstanceNormalizationLayer Create (nuint featureChannelCount, MLCTensor mean, MLCTensor variance, MLCTensor beta, MLCTensor gamma, float varianceEpsilon, float momentum);

Type Changed: MLCompute.MLCReductionLayer

Added property:

public virtual nuint[] Dimensions { get; }

Added method:

public static MLCReductionLayer Create (MLCReductionType reductionType, nuint[] dimensions);

Type Changed: MLCompute.MLCReductionType

Added values:

All = 9,
Any = 8,
L1Norm = 7,

Type Changed: MLCompute.MLCReshapeLayer

Added property:

public virtual nint[] Shape { get; }

Type Changed: MLCompute.MLCTensorData

Added method:

public static MLCTensorData CreateFromBytesNoCopy (IntPtr bytes, nuint length, System.Action<System.IntPtr,System.nuint> deallocator);

Type Changed: MLCompute.MLCTrainingGraph

Added method:

public virtual bool Compile (MLCGraphCompilationOptions options, MLCDevice device, Foundation.NSDictionary<Foundation.NSString,MLCompute.MLCTensor> inputTensors, Foundation.NSDictionary<Foundation.NSString,MLCompute.MLCTensorData> inputTensorsData);

New Type: MLCompute.MLCComparisonLayer

public class MLCComparisonLayer : MLCompute.MLCLayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCComparisonLayer (Foundation.NSObjectFlag t);
	protected MLCComparisonLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MLCComparisonOperation Operation { get; }
	// methods
	public static MLCComparisonLayer Create (MLCComparisonOperation operation);
}

New Type: MLCompute.MLCComparisonOperation

[Serializable]
public enum MLCComparisonOperation {
	Equal = 0,
	Greater = 3,
	GreaterOrEqual = 5,
	Less = 2,
	LessOrEqual = 4,
	LogicalAnd = 6,
	LogicalNand = 9,
	LogicalNor = 10,
	LogicalNot = 8,
	LogicalOr = 7,
	LogicalXor = 11,
	NotEqual = 1,
}

New Type: MLCompute.MLCComparisonOperationExtensions

public static class MLCComparisonOperationExtensions {
	// methods
	public static string GetDebugDescription (this MLCComparisonOperation self);
}

New Type: MLCompute.MLCGatherLayer

public class MLCGatherLayer : MLCompute.MLCLayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCGatherLayer (Foundation.NSObjectFlag t);
	protected MLCGatherLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Dimension { get; }
	// methods
	public static MLCGatherLayer Create (nuint dimension);
}

New Type: MLCompute.MLCScatterLayer

public class MLCScatterLayer : MLCompute.MLCLayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCScatterLayer (Foundation.NSObjectFlag t);
	protected MLCScatterLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Dimension { get; }
	public virtual MLCReductionType ReductionType { get; }
	// methods
	public static MLCScatterLayer Create (nuint dimension, MLCReductionType reductionType);
}

New Type: MLCompute.MLCSelectionLayer

public class MLCSelectionLayer : MLCompute.MLCLayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCSelectionLayer (Foundation.NSObjectFlag t);
	protected MLCSelectionLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static MLCSelectionLayer Create ();
}

Namespace MapKit

Type Changed: MapKit.MKMapItem

Modified methods:

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

Namespace MediaPlayer

Type Changed: MediaPlayer.MPMediaItem

Added property:

public static Foundation.NSString IsPreorderProperty { get; }

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "11.1";
+public const string SdkVersion = "11.3";
-public const string Version = "7.8.2";
+public const string Version = "7.15.0";

Type Changed: ObjCRuntime.PlatformName

Obsoleted fields:

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

Type Changed: ObjCRuntime.Runtime

Added method:

public static void ThrowException (IntPtr gchandle);

Namespace PassKit

Type Changed: PassKit.PKAddCarKeyPassConfiguration

Added property:

public virtual PKRadioTechnology SupportedRadioTechnologies { get; set; }

Type Changed: PassKit.PKPaymentNetwork

Added property:

public static Foundation.NSString Mir { get; }

Type Changed: PassKit.PKTransitPassProperties

Added property:

public virtual bool Blocked { get; }

New Type: PassKit.PKRadioTechnology

[Serializable]
[Flags]
public enum PKRadioTechnology {
	Bluetooth = 2,
	Nfc = 1,
	None = 0,
}

Namespace PdfKit

Type Changed: PdfKit.PdfAnnotationMarkup

Added property:

public CoreGraphics.CGPoint[] QuadrilateralPoints { get; set; }

Type Changed: PdfKit.PdfBorder

Added property:

public nfloat[] DashPattern { get; set; }

Namespace Speech

Type Changed: Speech.SFSpeechRecognitionResult

Added property:

public virtual SFSpeechRecognitionMetadata SpeechRecognitionMetadata { get; }

New Type: Speech.SFSpeechRecognitionMetadata

public class SFSpeechRecognitionMetadata : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SFSpeechRecognitionMetadata (Foundation.NSCoder coder);
	protected SFSpeechRecognitionMetadata (Foundation.NSObjectFlag t);
	protected SFSpeechRecognitionMetadata (IntPtr handle);
	// properties
	public virtual double AveragePauseDuration { get; }
	public override IntPtr ClassHandle { get; }
	public virtual double SpeakingRate { get; }
	public virtual double SpeechDuration { get; }
	public virtual double SpeechStartTimestamp { get; }
	public virtual SFVoiceAnalytics VoiceAnalytics { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

Namespace StoreKit

Type Changed: StoreKit.SKError

Added value:

OverlayPresentedInBackgroundScene = 20,

Namespace VideoToolbox

Type Changed: VideoToolbox.VTCompressionPropertyKey

Added properties:

public static Foundation.NSString BaseLayerFrameRateFraction { get; }
public static Foundation.NSString EnableLowLatencyRateControl { get; }

New Type: VideoToolbox.HdrMetadataInsertionModeExtensions

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

Namespace WebKit

Type Changed: WebKit.WKNavigationAction

Added property:

public virtual bool ShouldPerformDownload { get; }

Type Changed: WebKit.WKNavigationActionPolicy

Added value:

Download = 2,

Type Changed: WebKit.WKNavigationDelegate

Added methods:

public virtual void NavigationActionDidBecomeDownload (WKWebView webView, WKNavigationAction navigationAction, WKDownload download);
public virtual void NavigationResponseDidBecomeDownload (WKWebView webView, WKNavigationResponse navigationResponse, WKDownload download);

Type Changed: WebKit.WKNavigationDelegate_Extensions

Added methods:

public static void NavigationActionDidBecomeDownload (this IWKNavigationDelegate This, WKWebView webView, WKNavigationAction navigationAction, WKDownload download);
public static void NavigationResponseDidBecomeDownload (this IWKNavigationDelegate This, WKWebView webView, WKNavigationResponse navigationResponse, WKDownload download);

Type Changed: WebKit.WKNavigationResponsePolicy

Added value:

Download = 2,

Type Changed: WebKit.WKPreferences

Added property:

public virtual bool TextInteractionEnabled { get; set; }

Type Changed: WebKit.WKWebView

Added methods:

public virtual void CloseAllMediaPresentations ();
public virtual void PauseAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task PauseAllMediaPlaybackAsync ();
public virtual void RequestMediaPlaybackState (System.Action<WKMediaPlaybackState> completionHandler);
public virtual System.Threading.Tasks.Task<WKMediaPlaybackState> RequestMediaPlaybackStateAsync ();
public virtual void ResumeAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task ResumeAllMediaPlaybackAsync ();
public virtual void ResumeDownload (Foundation.NSData resumeData, System.Action<WKDownload> completionHandler);
public virtual System.Threading.Tasks.Task<WKDownload> ResumeDownloadAsync (Foundation.NSData resumeData);
public virtual void StartDownload (Foundation.NSUrlRequest request, System.Action<WKDownload> completionHandler);
public virtual System.Threading.Tasks.Task<WKDownload> StartDownloadAsync (Foundation.NSUrlRequest request);
public virtual void SuspendAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task SuspendAllMediaPlaybackAsync ();

New Type: WebKit.IWKDownloadDelegate

public interface IWKDownloadDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DecideDestination (WKDownload download, Foundation.NSUrlResponse response, string suggestedFilename, System.Action<Foundation.NSUrl> completionHandler);
}

New Type: WebKit.WKDownload

public class WKDownload : Foundation.NSObject, Foundation.INSObjectProtocol, Foundation.INSProgressReporting, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKDownload (Foundation.NSObjectFlag t);
	protected WKDownload (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IWKDownloadDelegate Delegate { get; set; }
	public virtual Foundation.NSUrlRequest OriginalRequest { get; }
	public virtual Foundation.NSProgress Progress { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	public virtual WKWebView WebView { get; }
	// methods
	public virtual void Cancel (System.Action<Foundation.NSData> completionHandler);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> CancelAsync ();
	protected override void Dispose (bool disposing);
}

New Type: WebKit.WKDownloadDelegate

public abstract class WKDownloadDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IWKDownloadDelegate {
	// constructors
	protected WKDownloadDelegate ();
	protected WKDownloadDelegate (Foundation.NSObjectFlag t);
	protected WKDownloadDelegate (IntPtr handle);
	// methods
	public virtual void DecideDestination (WKDownload download, Foundation.NSUrlResponse response, string suggestedFilename, System.Action<Foundation.NSUrl> completionHandler);
	public virtual void DidFail (WKDownload download, Foundation.NSError error, Foundation.NSData resumeData);
	public virtual void DidFinish (WKDownload download);
	public virtual void DidReceiveAuthenticationChallenge (WKDownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
	public virtual void WillPerformHttpRedirection (WKDownload download, Foundation.NSHttpUrlResponse response, Foundation.NSUrlRequest request, System.Action<WKDownloadRedirectPolicy> decisionHandler);
}

New Type: WebKit.WKDownloadDelegate_Extensions

public static class WKDownloadDelegate_Extensions {
	// methods
	public static void DidFail (this IWKDownloadDelegate This, WKDownload download, Foundation.NSError error, Foundation.NSData resumeData);
	public static void DidFinish (this IWKDownloadDelegate This, WKDownload download);
	public static void DidReceiveAuthenticationChallenge (this IWKDownloadDelegate This, WKDownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
	public static void WillPerformHttpRedirection (this IWKDownloadDelegate This, WKDownload download, Foundation.NSHttpUrlResponse response, Foundation.NSUrlRequest request, System.Action<WKDownloadRedirectPolicy> decisionHandler);
}

New Type: WebKit.WKDownloadRedirectPolicy

[Serializable]
public enum WKDownloadRedirectPolicy {
	Allow = 1,
	Cancel = 0,
}

New Type: WebKit.WKMediaPlaybackState

[Serializable]
public enum WKMediaPlaybackState {
	None = 0,
	Paused = 1,
	Playing = 3,
	Suspended = 2,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment