stable-api-comparison/ios-api-diff.md (original) (raw)

title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.iOS SDK API diff: 16.4.0 vs 17.1.0 List of API changes between Xamarin.iOS versions 16.4.0 and 17.1.0. spouliot sepoulio 10/17/2023 article f2db9d9d-d78e-00b1-43ac-eb2e9690f717 xamarin

Xamarin.iOS SDK API diff: 16.4.0 vs 17.1.0

Xamarin.iOS.dll

Namespace AVFoundation

Type Changed: AVFoundation.AVAssetImageGenerator

Added method:

public virtual void GenerateCGImageAsynchronously (CoreMedia.CMTime requestedTime, AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler handler);

Type Changed: AVFoundation.AVAudioSession

Obsoleted properties:

[Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryAmbient { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryAudioProcessing { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryMultiRoute { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryPlayAndRecord { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryPlayback { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryRecord { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategorySoloAmbient { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeDefault { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeGameChat { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeMeasurement { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeMoviePlayback { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeSpokenAudio { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeVideoChat { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeVideoRecording { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeVoiceChat { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString VoicePrompt { get; }

Added methods:

public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public Foundation.NSError SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionCategoryOptions options); public Foundation.NSError SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionCategoryOptions options); public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public bool SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public bool SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public bool SetMode (AVAudioSessionMode mode, out Foundation.NSError error);

Type Changed: AVFoundation.AVAudioSinkNode

Obsoleted constructors:

[Obsolete ("Use the overload that takes a delegate that does not take a 'ref AudioBuffers' instead. Assigning a value to the 'inputData' parameter in the callback has no effect.")] public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler receiverHandler);

Added constructors:

public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler2 receiverHandler); public AVAudioSinkNode (AVAudioSinkNodeReceiverHandlerRaw receiverHandler);

Type Changed: AVFoundation.AVCaptureSession

Added properties:

public virtual float HardwareCost { get; } public virtual bool MultitaskingCameraAccessEnabled { get; set; } public virtual bool MultitaskingCameraAccessSupported { get; }

Type Changed: AVFoundation.AVMetadataObjectTypeExtensions

Added methods:

public static Foundation.NSString[] ToArray (this AVMetadataObjectType value); public static AVMetadataObjectType ToFlags (System.Collections.Generic.IEnumerable<Foundation.NSString> constants);

Type Changed: AVFoundation.AVMutableComposition

Added method:

public virtual Cinematic.CNCompositionInfo AddTracks (Cinematic.CNAssetInfo assetInfo, int preferredStartingTrackID);

New Type: AVFoundation.AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler

public sealed delegate AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler : System.MulticastDelegate { // constructors public AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error); }

New Type: AVFoundation.AVAudioSessionCategoryExtensions

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

New Type: AVFoundation.AVAudioSessionMode

[Serializable] public enum AVAudioSessionMode { Default = 0, GameChat = 4, Measurement = 3, MoviePlayback = 5, SpokenAudio = 7, VideoChat = 6, VideoRecording = 2, VoiceChat = 1, VoicePrompt = 8, }

New Type: AVFoundation.AVAudioSessionModeExtensions

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

New Type: AVFoundation.AVAudioSinkNodeReceiverHandler2

public sealed delegate AVAudioSinkNodeReceiverHandler2 : System.MulticastDelegate { // constructors public AVAudioSinkNodeReceiverHandler2 (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers inputData, System.AsyncCallback callback, object object); public virtual int EndInvoke (System.IAsyncResult result); public virtual int Invoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers inputData); }

New Type: AVFoundation.AVAudioSinkNodeReceiverHandlerRaw

public sealed delegate AVAudioSinkNodeReceiverHandlerRaw : System.MulticastDelegate { // constructors public AVAudioSinkNodeReceiverHandlerRaw (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (IntPtr timestamp, uint frameCount, IntPtr inputData, System.AsyncCallback callback, object object); public virtual int EndInvoke (System.IAsyncResult result); public virtual int Invoke (IntPtr timestamp, uint frameCount, IntPtr inputData); }

Namespace Accessibility

New Type: Accessibility.AXAnimatedImagesUtilities

public static class AXAnimatedImagesUtilities { // properties public static Foundation.NSString AnimatedImagesEnabledDidChangeNotification { get; } public static bool Enabled { get; }

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

}

New Type: Accessibility.AXCustomContentProvider_Extensions

public static class AXCustomContentProvider_Extensions { // methods public static System.Func<AXCustomContent[]> GetAccessibilityCustomContentHandler (this IAXCustomContentProvider This); public static void SetAccessibilityCustomContentHandler (this IAXCustomContentProvider This, System.Func<AXCustomContent[]> value); }

New Type: Accessibility.AXPrefers

public static class AXPrefers { // properties public static Foundation.NSString HorizontalTextLayoutDidChangeNotification { get; } // methods public static bool HorizontalTextEnabled ();

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

}

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLayoutTag

Added values:

Ogg_3_0 = 9830403, Ogg_4_0 = 12124164, Ogg_5_0 = 13893637, Ogg_5_1 = 13959174, Ogg_6_1 = 14024711, Ogg_7_1 = 14090248,

Namespace AudioUnit

Type Changed: AudioUnit.AudioObjectPropertySelector

Added value:

Namespace AuthenticationServices

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialAssertion

Added properties:

public virtual ASAuthorizationPublicKeyCredentialAttachment Attachment { get; } public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialAssertionRequest

Added property:

public virtual ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput LargeBlob { get; set; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialRegistration

Added properties:

public virtual ASAuthorizationPublicKeyCredentialAttachment Attachment { get; } public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest

Added property:

public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; set; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASCredentialIdentityStore

Added methods:

public virtual void RemoveCredentialIdentityEntries (IASCredentialIdentity[] credentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RemoveCredentialIdentityEntriesAsync (IASCredentialIdentity[] credentialIdentities); public virtual void ReplaceCredentialIdentityEntries (IASCredentialIdentity[] newCredentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> ReplaceCredentialIdentityEntriesAsync (IASCredentialIdentity[] newCredentialIdentities); public virtual void SaveCredentialIdentityEntries (IASCredentialIdentity[] credentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> SaveCredentialIdentityEntriesAsync (IASCredentialIdentity[] credentialIdentities);

Type Changed: AuthenticationServices.ASCredentialProviderExtensionContext

Added methods:

public virtual void CompleteAssertionRequest (ASPasskeyAssertionCredential credential, System.Action completionHandler); public virtual System.Threading.Tasks.Task CompleteAssertionRequestAsync (ASPasskeyAssertionCredential credential); public virtual void CompleteRegistrationRequest (ASPasskeyRegistrationCredential credential, System.Action completionHandler); public virtual System.Threading.Tasks.Task CompleteRegistrationRequestAsync (ASPasskeyRegistrationCredential credential);

Type Changed: AuthenticationServices.ASCredentialProviderViewController

Added methods:

public virtual void PrepareCredentialList (ASCredentialServiceIdentifier[] serviceIdentifiers, ASPasskeyCredentialRequestParameters requestParameters); public virtual void PrepareInterfaceForPasskeyRegistration (IASCredentialRequest registrationRequest); public virtual void PrepareInterfaceToProvideCredential (IASCredentialRequest credentialRequest); public virtual void ProvideCredentialWithoutUserInteraction (IASCredentialRequest credentialRequest);

Type Changed: AuthenticationServices.ASPasswordCredentialIdentity

Added interface:

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialAttachment

[Serializable] public enum ASAuthorizationPublicKeyCredentialAttachment { CrossPlatform = 1, Platform = 0, }

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput

public class ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput : Foundation.NSObject { // constructors public ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation operation); protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (Foundation.NSObjectFlag t); protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSData DataToWrite { get; set; } public virtual ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation Operation { get; } // methods protected override void Dispose (bool disposing); }

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation

[Serializable] public enum ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation { Read = 0, Write = 1, }

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput

public class ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput : Foundation.NSObject { // constructors protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput (Foundation.NSObjectFlag t); protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool DidWrite { get; } public virtual Foundation.NSData ReadData { get; } }

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput

public class ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput : Foundation.NSObject { // constructors public ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement requirement); protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (Foundation.NSObjectFlag t); protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement SupportRequirement { get; set; } }

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput

public class ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput : Foundation.NSObject { // constructors public ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput (); protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput (Foundation.NSObjectFlag t); protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool IsSupported { get; } }

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement

[Serializable] public enum ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement { Preferred = 1, Required = 0, }

New Type: AuthenticationServices.ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState

[Serializable] public enum ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState { Authorized = 0, Denied = 1, NotDetermined = 2, }

New Type: AuthenticationServices.ASCredentialRequestType

[Serializable] public enum ASCredentialRequestType { PasskeyAssertion = 1, Password = 0, }

New Type: AuthenticationServices.ASPasskeyAssertionCredential

public class ASPasskeyAssertionCredential : Foundation.NSObject, IASAuthorizationCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public ASPasskeyAssertionCredential (Foundation.NSCoder coder); protected ASPasskeyAssertionCredential (Foundation.NSObjectFlag t); protected ASPasskeyAssertionCredential (IntPtr handle); public ASPasskeyAssertionCredential (Foundation.NSData userHandle, string relyingParty, Foundation.NSData signature, Foundation.NSData clientDataHash, Foundation.NSData authenticatorData, Foundation.NSData credentialId); // properties public virtual Foundation.NSData AuthenticatorData { get; } public override IntPtr ClassHandle { get; } public virtual Foundation.NSData ClientDataHash { get; } public virtual Foundation.NSData CredentialId { get; } public virtual string RelyingParty { get; } public virtual Foundation.NSData Signature { get; } public virtual Foundation.NSData UserHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static ASPasskeyAssertionCredential CreateCredential (Foundation.NSData userHandle, string relyingParty, Foundation.NSData signature, Foundation.NSData clientDataHash, Foundation.NSData authenticatorData, Foundation.NSData credentialId); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: AuthenticationServices.ASPasskeyCredentialIdentity

public class ASPasskeyCredentialIdentity : Foundation.NSObject, IASCredentialIdentity, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public ASPasskeyCredentialIdentity (Foundation.NSCoder coder); protected ASPasskeyCredentialIdentity (Foundation.NSObjectFlag t); protected ASPasskeyCredentialIdentity (IntPtr handle); public ASPasskeyCredentialIdentity (string relyingPartyIdentifier, string userName, Foundation.NSData credentialId, Foundation.NSData userHandle, string recordIdentifier); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSData CredentialId { get; } public virtual nint Rank { get; set; } public virtual string RecordIdentifier { get; } public virtual string RelyingPartyIdentifier { get; } public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; } public virtual string User { get; } public virtual Foundation.NSData UserHandle { get; } public virtual string UserName { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static ASPasskeyCredentialIdentity CreateIdentity (string relyingPartyIdentifier, string userName, Foundation.NSData credentialId, Foundation.NSData userHandle, string recordIdentifier); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: AuthenticationServices.ASPasskeyCredentialRequest

public class ASPasskeyCredentialRequest : Foundation.NSObject, IASCredentialRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public ASPasskeyCredentialRequest (Foundation.NSCoder coder); protected ASPasskeyCredentialRequest (Foundation.NSObjectFlag t); protected ASPasskeyCredentialRequest (IntPtr handle); public ASPasskeyCredentialRequest (ASPasskeyCredentialIdentity credentialIdentity, Foundation.NSData clientDataHash, string userVerificationPreference, Foundation.NSNumber[] supportedAlgorithms); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSData ClientDataHash { get; } public virtual IASCredentialIdentity CredentialIdentity { get; } public virtual Foundation.NSNumber[] SupportedAlgorithms { get; } public virtual ASCredentialRequestType Type { get; } public virtual string UserVerificationPreference { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static ASPasskeyCredentialRequest Create (ASPasskeyCredentialIdentity credentialIdentity, Foundation.NSData clientDataHash, string userVerificationPreference, Foundation.NSNumber[] supportedAlgorithms); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: AuthenticationServices.ASPasskeyCredentialRequestParameters

public class ASPasskeyCredentialRequestParameters : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public ASPasskeyCredentialRequestParameters (Foundation.NSCoder coder); protected ASPasskeyCredentialRequestParameters (Foundation.NSObjectFlag t); protected ASPasskeyCredentialRequestParameters (IntPtr handle); // properties public virtual Foundation.NSData[] AllowedCredentials { get; } public override IntPtr ClassHandle { get; } public virtual Foundation.NSData ClientDataHash { get; } public virtual string RelyingPartyIdentifier { get; } public virtual string UserVerificationPreference { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: AuthenticationServices.ASPasskeyRegistrationCredential

public class ASPasskeyRegistrationCredential : Foundation.NSObject, IASAuthorizationCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public ASPasskeyRegistrationCredential (); public ASPasskeyRegistrationCredential (Foundation.NSCoder coder); protected ASPasskeyRegistrationCredential (Foundation.NSObjectFlag t); protected ASPasskeyRegistrationCredential (IntPtr handle); public ASPasskeyRegistrationCredential (string relyingParty, Foundation.NSData clientDataHash, Foundation.NSData credentialId, Foundation.NSData attestationObject); // properties public virtual Foundation.NSData AttestationObject { get; } public override IntPtr ClassHandle { get; } public virtual Foundation.NSData ClientDataHash { get; } public virtual Foundation.NSData CredentialId { get; } public virtual string RelyingParty { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static ASPasskeyRegistrationCredential CreateCredential (string relyingParty, Foundation.NSData clientDataHash, Foundation.NSData credentialId, Foundation.NSData attestationObject); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: AuthenticationServices.ASPasswordCredentialRequest

public class ASPasswordCredentialRequest : Foundation.NSObject, IASCredentialRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public ASPasswordCredentialRequest (ASPasswordCredentialIdentity credentialIdentity); public ASPasswordCredentialRequest (Foundation.NSCoder coder); protected ASPasswordCredentialRequest (Foundation.NSObjectFlag t); protected ASPasswordCredentialRequest (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual IASCredentialIdentity CredentialIdentity { get; } public virtual ASCredentialRequestType Type { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); public static ASPasswordCredentialRequest Request (ASPasswordCredentialIdentity credentialIdentity); }

New Type: AuthenticationServices.ASPublicKeyCredentialClientDataCrossOriginValue

[Serializable] public enum ASPublicKeyCredentialClientDataCrossOriginValue { CrossOrigin = 1, NotSet = 0, SameOriginWithAncestors = 2, }

New Type: AuthenticationServices.ASSettingsHelper

public class ASSettingsHelper : Foundation.NSObject { // constructors protected ASSettingsHelper (Foundation.NSObjectFlag t); protected ASSettingsHelper (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public static void OpenCredentialProviderAppSettings (System.Action<Foundation.NSError> completionHandler); public static System.Threading.Tasks.Task OpenCredentialProviderAppSettingsAsync (); public static void OpenVerificationCodeAppSettings (System.Action<Foundation.NSError> completionHandler); public static System.Threading.Tasks.Task OpenVerificationCodeAppSettingsAsync (); }

New Type: AuthenticationServices.IASCredentialIdentity

public interface IASCredentialIdentity : ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual nint Rank { get; set; } public virtual string RecordIdentifier { get; } public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; } public virtual string User { get; } }

New Type: AuthenticationServices.IASCredentialRequest

public interface IASCredentialRequest : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual IASCredentialIdentity CredentialIdentity { get; } public virtual ASCredentialRequestType Type { get; } }

Namespace BackgroundAssets

New Type: BackgroundAssets.BAErrorCode

[Serializable] public enum BAErrorCode { CallFromExtensionNotAllowed = 50, CallFromInactiveProcessNotAllowed = 51, CallerConnectionInvalid = 56, CallerConnectionNotAccepted = 55, DownloadAlreadyFailed = 103, DownloadAlreadyScheduled = 100, DownloadBackgroundActivityProhibited = 111, DownloadEssentialDownloadNotPermitted = 109, DownloadFailedToStart = 102, DownloadInvalid = 0, DownloadNotScheduled = 101, DownloadWouldExceedAllowance = 112, SessionDownloadAllowanceExceeded = 204, SessionDownloadDisallowedByAllowance = 203, SessionDownloadDisallowedByDomain = 202, SessionDownloadNotPermittedBeforeAppLaunch = 206, }

New Type: BackgroundAssets.BAErrorCodeExtensions

public static class BAErrorCodeExtensions { // methods public static Foundation.NSString GetDomain (this BAErrorCode self); }

Namespace BackgroundTasks

New Type: BackgroundTasks.BGHealthResearchTask

public class BGHealthResearchTask : BackgroundTasks.BGProcessingTask { // constructors public BGHealthResearchTask (); protected BGHealthResearchTask (Foundation.NSObjectFlag t); protected BGHealthResearchTask (IntPtr handle); // properties public override IntPtr ClassHandle { get; } }

New Type: BackgroundTasks.BGHealthResearchTaskRequest

public class BGHealthResearchTaskRequest : BackgroundTasks.BGProcessingTaskRequest { // constructors public BGHealthResearchTaskRequest (); protected BGHealthResearchTaskRequest (Foundation.NSObjectFlag t); protected BGHealthResearchTaskRequest (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual string ProtectionTypeOfRequiredData { get; set; } }

Namespace CallKit

Type Changed: CallKit.CXErrorCodeIncomingCallError

Added value:

FilteredDuringRestrictedSharingMode = 5,

Type Changed: CallKit.CXSetMutedCallAction

Added constructor:

public CXSetMutedCallAction (Foundation.NSUuid callUuid);

Namespace CarPlay

Type Changed: CarPlay.CPTabBarTemplate

Added methods:

public virtual void SelectTemplate (CPTemplate newTemplate); public virtual void SelectTemplate (nint index);

Namespace CloudKit

Type Changed: CloudKit.CKQueryOperation

Added property:

public static nint MaximumResults { get; }

Type Changed: CloudKit.CKRecord

Added properties:

public static Foundation.NSString CreationDateKey { get; } public static Foundation.NSString CreatorUserRecordIdKey { get; } public static Foundation.NSString LastModifiedUserRecordIdKey { get; } public static Foundation.NSString ModificationDateKey { get; } public static Foundation.NSString RecordIdKey { get; }

Type Changed: CloudKit.CKShareMetadata

Obsoleted constructors:

[Obsolete ("Get them from 'CKFetchShareMetadataOperation' or platform-specific scene / app delegate callbacks.")] public CKShareMetadata ();

New Type: CloudKit.CKSyncEngine

public class CKSyncEngine : Foundation.NSObject { // constructors public CKSyncEngine (CKSyncEngineConfiguration configuration); protected CKSyncEngine (Foundation.NSObjectFlag t); protected CKSyncEngine (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKDatabase Database { get; } public virtual CKSyncEngineState State { get; } // methods public virtual void CancelOperations (System.Action completionHandler); public virtual System.Threading.Tasks.Task CancelOperationsAsync (); public virtual void FetchChanges (System.Action<Foundation.NSError> completionHandler); public virtual void FetchChanges (CKSyncEngineFetchChangesOptions options, System.Action<Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task FetchChangesAsync (); public virtual System.Threading.Tasks.Task FetchChangesAsync (CKSyncEngineFetchChangesOptions options); public virtual void SendChanges (System.Action<Foundation.NSError> completionHandler); public virtual void SendChanges (CKSyncEngineSendChangesOptions options, System.Action<Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task SendChangesAsync (); public virtual System.Threading.Tasks.Task SendChangesAsync (CKSyncEngineSendChangesOptions options); }

New Type: CloudKit.CKSyncEngineAccountChangeEvent

public class CKSyncEngineAccountChangeEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineAccountChangeEvent (); protected CKSyncEngineAccountChangeEvent (Foundation.NSObjectFlag t); protected CKSyncEngineAccountChangeEvent (IntPtr handle); // properties public virtual CKSyncEngineAccountChangeType ChangeType { get; } public override IntPtr ClassHandle { get; } public virtual CKRecordID CurrentUser { get; } public virtual CKRecordID PreviousUser { get; } }

New Type: CloudKit.CKSyncEngineAccountChangeType

[Serializable] public enum CKSyncEngineAccountChangeType { SignIn = 0, SignOut = 1, SwitchAccounts = 2, }

New Type: CloudKit.CKSyncEngineConfiguration

public class CKSyncEngineConfiguration : Foundation.NSObject { // constructors protected CKSyncEngineConfiguration (Foundation.NSObjectFlag t); protected CKSyncEngineConfiguration (IntPtr handle); public CKSyncEngineConfiguration (CKDatabase database, CKSyncEngineStateSerialization stateSerialization, ICKSyncEngineDelegate delegate); // properties public virtual bool AutomaticallySync { get; set; } public override IntPtr ClassHandle { get; } public virtual CKDatabase Database { get; set; } public ICKSyncEngineDelegate Delegate { get; set; } public virtual CKSyncEngineStateSerialization StateSerialization { get; set; } public virtual string SubscriptionId { get; set; } public virtual Foundation.NSObject WeakDelegate { get; set; } // methods protected override void Dispose (bool disposing); }

New Type: CloudKit.CKSyncEngineDelegate

public abstract class CKSyncEngineDelegate : Foundation.NSObject, ICKSyncEngineDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CKSyncEngineDelegate (); protected CKSyncEngineDelegate (Foundation.NSObjectFlag t); protected CKSyncEngineDelegate (IntPtr handle); // methods public virtual void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event); public virtual CKSyncEngineFetchChangesOptions SyncEngine (CKSyncEngine syncEngine, CKSyncEngineFetchChangesContext context); public virtual CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context); }

New Type: CloudKit.CKSyncEngineDelegate_Extensions

public static class CKSyncEngineDelegate_Extensions { // methods public static CKSyncEngineFetchChangesOptions SyncEngine (this ICKSyncEngineDelegate This, CKSyncEngine syncEngine, CKSyncEngineFetchChangesContext context); }

New Type: CloudKit.CKSyncEngineDidFetchChangesEvent

public class CKSyncEngineDidFetchChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineDidFetchChangesEvent (); protected CKSyncEngineDidFetchChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineDidFetchChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } }

New Type: CloudKit.CKSyncEngineDidFetchRecordZoneChangesEvent

public class CKSyncEngineDidFetchRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineDidFetchRecordZoneChangesEvent (); protected CKSyncEngineDidFetchRecordZoneChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineDidFetchRecordZoneChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSError Error { get; } public virtual CKRecordZoneID ZoneId { get; } }

New Type: CloudKit.CKSyncEngineDidSendChangesEvent

public class CKSyncEngineDidSendChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineDidSendChangesEvent (); protected CKSyncEngineDidSendChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineDidSendChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEngineSendChangesContext Context { get; } }

New Type: CloudKit.CKSyncEngineEvent

public class CKSyncEngineEvent : Foundation.NSObject { // constructors protected CKSyncEngineEvent (Foundation.NSObjectFlag t); protected CKSyncEngineEvent (IntPtr handle); // properties public virtual CKSyncEngineAccountChangeEvent AccountChangeEvent { get; } public override IntPtr ClassHandle { get; } public virtual CKSyncEngineDidFetchChangesEvent DidFetchChangesEvent { get; } public virtual CKSyncEngineDidFetchRecordZoneChangesEvent DidFetchRecordZoneChangesEvent { get; } public virtual CKSyncEngineDidSendChangesEvent DidSendChangesEvent { get; } public virtual CKSyncEngineFetchedDatabaseChangesEvent FetchedDatabaseChangesEvent { get; } public virtual CKSyncEngineFetchedRecordZoneChangesEvent FetchedRecordZoneChangesEvent { get; } public virtual CKSyncEngineSentDatabaseChangesEvent SentDatabaseChangesEvent { get; } public virtual CKSyncEngineSentRecordZoneChangesEvent SentRecordZoneChangesEvent { get; } public virtual CKSyncEngineStateUpdateEvent StateUpdateEvent { get; } public virtual CKSyncEngineEventType Type { get; } public virtual CKSyncEngineWillFetchChangesEvent WillFetchChangesEvent { get; } public virtual CKSyncEngineWillFetchRecordZoneChangesEvent WillFetchRecordZoneChangesEvent { get; } public virtual CKSyncEngineWillSendChangesEvent WillSendChangesEvent { get; } }

New Type: CloudKit.CKSyncEngineEventType

[Serializable] public enum CKSyncEngineEventType { AccountChange = 1, DidFetchChanges = 9, DidFetchRecordZoneChanges = 8, DidSendChanges = 11, FetchedDatabaseChanges = 2, FetchedRecordZoneChanges = 3, SentDatabaseChanges = 4, SentRecordZoneChanges = 5, StateUpdate = 0, WillFetchChanges = 6, WillFetchRecordZoneChanges = 7, WillSendChanges = 10, }

New Type: CloudKit.CKSyncEngineFailedRecordSave

public class CKSyncEngineFailedRecordSave : Foundation.NSObject { // constructors protected CKSyncEngineFailedRecordSave (Foundation.NSObjectFlag t); protected CKSyncEngineFailedRecordSave (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSError Error { get; } public virtual CKRecord Record { get; } }

New Type: CloudKit.CKSyncEngineFailedZoneSave

public class CKSyncEngineFailedZoneSave : Foundation.NSObject { // constructors protected CKSyncEngineFailedZoneSave (Foundation.NSObjectFlag t); protected CKSyncEngineFailedZoneSave (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSError Error { get; } public virtual CKRecordZone RecordZone { get; } }

New Type: CloudKit.CKSyncEngineFetchChangesContext

public class CKSyncEngineFetchChangesContext : Foundation.NSObject { // constructors protected CKSyncEngineFetchChangesContext (Foundation.NSObjectFlag t); protected CKSyncEngineFetchChangesContext (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEngineFetchChangesOptions Options { get; } public virtual CKSyncEngineSyncReason Reason { get; } }

New Type: CloudKit.CKSyncEngineFetchChangesOptions

public class CKSyncEngineFetchChangesOptions : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CKSyncEngineFetchChangesOptions (); public CKSyncEngineFetchChangesOptions (CKSyncEngineFetchChangesScope scope); protected CKSyncEngineFetchChangesOptions (Foundation.NSObjectFlag t); protected CKSyncEngineFetchChangesOptions (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKOperationGroup OperationGroup { get; set; } public virtual CKRecordZoneID[] PrioritizedZoneIds { get; set; } public virtual CKSyncEngineFetchChangesScope Scope { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); }

New Type: CloudKit.CKSyncEngineFetchChangesScope

public class CKSyncEngineFetchChangesScope : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CKSyncEngineFetchChangesScope (); protected CKSyncEngineFetchChangesScope (Foundation.NSObjectFlag t); protected CKSyncEngineFetchChangesScope (IntPtr handle); public CKSyncEngineFetchChangesScope (Foundation.NSSet zoneIds, bool excluded); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSSet ExcludedZoneIds { get; } public virtual Foundation.NSSet ZoneIds { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); }

New Type: CloudKit.CKSyncEngineFetchedDatabaseChangesEvent

public class CKSyncEngineFetchedDatabaseChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineFetchedDatabaseChangesEvent (); protected CKSyncEngineFetchedDatabaseChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineFetchedDatabaseChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEngineFetchedZoneDeletion[] Deletions { get; } public virtual CKRecordZone[] Modifications { get; } }

New Type: CloudKit.CKSyncEngineFetchedRecordDeletion

public class CKSyncEngineFetchedRecordDeletion : Foundation.NSObject { // constructors protected CKSyncEngineFetchedRecordDeletion (Foundation.NSObjectFlag t); protected CKSyncEngineFetchedRecordDeletion (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKRecordID RecordId { get; } public virtual string RecordType { get; } }

New Type: CloudKit.CKSyncEngineFetchedRecordZoneChangesEvent

public class CKSyncEngineFetchedRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineFetchedRecordZoneChangesEvent (); protected CKSyncEngineFetchedRecordZoneChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineFetchedRecordZoneChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEngineFetchedRecordDeletion[] Deletions { get; } public virtual CKRecord[] Modifications { get; } }

New Type: CloudKit.CKSyncEngineFetchedZoneDeletion

public class CKSyncEngineFetchedZoneDeletion : Foundation.NSObject { // constructors protected CKSyncEngineFetchedZoneDeletion (Foundation.NSObjectFlag t); protected CKSyncEngineFetchedZoneDeletion (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEngineZoneDeletionReason Reason { get; } public virtual CKRecordZoneID ZoneId { get; } }

New Type: CloudKit.CKSyncEnginePendingDatabaseChange

public class CKSyncEnginePendingDatabaseChange : Foundation.NSObject { // constructors protected CKSyncEnginePendingDatabaseChange (Foundation.NSObjectFlag t); protected CKSyncEnginePendingDatabaseChange (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEnginePendingDatabaseChangeType Type { get; } public virtual CKRecordZoneID ZoneId { get; } }

New Type: CloudKit.CKSyncEnginePendingDatabaseChangeType

[Serializable] public enum CKSyncEnginePendingDatabaseChangeType { DeleteZone = 1, SaveZone = 0, }

New Type: CloudKit.CKSyncEnginePendingRecordZoneChange

public class CKSyncEnginePendingRecordZoneChange : Foundation.NSObject { // constructors protected CKSyncEnginePendingRecordZoneChange (Foundation.NSObjectFlag t); protected CKSyncEnginePendingRecordZoneChange (IntPtr handle); public CKSyncEnginePendingRecordZoneChange (CKRecordID recordId, CKSyncEnginePendingRecordZoneChangeType type); // properties public override IntPtr ClassHandle { get; } public virtual CKRecordID RecordId { get; } public virtual CKSyncEnginePendingRecordZoneChangeType Type { get; } }

New Type: CloudKit.CKSyncEnginePendingRecordZoneChangeType

[Serializable] public enum CKSyncEnginePendingRecordZoneChangeType { DeleteRecord = 1, SaveRecord = 0, }

New Type: CloudKit.CKSyncEnginePendingZoneDelete

public class CKSyncEnginePendingZoneDelete : CloudKit.CKSyncEnginePendingDatabaseChange { // constructors public CKSyncEnginePendingZoneDelete (); public CKSyncEnginePendingZoneDelete (CKRecordZoneID zoneId); protected CKSyncEnginePendingZoneDelete (Foundation.NSObjectFlag t); protected CKSyncEnginePendingZoneDelete (IntPtr handle); // properties public override IntPtr ClassHandle { get; } }

New Type: CloudKit.CKSyncEnginePendingZoneSave

public class CKSyncEnginePendingZoneSave : CloudKit.CKSyncEnginePendingDatabaseChange { // constructors public CKSyncEnginePendingZoneSave (); public CKSyncEnginePendingZoneSave (CKRecordZone zone); protected CKSyncEnginePendingZoneSave (Foundation.NSObjectFlag t); protected CKSyncEnginePendingZoneSave (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKRecordZone Zone { get; } }

New Type: CloudKit.CKSyncEngineRecordZoneChangeBatch

public class CKSyncEngineRecordZoneChangeBatch : Foundation.NSObject { // constructors protected CKSyncEngineRecordZoneChangeBatch (Foundation.NSObjectFlag t); protected CKSyncEngineRecordZoneChangeBatch (IntPtr handle); public CKSyncEngineRecordZoneChangeBatch (CKSyncEnginePendingRecordZoneChange[] pendingChanges, System.Func<CKRecordID,CloudKit.CKRecord> recordProvider); public CKSyncEngineRecordZoneChangeBatch (CKRecord[] recordsToSave, CKRecordID[] recordIdsToDelete, bool atomicByZone); // properties public virtual bool AtomicByZone { get; set; } public override IntPtr ClassHandle { get; } public virtual CKRecordID[] RecordIdsToDelete { get; } public virtual CKRecord[] RecordsToSave { get; } }

New Type: CloudKit.CKSyncEngineSendChangesContext

public class CKSyncEngineSendChangesContext : Foundation.NSObject { // constructors protected CKSyncEngineSendChangesContext (Foundation.NSObjectFlag t); protected CKSyncEngineSendChangesContext (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEngineSendChangesOptions Options { get; } public virtual CKSyncEngineSyncReason Reason { get; } }

New Type: CloudKit.CKSyncEngineSendChangesOptions

public class CKSyncEngineSendChangesOptions : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CKSyncEngineSendChangesOptions (); public CKSyncEngineSendChangesOptions (CKSyncEngineSendChangesScope scope); protected CKSyncEngineSendChangesOptions (Foundation.NSObjectFlag t); protected CKSyncEngineSendChangesOptions (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKOperationGroup OperationGroup { get; set; } public virtual CKSyncEngineSendChangesScope Scope { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); }

New Type: CloudKit.CKSyncEngineSendChangesScope

public class CKSyncEngineSendChangesScope : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CKSyncEngineSendChangesScope (); protected CKSyncEngineSendChangesScope (Foundation.NSObjectFlag t); public CKSyncEngineSendChangesScope (Foundation.NSSet recordIds); protected CKSyncEngineSendChangesScope (IntPtr handle); public CKSyncEngineSendChangesScope (Foundation.NSSet zoneIds, bool excluded); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSSet ExcludedZoneIds { get; } public virtual Foundation.NSSet RecordIds { get; } public virtual Foundation.NSSet ZoneIds { get; } // methods public virtual bool ContainsPendingRecordZoneChange (CKSyncEnginePendingRecordZoneChange pendingRecordZoneChange); public virtual bool ContainsRecordId (CKRecordID recordId); public virtual Foundation.NSObject Copy (Foundation.NSZone zone); }

New Type: CloudKit.CKSyncEngineSentDatabaseChangesEvent

public class CKSyncEngineSentDatabaseChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineSentDatabaseChangesEvent (); protected CKSyncEngineSentDatabaseChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineSentDatabaseChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKRecordZoneID[] DeletedZoneIds { get; } public virtual Foundation.NSDictionary<CKRecordZoneID,Foundation.NSError> FailedZoneDeletes { get; } public virtual CKSyncEngineFailedZoneSave[] FailedZoneSaves { get; } public virtual CKRecordZone[] SavedZones { get; } }

New Type: CloudKit.CKSyncEngineSentRecordZoneChangesEvent

public class CKSyncEngineSentRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineSentRecordZoneChangesEvent (); protected CKSyncEngineSentRecordZoneChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineSentRecordZoneChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKRecordID[] DeletedRecordIds { get; } public virtual Foundation.NSDictionary<CKRecordID,Foundation.NSError> FailedRecordDeletes { get; } public virtual CKSyncEngineFailedRecordSave[] FailedRecordSaves { get; } public virtual CKRecord[] SavedRecords { get; } }

New Type: CloudKit.CKSyncEngineState

public class CKSyncEngineState : Foundation.NSObject { // constructors protected CKSyncEngineState (Foundation.NSObjectFlag t); protected CKSyncEngineState (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool HasPendingUntrackedChanges { get; set; } public virtual CKSyncEnginePendingDatabaseChange[] PendingDatabaseChanges { get; } public virtual CKSyncEnginePendingRecordZoneChange[] PendingRecordZoneChanges { get; } public virtual CKRecordZoneID[] ZoneIdsWithUnfetchedServerChanges { get; } // methods public virtual void AddPendingDatabaseChanges (CKSyncEnginePendingDatabaseChange[] changes); public virtual void AddPendingRecordZoneChanges (CKSyncEnginePendingRecordZoneChange[] changes); public virtual void RemovePendingDatabaseChanges (CKSyncEnginePendingDatabaseChange[] changes); public virtual void RemovePendingRecordZoneChanges (CKSyncEnginePendingRecordZoneChange[] changes); }

New Type: CloudKit.CKSyncEngineStateSerialization

public class CKSyncEngineStateSerialization : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CKSyncEngineStateSerialization (Foundation.NSCoder coder); protected CKSyncEngineStateSerialization (Foundation.NSObjectFlag t); protected CKSyncEngineStateSerialization (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CloudKit.CKSyncEngineStateUpdateEvent

public class CKSyncEngineStateUpdateEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineStateUpdateEvent (); protected CKSyncEngineStateUpdateEvent (Foundation.NSObjectFlag t); protected CKSyncEngineStateUpdateEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEngineStateSerialization StateSerialization { get; } }

New Type: CloudKit.CKSyncEngineSyncReason

[Serializable] public enum CKSyncEngineSyncReason { Manual = 1, Scheduled = 0, }

New Type: CloudKit.CKSyncEngineWillFetchChangesEvent

public class CKSyncEngineWillFetchChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineWillFetchChangesEvent (); protected CKSyncEngineWillFetchChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineWillFetchChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } }

New Type: CloudKit.CKSyncEngineWillFetchRecordZoneChangesEvent

public class CKSyncEngineWillFetchRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineWillFetchRecordZoneChangesEvent (); protected CKSyncEngineWillFetchRecordZoneChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineWillFetchRecordZoneChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKRecordZoneID ZoneId { get; } }

New Type: CloudKit.CKSyncEngineWillSendChangesEvent

public class CKSyncEngineWillSendChangesEvent : CloudKit.CKSyncEngineEvent { // constructors public CKSyncEngineWillSendChangesEvent (); protected CKSyncEngineWillSendChangesEvent (Foundation.NSObjectFlag t); protected CKSyncEngineWillSendChangesEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CKSyncEngineSendChangesContext Context { get; } }

New Type: CloudKit.CKSyncEngineZoneDeletionReason

[Serializable] public enum CKSyncEngineZoneDeletionReason { Deleted = 0, EncryptedDataReset = 2, Purged = 1, }

New Type: CloudKit.ICKSyncEngineDelegate

public interface ICKSyncEngineDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event); public virtual CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context); }

Namespace Contacts

Type Changed: Contacts.CNErrorCode

Added value:

FeatureNotAvailable = 104,

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBCentralManager

Added event:

public event System.EventHandler DidDisconnectPeripheral;

Type Changed: CoreBluetooth.CBCentralManagerDelegate

Added method:

public virtual void DidDisconnectPeripheral (CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);

Type Changed: CoreBluetooth.CBCentralManagerDelegate_Extensions

Added method:

public static void DidDisconnectPeripheral (this ICBCentralManagerDelegate This, CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);

Type Changed: CoreBluetooth.CBConnectPeripheralOptions

Added property:

public bool? EnableAutoReconnect { get; }

New Type: CoreBluetooth.CBPeripheralDiconnectionEventEventArgs

public class CBPeripheralDiconnectionEventEventArgs : System.EventArgs { // constructors public CBPeripheralDiconnectionEventEventArgs (CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error); // properties public Foundation.NSError Error { get; set; } public bool IsReconnecting { get; set; } public CBPeripheral Peripheral { get; set; } public double Timestamp { get; set; } }

Namespace CoreData

Type Changed: CoreData.NSAttributeType

Added value:

CompositeAttributeType = 2100,

Type Changed: CoreData.NSManagedObjectModel

Added property:

public virtual string VersionChecksum { get; }

Added method:

public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> ChecksumsForVersionedModel (Foundation.NSUrl modelUrl, out Foundation.NSError error);

Type Changed: CoreData.NSPersistentStoreCoordinator

Added methods:

public virtual bool FinishDeferredLightweightMigration (out Foundation.NSError error); public virtual bool FinishDeferredLightweightMigrationTask (out Foundation.NSError error);

Type Changed: CoreData.UserInfoKeys

Added properties:

public static Foundation.NSString DeferredLightweightMigrationOptionKey { get; } public static Foundation.NSString StagedMigrationManagerOptionKey { get; }

New Type: CoreData.NSCompositeAttributeDescription

public class NSCompositeAttributeDescription : CoreData.NSAttributeDescription { // constructors public NSCompositeAttributeDescription (); public NSCompositeAttributeDescription (Foundation.NSCoder coder); protected NSCompositeAttributeDescription (Foundation.NSObjectFlag t); protected NSCompositeAttributeDescription (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual NSAttributeDescription[] Elements { get; set; } }

New Type: CoreData.NSCustomMigrationStage

public class NSCustomMigrationStage : CoreData.NSMigrationStage { // constructors protected NSCustomMigrationStage (Foundation.NSObjectFlag t); protected NSCustomMigrationStage (IntPtr handle); public NSCustomMigrationStage (NSManagedObjectModelReference currentModel, NSManagedObjectModelReference nextModel); // properties public override IntPtr ClassHandle { get; } public virtual NSManagedObjectModelReference CurrentModel { get; } public virtual System.Func<NSStagedMigrationManager,CoreData.NSCustomMigrationStage,Foundation.NSError,System.Boolean> DidMigrateHandler { get; set; } public virtual NSManagedObjectModelReference NextModel { get; } public virtual System.Func<NSStagedMigrationManager,CoreData.NSCustomMigrationStage,Foundation.NSError,System.Boolean> WillMigrateHandler { get; set; } }

New Type: CoreData.NSLightweightMigrationStage

public class NSLightweightMigrationStage : CoreData.NSMigrationStage { // constructors protected NSLightweightMigrationStage (Foundation.NSObjectFlag t); protected NSLightweightMigrationStage (IntPtr handle); public NSLightweightMigrationStage (string[] versionChecksums); // properties public override IntPtr ClassHandle { get; } public virtual string[] VersionChecksums { get; } }

New Type: CoreData.NSManagedObjectModelReference

public class NSManagedObjectModelReference : Foundation.NSObject { // constructors protected NSManagedObjectModelReference (Foundation.NSObjectFlag t); protected NSManagedObjectModelReference (IntPtr handle); public NSManagedObjectModelReference (NSManagedObjectModel model, string versionChecksum); public NSManagedObjectModelReference (Foundation.NSUrl fileUrl, string versionChecksum); public NSManagedObjectModelReference (Foundation.NSDictionary versionHash, Foundation.NSBundle bundle, string versionChecksum); public NSManagedObjectModelReference (string modelName, Foundation.NSBundle bundle, string versionChecksum); // properties public override IntPtr ClassHandle { get; } public virtual NSManagedObjectModel ResolvedModel { get; } public virtual string VersionChecksum { get; } }

New Type: CoreData.NSMigrationStage

public class NSMigrationStage : Foundation.NSObject { // constructors public NSMigrationStage (); protected NSMigrationStage (Foundation.NSObjectFlag t); protected NSMigrationStage (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual string Label { get; set; } }

New Type: CoreData.NSStagedMigrationManager

public class NSStagedMigrationManager : Foundation.NSObject { // constructors public NSStagedMigrationManager (NSMigrationStage[] stages); protected NSStagedMigrationManager (Foundation.NSObjectFlag t); protected NSStagedMigrationManager (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual NSPersistentContainer Container { get; } public virtual NSMigrationStage[] Stages { get; } }

Namespace CoreFoundation

Type Changed: CoreFoundation.CFRunLoop

Added properties:

public string[] AllModes { get; } public string CurrentMode { get; }

Added method:

public CFRunLoopExitReason RunInMode (string mode, double seconds, bool returnAfterSourceHandled);

Namespace CoreGraphics

Type Changed: CoreGraphics.CGContext

Added method:

public void DrawConicGradient (CGGradient gradient, CGPoint point, nfloat angle);

Namespace CoreImage

Type Changed: CoreImage.CIContext

Added property:

public static Foundation.NSString MemoryLimit { get; }

Added methods:

public virtual Foundation.NSData GetOpenEXRRepresentation (CIImage image, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError errorPtr); public virtual bool WriteOpenExrRepresentation (CIImage image, Foundation.NSUrl url, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError errorPtr);

Type Changed: CoreImage.CIFilter

Added properties:

public static CIBlurredRectangleGenerator BlurredRectangleGeneratorFilter { get; } public static CICannyEdgeDetector CannyEdgeDetectorFilter { get; } public static CIRoundedRectangleStrokeGenerator RoundedRectangleStrokeGeneratorFilter { get; } public static CISobelGradients SobelGradientsFilter { get; }

Type Changed: CoreImage.CIImage

Added properties:

public static int FormatRgb10 { get; } public static int FormatRgbX16 { get; } public static int FormatRgbXf { get; } public static int FormatRgbXh { get; }

Type Changed: CoreImage.CIImageProcessorInput_Extensions

Added methods:

public static nuint GetRoiTileCount (this ICIImageProcessorInput This); public static nuint GetRoiTileIndex (this ICIImageProcessorInput This);

Type Changed: CoreImage.CIImageProcessorKernel

Added method:

public static CIVector[] GetRoiTileArray (int input, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> arguments, CoreGraphics.CGRect outputRect);

Type Changed: CoreImage.CIPhotoEffect

Added property:

public bool Extrapolate { get; set; }

Type Changed: CoreImage.CIRenderInfo

Added property:

public virtual double KernelCompileTime { get; }

New Type: CoreImage.CIBlurredRectangleGenerator

public class CIBlurredRectangleGenerator : CoreImage.CIFilter, ICIBlurredRectangleGeneratorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CIBlurredRectangleGenerator (); public CIBlurredRectangleGenerator (Foundation.NSCoder coder); protected CIBlurredRectangleGenerator (Foundation.NSObjectFlag t); public CIBlurredRectangleGenerator (IntPtr handle); // properties public virtual CIColor Color { get; set; } public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual CIImage OutputImage { get; } public virtual float Sigma { get; set; } }

New Type: CoreImage.CICannyEdgeDetector

public class CICannyEdgeDetector : CoreImage.CIFilter, ICICannyEdgeDetectorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CICannyEdgeDetector (); public CICannyEdgeDetector (Foundation.NSCoder coder); protected CICannyEdgeDetector (Foundation.NSObjectFlag t); public CICannyEdgeDetector (IntPtr handle); // properties public virtual float GaussianSigma { get; set; } public virtual nint HysteresisPasses { get; set; } public virtual CIImage InputImage { get; set; } public virtual CIImage OutputImage { get; } public virtual bool Perceptual { get; set; } public virtual float ThresholdHigh { get; set; } public virtual float ThresholdLow { get; set; } }

New Type: CoreImage.CIFilterGenerator

public class CIFilterGenerator : Foundation.NSObject, ICIFilterConstructor, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CIFilterGenerator (Foundation.NSCoder coder); protected CIFilterGenerator (Foundation.NSObjectFlag t); public CIFilterGenerator (Foundation.NSUrl aURL); protected CIFilterGenerator (IntPtr handle); // properties public virtual Foundation.NSDictionary ClassAttributes { get; set; } public override IntPtr ClassHandle { get; } public virtual Foundation.NSDictionary ExportedKeys { get; } // methods public virtual void ConnectObject (Foundation.NSObject sourceObject, string withSourceKey, Foundation.NSObject targetObject, string targetKey); public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static CIFilterGenerator Create (); public virtual CIFilter CreateFilter (); public virtual void DisconnectObject (Foundation.NSObject sourceObject, string sourceKey, Foundation.NSObject targetObject, string targetKey); public virtual void EncodeTo (Foundation.NSCoder encoder); public virtual void ExportKey (string key, Foundation.NSObject targetObject, string exportedKeyName); public virtual CIFilter FilterWithName (string name); public static CIFilterGenerator FromUrl (Foundation.NSUrl aURL); public virtual void RegisterFilterName (string name); public virtual void RemoveExportedKey (string exportedKeyName); public virtual bool Save (Foundation.NSUrl toUrl, bool atomically); public virtual void SetAttributesforExportedKey (Foundation.NSDictionary attributes, Foundation.NSString exportedKey); }

New Type: CoreImage.CIPhotoEffectProtocol_Extensions

public static class CIPhotoEffectProtocol_Extensions { // methods public static bool GetExtrapolate (this ICIPhotoEffectProtocol This); public static void SetExtrapolate (this ICIPhotoEffectProtocol This, bool value); }

New Type: CoreImage.CIRoundedRectangleStrokeGenerator

public class CIRoundedRectangleStrokeGenerator : CoreImage.CIFilter, ICIFilterProtocol, ICIRoundedRectangleStrokeGeneratorProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CIRoundedRectangleStrokeGenerator (); public CIRoundedRectangleStrokeGenerator (Foundation.NSCoder coder); protected CIRoundedRectangleStrokeGenerator (Foundation.NSObjectFlag t); public CIRoundedRectangleStrokeGenerator (IntPtr handle); // properties public virtual CIColor Color { get; set; } public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual CIImage OutputImage { get; } public virtual float Radius { get; set; } public virtual float Width { get; set; } }

New Type: CoreImage.CISobelGradients

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

New Type: CoreImage.ICIBlurredRectangleGeneratorProtocol

public interface ICIBlurredRectangleGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual CIColor Color { get; set; } public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual float Sigma { get; set; } }

New Type: CoreImage.ICICannyEdgeDetectorProtocol

public interface ICICannyEdgeDetectorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual float GaussianSigma { get; set; } public virtual nint HysteresisPasses { get; set; } public virtual CIImage InputImage { get; set; } public virtual bool Perceptual { get; set; } public virtual float ThresholdHigh { get; set; } public virtual float ThresholdLow { get; set; } }

New Type: CoreImage.ICIRoundedRectangleStrokeGeneratorProtocol

public interface ICIRoundedRectangleStrokeGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual CIColor Color { get; set; } public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual float Radius { get; set; } public virtual float Width { get; set; } }

New Type: CoreImage.ICISobelGradientsProtocol

public interface ICISobelGradientsProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual CIImage InputImage { get; set; } }

Namespace CoreLocation

New Type: CoreLocation.CLBackgroundActivitySession

public class CLBackgroundActivitySession : Foundation.NSObject { // constructors protected CLBackgroundActivitySession (Foundation.NSObjectFlag t); protected CLBackgroundActivitySession (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public static CLBackgroundActivitySession Create (); public virtual void Invalidate (); }

New Type: CoreLocation.CLBeaconIdentityCondition

public class CLBeaconIdentityCondition : CoreLocation.CLCondition, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CLBeaconIdentityCondition (Foundation.NSCoder coder); protected CLBeaconIdentityCondition (Foundation.NSObjectFlag t); public CLBeaconIdentityCondition (Foundation.NSUuid uuid); protected CLBeaconIdentityCondition (IntPtr handle); public CLBeaconIdentityCondition (Foundation.NSUuid uuid, ushort major); public CLBeaconIdentityCondition (Foundation.NSUuid uuid, ushort major, ushort minor); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSNumber Major { get; } public virtual Foundation.NSNumber Minor { get; } public virtual Foundation.NSUuid Uuid { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreLocation.CLCircularGeographicCondition

public class CLCircularGeographicCondition : CoreLocation.CLCondition, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CLCircularGeographicCondition (); public CLCircularGeographicCondition (Foundation.NSCoder coder); protected CLCircularGeographicCondition (Foundation.NSObjectFlag t); protected CLCircularGeographicCondition (IntPtr handle); public CLCircularGeographicCondition (CLLocationCoordinate2D center, double radius); // properties public virtual CLLocationCoordinate2D Center { get; } public override IntPtr ClassHandle { get; } public virtual double Radius { get; } // methods public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreLocation.CLCondition

public class CLCondition : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CLCondition (); public CLCondition (Foundation.NSCoder coder); protected CLCondition (Foundation.NSObjectFlag t); protected CLCondition (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreLocation.CLLiveUpdateConfiguration

[Serializable] public enum CLLiveUpdateConfiguration { Airborne = 4, AutomotiveNavigation = 1, Default = 0, Fitness = 3, OtherNavigation = 2, }

New Type: CoreLocation.CLLocationUpdater

public class CLLocationUpdater : Foundation.NSObject { // constructors protected CLLocationUpdater (Foundation.NSObjectFlag t); protected CLLocationUpdater (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public static CLLocationUpdater CreateLiveUpdates (CoreFoundation.DispatchQueue queue, System.Action handler); public static CLLocationUpdater CreateLiveUpdates (CLLiveUpdateConfiguration configuration, CoreFoundation.DispatchQueue queue, System.Action handler); public virtual void Invalidate (); public virtual void Pause (); public virtual void Resume (); }

New Type: CoreLocation.CLMonitor

public class CLMonitor : Foundation.NSObject { // constructors protected CLMonitor (Foundation.NSObjectFlag t); protected CLMonitor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual string[] MonitoredIdentifiers { get; } public virtual string Name { get; } // methods public virtual void AddCondition (CLCondition condition, string identifier); public virtual void AddCondition (CLCondition condition, string identifier, CLMonitoringState state); public virtual CLMonitoringRecord GetMonitoringRecord (string identifier); public virtual void RemoveCondition (string identifier); public static void RequestMonitor (CLMonitorConfiguration config, System.Action completionHandler); public static System.Threading.Tasks.Task RequestMonitorAsync (CLMonitorConfiguration config); }

New Type: CoreLocation.CLMonitorConfiguration

public class CLMonitorConfiguration : Foundation.NSObject { // constructors public CLMonitorConfiguration (); protected CLMonitorConfiguration (Foundation.NSObjectFlag t); protected CLMonitorConfiguration (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual System.Action<CLMonitor,CoreLocation.CLMonitoringEvent> EventHandler { get; } public virtual string Name { get; } public virtual CoreFoundation.DispatchQueue Queue { get; } // methods public static CLMonitorConfiguration Create (string name, CoreFoundation.DispatchQueue queue, System.Action<CLMonitor,CoreLocation.CLMonitoringEvent> eventHandler); }

New Type: CoreLocation.CLMonitoringEvent

public class CLMonitoringEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CLMonitoringEvent (Foundation.NSCoder coder); protected CLMonitoringEvent (Foundation.NSObjectFlag t); protected CLMonitoringEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSDate Date { get; } public virtual string Identifier { get; } public virtual CLCondition Refinement { get; } public virtual CLMonitoringState State { get; } // methods public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreLocation.CLMonitoringRecord

public class CLMonitoringRecord : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CLMonitoringRecord (Foundation.NSCoder coder); protected CLMonitoringRecord (Foundation.NSObjectFlag t); protected CLMonitoringRecord (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CLCondition Condition { get; } public virtual CLMonitoringEvent LastEvent { get; } // methods public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreLocation.CLMonitoringState

[Serializable] public enum CLMonitoringState { Satisfied = 1, Unknown = 0, Unsatisfied = 2, }

New Type: CoreLocation.CLUpdate

public class CLUpdate : Foundation.NSObject { // constructors public CLUpdate (); protected CLUpdate (Foundation.NSObjectFlag t); protected CLUpdate (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool IsStationary { get; } public virtual CLLocation Location { get; } }

Namespace CoreML

Type Changed: CoreML.MLModel

Added properties:

public static IMLComputeDeviceProtocol[] AllComputeDevices { get; } public static IMLComputeDeviceProtocol[] AvailableComputeDevices { get; }

Added methods:

public virtual void GetPrediction (IMLFeatureProvider input, System.Action<IMLFeatureProvider,Foundation.NSError> completionHandler); public virtual void GetPrediction (IMLFeatureProvider input, MLPredictionOptions options, System.Action<IMLFeatureProvider,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task GetPredictionAsync (IMLFeatureProvider input); public virtual System.Threading.Tasks.Task GetPredictionAsync (IMLFeatureProvider input, MLPredictionOptions options);

Type Changed: CoreML.MLModelError

Added value:

PredictionCancelled = 11,

New Type: CoreML.IMLComputeDeviceProtocol

public interface IMLComputeDeviceProtocol : ObjCRuntime.INativeObject, System.IDisposable { }

New Type: CoreML.MLCpuComputeDevice

public class MLCpuComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected MLCpuComputeDevice (Foundation.NSObjectFlag t); protected MLCpuComputeDevice (IntPtr handle); // properties public override IntPtr ClassHandle { get; } }

New Type: CoreML.MLGpuComputeDevice

public class MLGpuComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected MLGpuComputeDevice (Foundation.NSObjectFlag t); protected MLGpuComputeDevice (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Metal.IMTLDevice MetalDevice { get; } }

New Type: CoreML.MLNeuralEngineComputeDevice

public class MLNeuralEngineComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected MLNeuralEngineComputeDevice (Foundation.NSObjectFlag t); protected MLNeuralEngineComputeDevice (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual nint TotalCoreCount { get; } }

Namespace CoreMotion

New Type: CoreMotion.CMBatchedSensorManager

public class CMBatchedSensorManager : Foundation.NSObject { // constructors public CMBatchedSensorManager (); protected CMBatchedSensorManager (Foundation.NSObjectFlag t); protected CMBatchedSensorManager (IntPtr handle); // properties public virtual bool AccelerometerActive { get; } public virtual CMAccelerometerData[] AccelerometerBatch { get; } public virtual nint AccelerometerDataFrequency { get; } public static bool AccelerometerSupported { get; } public static CMAuthorizationStatus AuthorizationStatus { get; } public override IntPtr ClassHandle { get; } public virtual bool DeviceMotionActive { get; } public virtual CMDeviceMotion[] DeviceMotionBatch { get; } public virtual nint DeviceMotionDataFrequency { get; } public static bool DeviceMotionSupported { get; } // methods public virtual void StartAccelerometerUpdates (); public virtual void StartAccelerometerUpdates (System.Action<CMAccelerometerData[],Foundation.NSError> handler); public virtual void StartDeviceMotionUpdates (); public virtual void StartDeviceMotionUpdates (System.Action<CMDeviceMotion[],Foundation.NSError> handler); public virtual void StopAccelerometerUpdates (); public virtual void StopDeviceMotionUpdates (); }

New Type: CoreMotion.CMHighFrequencyHeartRateData

public class CMHighFrequencyHeartRateData : CoreMotion.CMLogItem { // constructors public CMHighFrequencyHeartRateData (); public CMHighFrequencyHeartRateData (Foundation.NSCoder coder); protected CMHighFrequencyHeartRateData (Foundation.NSObjectFlag t); protected CMHighFrequencyHeartRateData (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CMHighFrequencyHeartRateDataConfidence Confidence { get; } public virtual Foundation.NSDate Date { get; } public virtual double HeartRate { get; } }

New Type: CoreMotion.CMHighFrequencyHeartRateDataConfidence

[Serializable] public enum CMHighFrequencyHeartRateDataConfidence { High = 2, Highest = 3, Low = 0, Medium = 1, }

New Type: CoreMotion.CMOdometerData

public class CMOdometerData : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CMOdometerData (); public CMOdometerData (Foundation.NSCoder coder); protected CMOdometerData (Foundation.NSObjectFlag t); protected CMOdometerData (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual double DeltaAltitude { get; } public virtual double DeltaDistance { get; } public virtual double DeltaDistanceAccuracy { get; } public virtual Foundation.NSDate EndDate { get; } public virtual Foundation.NSDate GpsDate { get; } public virtual Foundation.NSNumber MaxAbsSlope { get; } public virtual CMOdometerOriginDevice OriginDevice { get; } public virtual Foundation.NSNumber Slope { get; } public virtual double Speed { get; } public virtual double SpeedAccuracy { get; } public virtual Foundation.NSDate StartDate { get; } public virtual double VerticalAccuracy { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreMotion.CMOdometerOriginDevice

[Serializable] public enum CMOdometerOriginDevice { Local = 1, Remote = 2, Unknown = 0, }

New Type: CoreMotion.CMWaterSubmersionDepthState

[Serializable] public enum CMWaterSubmersionDepthState { ApproachingMaxDepth = 400, NotSubmerged = 100, PastMaxDepth = 500, SensorDepthError = 600, SubmergedDeep = 300, SubmergedShallow = 200, Unknown = 0, }

New Type: CoreMotion.CMWaterSubmersionEvent

public class CMWaterSubmersionEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CMWaterSubmersionEvent (); public CMWaterSubmersionEvent (Foundation.NSCoder coder); protected CMWaterSubmersionEvent (Foundation.NSObjectFlag t); protected CMWaterSubmersionEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSDate Date { get; } public virtual CMWaterSubmersionState State { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreMotion.CMWaterSubmersionManager

public class CMWaterSubmersionManager : Foundation.NSObject { // constructors public CMWaterSubmersionManager (); protected CMWaterSubmersionManager (Foundation.NSObjectFlag t); protected CMWaterSubmersionManager (IntPtr handle); // properties public static CMAuthorizationStatus AuthorizationStatus { get; } public override IntPtr ClassHandle { get; } public ICMWaterSubmersionManagerDelegate Delegate { get; set; } public static bool IsWaterSubmersionAvailable { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitLength> MaximumDepth { get; } public virtual Foundation.NSObject WeakDelegate { get; set; } // methods protected override void Dispose (bool disposing); }

New Type: CoreMotion.CMWaterSubmersionManagerDelegate

public abstract class CMWaterSubmersionManagerDelegate : Foundation.NSObject, ICMWaterSubmersionManagerDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CMWaterSubmersionManagerDelegate (); protected CMWaterSubmersionManagerDelegate (Foundation.NSObjectFlag t); protected CMWaterSubmersionManagerDelegate (IntPtr handle); // methods public virtual void DidUpdateEvent (CMWaterSubmersionManager manager, CMWaterSubmersionEvent event); public virtual void DidUpdateMeasurement (CMWaterSubmersionManager manager, CMWaterSubmersionMeasurement measurement); public virtual void DidUpdateTemperature (CMWaterSubmersionManager manager, CMWaterTemperature measurement); public virtual void ErrorOccurred (CMWaterSubmersionManager manager, Foundation.NSError error); }

New Type: CoreMotion.CMWaterSubmersionMeasurement

public class CMWaterSubmersionMeasurement : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CMWaterSubmersionMeasurement (); public CMWaterSubmersionMeasurement (Foundation.NSCoder coder); protected CMWaterSubmersionMeasurement (Foundation.NSObjectFlag t); protected CMWaterSubmersionMeasurement (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSDate Date { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitLength> Depth { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitPressure> Pressure { get; } public virtual CMWaterSubmersionDepthState SubmersionState { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitPressure> SurfacePressure { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreMotion.CMWaterSubmersionState

[Serializable] public enum CMWaterSubmersionState { NotSubmerged = 1, Submerged = 2, Unknown = 0, }

New Type: CoreMotion.CMWaterTemperature

public class CMWaterTemperature : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CMWaterTemperature (); public CMWaterTemperature (Foundation.NSCoder coder); protected CMWaterTemperature (Foundation.NSObjectFlag t); protected CMWaterTemperature (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSDate Date { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitTemperature> Temperature { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitTemperature> TemperatureUncertainty { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: CoreMotion.ICMWaterSubmersionManagerDelegate

public interface ICMWaterSubmersionManagerDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void DidUpdateEvent (CMWaterSubmersionManager manager, CMWaterSubmersionEvent event); public virtual void DidUpdateMeasurement (CMWaterSubmersionManager manager, CMWaterSubmersionMeasurement measurement); public virtual void DidUpdateTemperature (CMWaterSubmersionManager manager, CMWaterTemperature measurement); public virtual void ErrorOccurred (CMWaterSubmersionManager manager, Foundation.NSError error); }

Namespace CoreSpotlight

Type Changed: CoreSpotlight.CSSearchableIndex

Added constructors:

public CSSearchableIndex (string name, Foundation.NSFileProtectionType protectionClass, string bundleIdentifier, nint options); public CSSearchableIndex (string name, Foundation.NSString protectionClass, string bundleIdentifier, nint options);

Type Changed: CoreSpotlight.CSSuggestion

Added properties:

public virtual Foundation.NSNumber Score { get; } public virtual Foundation.NSObject[] SuggestionDataSources { get; }

Namespace CoreTelephony

Type Changed: CoreTelephony.CTCellularPlanProvisioningAddPlanResult

Added value:

Namespace EventKit

Type Changed: EventKit.EKAuthorizationStatus

Added value:

Type Changed: EventKit.EKEventStore

Added methods:

public virtual void RequestFullAccessToEvents (EKEventStoreRequestAccessCompletionHandler completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestFullAccessToEventsAsync (); public virtual void RequestFullAccessToReminders (EKEventStoreRequestAccessCompletionHandler completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestFullAccessToRemindersAsync (); public virtual void RequestWriteOnlyAccessToEvents (EKEventStoreRequestAccessCompletionHandler completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestWriteOnlyAccessToEventsAsync ();

New Type: EventKit.EKEventStoreRequestAccessCompletionHandler

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

Namespace Foundation

Type Changed: Foundation.DictionaryContainer

Added method:

protected T GetStrongDictionary (NSString key, System.Func<NSDictionary,T> createStrongDictionary);

Type Changed: Foundation.NSFileManager

Obsoleted properties:

[Obsolete ("Use the 'NSFileProtectionType' instead.")] public static NSString FileProtectionComplete { get; } [Obsolete ("Use the 'NSFileProtectionType' instead.")] public static NSString FileProtectionCompleteUnlessOpen { get; } [Obsolete ("Use the 'NSFileProtectionType' instead.")] public static NSString FileProtectionCompleteUntilFirstUserAuthentication { get; } [Obsolete ("Use the 'NSFileProtectionType' instead.")] public static NSString FileProtectionNone { get; }

Type Changed: Foundation.NSFileProviderService

Added methods:

public virtual void GetFileProviderConnection (System.Action<NSXpcConnection,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task GetFileProviderConnectionAsync ();

Type Changed: Foundation.NSUrl

Added methods:

public static NSUrl CreateFileUrl (string path); public static NSUrl CreateFileUrl (string path, bool isDir);

Type Changed: Foundation.NSUrlConnection

Obsoleted properties:

[Obsolete ("The NewsstandKit framework has been removed from iOS.")] public virtual NewsstandKit.NKAssetDownload NewsstandAssetDownload { get; }

Removed method:

protected override void Dispose (bool disposing);

New Type: Foundation.NSFileProtectionType

[Serializable] public enum NSFileProtectionType { Complete = 0, CompleteUnlessOpen = 1, CompleteUntilFirstUserAuthentication = 2, None = 3, }

New Type: Foundation.NSFileProtectionTypeExtensions

public static class NSFileProtectionTypeExtensions { // methods public static NSString GetConstant (this NSFileProtectionType self); public static NSFileProtectionType GetValue (NSString constant); }

Namespace HealthKit

Type Changed: HealthKit.HKErrorCode

Added values:

BackgroundWorkoutSessionNotAllowed = 14, DataSizeExceeded = 13, WorkoutActivityNotAllowed = 12,

Type Changed: HealthKit.HKHealthStore

Added properties:

public virtual UIKit.UIViewController AuthorizationViewControllerPresenter { get; set; } public virtual System.Action WorkoutSessionMirroringStartHandler { get; set; }

Type Changed: HealthKit.HKMetadataKey

Added properties:

public static Foundation.NSString AppleFitnessPlusSession { get; } public static Foundation.NSString CyclingFunctionalThresholdPowerTestType { get; } public static Foundation.NSString KeyActivityType { get; } public static Foundation.NSString MaximumLightIntensity { get; } public static Foundation.NSString PhysicalEffortEstimationType { get; } public static Foundation.NSString WaterSalinity { get; }

Type Changed: HealthKit.HKQuantityTypeIdentifier

Added values:

CyclingCadence = 103, CyclingFunctionalThresholdPower = 104, CyclingPower = 105, CyclingSpeed = 106, EnvironmentalSoundReduction = 107, PhysicalEffort = 108, TimeInDaylight = 109,

Type Changed: HealthKit.HKUnit

Added property:

public static HKUnit Lux { get; }

Added method:

public static HKUnit CreateLux (HKMetricPrefix prefix);

Type Changed: HealthKit.HKWorkoutActivityType

Added value:

New Type: HealthKit.HKCyclingFunctionalThresholdPowerTestType

[Serializable] public enum HKCyclingFunctionalThresholdPowerTestType { MaxExercise20Minute = 2, MaxExercise60Minute = 1, PredictionExercise = 4, RampTest = 3, }

New Type: HealthKit.HKPhysicalEffortEstimationType

[Serializable] public enum HKPhysicalEffortEstimationType { ActivityLookup = 1, DeviceSensed = 2, }

New Type: HealthKit.HKWaterSalinity

[Serializable] public enum HKWaterSalinity { FreshWater = 1, SaltWater = 2, }

New Type: HealthKit.HKWorkoutSession

public class HKWorkoutSession : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public HKWorkoutSession (Foundation.NSCoder coder); protected HKWorkoutSession (Foundation.NSObjectFlag t); protected HKWorkoutSession (IntPtr handle); // properties public virtual HKWorkoutActivityType ActivityType { get; } public override IntPtr ClassHandle { get; } public virtual HKWorkoutActivity CurrentActivity { get; } public IHKWorkoutSessionDelegate Delegate { get; set; } public virtual Foundation.NSDate EndDate { get; } public virtual HKWorkoutSessionLocationType LocationType { get; } public virtual Foundation.NSDate StartDate { get; } public virtual HKWorkoutSessionState State { get; } public virtual HKWorkoutSessionType Type { get; } public virtual Foundation.NSObject WeakDelegate { get; set; } public virtual HKWorkoutConfiguration WorkoutConfiguration { get; } // methods public virtual void BeginNewActivity (HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata); protected override void Dispose (bool disposing); public virtual void EncodeTo (Foundation.NSCoder encoder); public virtual void End (); public virtual void EndCurrentActivity (Foundation.NSDate date); public virtual void Pause (); public virtual void Prepare (); public virtual void Resume (); public virtual void SendDataToRemoteWorkoutSession (Foundation.NSData data, System.Action<System.Boolean,Foundation.NSError> completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> SendDataToRemoteWorkoutSessionAsync (Foundation.NSData data); public virtual void StartActivity (Foundation.NSDate date); public virtual void StopActivity (Foundation.NSDate date); }

New Type: HealthKit.HKWorkoutSessionDelegate

public abstract class HKWorkoutSessionDelegate : Foundation.NSObject, IHKWorkoutSessionDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected HKWorkoutSessionDelegate (); protected HKWorkoutSessionDelegate (Foundation.NSObjectFlag t); protected HKWorkoutSessionDelegate (IntPtr handle); // methods public virtual void DidBeginActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); public virtual void DidChangeToState (HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, Foundation.NSDate date); public virtual void DidDisconnect (HKWorkoutSession workoutSession, Foundation.NSError error); public virtual void DidEndActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); public virtual void DidFail (HKWorkoutSession workoutSession, Foundation.NSError error); public virtual void DidGenerateEvent (HKWorkoutSession workoutSession, HKWorkoutEvent event); public virtual void DidReceiveData (HKWorkoutSession workoutSession, Foundation.NSData[] data); }

New Type: HealthKit.HKWorkoutSessionDelegate_Extensions

public static class HKWorkoutSessionDelegate_Extensions { // methods public static void DidBeginActivity (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); public static void DidDisconnect (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, Foundation.NSError error); public static void DidEndActivity (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); public static void DidGenerateEvent (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, HKWorkoutEvent event); public static void DidReceiveData (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, Foundation.NSData[] data); }

New Type: HealthKit.HKWorkoutSessionState

[Serializable] public enum HKWorkoutSessionState { Ended = 3, NotStarted = 1, Paused = 4, Prepared = 5, Running = 2, Stopped = 6, }

New Type: HealthKit.HKWorkoutSessionType

[Serializable] public enum HKWorkoutSessionType { Mirrored = 1, Primary = 0, }

New Type: HealthKit.IHKWorkoutSessionDelegate

public interface IHKWorkoutSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void DidChangeToState (HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, Foundation.NSDate date); public virtual void DidFail (HKWorkoutSession workoutSession, Foundation.NSError error); }

Namespace HomeKit

Type Changed: HomeKit.HMServiceTypeExtensions

Added methods:

public static Foundation.NSString[] ToArray (this HMServiceType value); public static HMServiceType ToFlags (System.Collections.Generic.IEnumerable<Foundation.NSString> constants);

Namespace ImageIO

Type Changed: ImageIO.CGImageDestinationOptions

Added property:

public Foundation.NSDictionary AvisDictionary { get; set; }

Type Changed: ImageIO.CGImageDestinationOptionsKeys

Added property:

public static Foundation.NSString AvisDictionary { get; }

Type Changed: ImageIO.CGImageProperties

Added property:

public static Foundation.NSString AvisDictionary { get; }

New Type: ImageIO.CGImageDecodeOptions

public class CGImageDecodeOptions { // constructors public CGImageDecodeOptions (); }

Namespace Intents

Type Changed: Intents.INIntentErrorCode

Added values:

NoAppIntent = 10001, UnableToCreateAppIntentRepresentation = 10000,

Type Changed: Intents.INMessage

Added constructors:

public INMessage (string identifier, string conversationIdentifier, string content, Foundation.NSDate dateSent, INPerson sender, INPerson[] recipients, INSpeakableString groupName, string serviceName, INMessageLinkMetadata linkMetadata); public INMessage (string identifier, string conversationIdentifier, string content, Foundation.NSDate dateSent, INPerson sender, INPerson[] recipients, INSpeakableString groupName, INMessageType messageType, string serviceName, INFile[] attachmentFiles); public INMessage (string identifier, string conversationIdentifier, string content, Foundation.NSDate dateSent, INPerson sender, INPerson[] recipients, INSpeakableString groupName, string serviceName, INMessageType messageType, Foundation.NSNumber numberOfAttachments);

Added properties:

public virtual INFile[] AttachmentFiles { get; } public virtual INMessageLinkMetadata LinkMetadata { get; } public virtual int NumberOfAttachments { get; }

Type Changed: Intents.INMessageType

Added value:

Type Changed: Intents.INSearchForMessagesIntentResponseCode

Added value:

FailureRequiringInAppAuthentication = 8,

Type Changed: Intents.INSendMessageIntentResponseCode

Added value:

FailureRequiringInAppAuthentication = 7,

Type Changed: Intents.INSendMessageRecipientUnsupportedReason

Added value:

RequiringInAppAuthentication = 7,

Type Changed: Intents.INStartCallContactUnsupportedReason

Added value:

RequiringInAppAuthentication = 8,

Type Changed: Intents.INStartCallIntentResponseCode

Added value:

New Type: Intents.IINEditMessageIntentHandling

public interface IINEditMessageIntentHandling : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void HandleEditMessage (INEditMessageIntent intent, System.Action completion); }

New Type: Intents.IINUnsendMessagesIntentHandling

public interface IINUnsendMessagesIntentHandling : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void HandleUnsendMessages (INUnsendMessagesIntent intent, System.Action completion); }

New Type: Intents.INEditMessageIntent

public class INEditMessageIntent : Intents.INIntent { // constructors public INEditMessageIntent (); public INEditMessageIntent (Foundation.NSCoder coder); protected INEditMessageIntent (Foundation.NSObjectFlag t); protected INEditMessageIntent (IntPtr handle); public INEditMessageIntent (string messageIdentifier, string editedContent); // properties public override IntPtr ClassHandle { get; } public virtual string EditedContent { get; } public virtual string MessageIdentifier { get; } }

New Type: Intents.INEditMessageIntentHandling_Extensions

public static class INEditMessageIntentHandling_Extensions { // methods public static void ConfirmEditMessage (this IINEditMessageIntentHandling This, INEditMessageIntent intent, System.Action completion); public static void ResolveEditedContent (this IINEditMessageIntentHandling This, INEditMessageIntent intent, System.Action completion); }

New Type: Intents.INEditMessageIntentResponse

public class INEditMessageIntentResponse : Intents.INIntentResponse { // constructors public INEditMessageIntentResponse (Foundation.NSCoder coder); protected INEditMessageIntentResponse (Foundation.NSObjectFlag t); protected INEditMessageIntentResponse (IntPtr handle); public INEditMessageIntentResponse (INEditMessageIntentResponseCode code, Foundation.NSUserActivity userActivity); // properties public override IntPtr ClassHandle { get; } public virtual INEditMessageIntentResponseCode Code { get; } }

New Type: Intents.INEditMessageIntentResponseCode

[Serializable] public enum INEditMessageIntentResponseCode { Failure = 4, FailureMessageNotFound = 6, FailureMessageServiceNotAvailable = 10, FailureMessageTypeUnsupported = 8, FailurePastEditTimeLimit = 7, FailureRequiringAppLaunch = 5, FailureRequiringInAppAuthentication = 11, FailureUnsupportedOnService = 9, InProgress = 2, Ready = 1, Success = 3, Unspecified = 0, }

New Type: Intents.INMessageLinkMetadata

public class INMessageLinkMetadata : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public INMessageLinkMetadata (); public INMessageLinkMetadata (Foundation.NSCoder coder); protected INMessageLinkMetadata (Foundation.NSObjectFlag t); protected INMessageLinkMetadata (IntPtr handle); public INMessageLinkMetadata (string siteName, string summary, string title, string openGraphType, Foundation.NSUrl linkUrl); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSUrl LinkUrl { get; set; } public virtual string OpenGraphType { get; set; } public virtual string SiteName { get; set; } public virtual string Summary { get; set; } public virtual string Title { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: Intents.INUnsendMessagesIntent

public class INUnsendMessagesIntent : Intents.INIntent { // constructors public INUnsendMessagesIntent (); public INUnsendMessagesIntent (Foundation.NSCoder coder); protected INUnsendMessagesIntent (Foundation.NSObjectFlag t); protected INUnsendMessagesIntent (IntPtr handle); public INUnsendMessagesIntent (string[] messageIdentifiers); // properties public override IntPtr ClassHandle { get; } public virtual string[] MessageIdentifiers { get; } }

New Type: Intents.INUnsendMessagesIntentHandling_Extensions

public static class INUnsendMessagesIntentHandling_Extensions { // methods public static void ConfirmUnsendMessages (this IINUnsendMessagesIntentHandling This, INUnsendMessagesIntent intent, System.Action completion); }

New Type: Intents.INUnsendMessagesIntentResponse

public class INUnsendMessagesIntentResponse : Intents.INIntentResponse { // constructors public INUnsendMessagesIntentResponse (Foundation.NSCoder coder); protected INUnsendMessagesIntentResponse (Foundation.NSObjectFlag t); protected INUnsendMessagesIntentResponse (IntPtr handle); public INUnsendMessagesIntentResponse (INUnsendMessagesIntentResponseCode code, Foundation.NSUserActivity userActivity); // properties public override IntPtr ClassHandle { get; } public virtual INUnsendMessagesIntentResponseCode Code { get; } }

New Type: Intents.INUnsendMessagesIntentResponseCode

[Serializable] public enum INUnsendMessagesIntentResponseCode { Failure = 4, FailureMessageNotFound = 6, FailureMessageServiceNotAvailable = 10, FailureMessageTypeUnsupported = 8, FailurePastUnsendTimeLimit = 7, FailureRequiringAppLaunch = 5, FailureRequiringInAppAuthentication = 11, FailureUnsupportedOnService = 9, InProgress = 2, Ready = 1, Success = 3, Unspecified = 0, }

Namespace LocalAuthentication

Type Changed: LocalAuthentication.LABiometryType

Added value:

Namespace MapKit

Type Changed: MapKit.MKMapSnapshotOptions

Added property:

public virtual MKMapConfiguration PreferredConfiguration { get; set; }

Type Changed: MapKit.MKMapView

Added properties:

public virtual MKFeatureVisibility PitchButtonVisibility { get; set; } public virtual bool ShowsUserTrackingButton { get; set; }

Namespace MediaAccessibility

New Type: MediaAccessibility.MAFlashingLightsProcessor

public class MAFlashingLightsProcessor : Foundation.NSObject { // constructors public MAFlashingLightsProcessor (); protected MAFlashingLightsProcessor (Foundation.NSObjectFlag t); protected MAFlashingLightsProcessor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual bool CanProcess (IOSurface.IOSurface surface); public virtual MAFlashingLightsProcessorResult Process (IOSurface.IOSurface inSurface, IOSurface.IOSurface outSurface, double timestamp, Foundation.NSDictionary options); }

New Type: MediaAccessibility.MAFlashingLightsProcessorResult

public class MAFlashingLightsProcessorResult : Foundation.NSObject { // constructors public MAFlashingLightsProcessorResult (); protected MAFlashingLightsProcessorResult (Foundation.NSObjectFlag t); protected MAFlashingLightsProcessorResult (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual float IntensityLevel { get; } public virtual float MitigationLevel { get; } public virtual bool SurfaceProcessed { get; } }

Namespace MessageUI

Type Changed: MessageUI.MFMessageComposeViewController

Added methods:

public virtual void SetUpiVerificationCodeSendCompletion (System.Action completion); public virtual System.Threading.Tasks.Task SetUpiVerificationCodeSendCompletionAsync ();

Namespace Messages

Type Changed: Messages.MSSticker

Added constructor:

public MSSticker (Foundation.NSUrl url, Foundation.NSUuid identifier, string localizedDescription);

Namespace MetricKit

Type Changed: MetricKit.MXCrashDiagnostic

Added property:

public virtual MXCrashDiagnosticObjectiveCExceptionReason ExceptionReason { get; }

Type Changed: MetricKit.MXDiagnostic

Added property:

public virtual MXSignpostRecord[] SignpostData { get; }

Type Changed: MetricKit.MXMetaData

Added properties:

public virtual bool IsTestFlightApp { get; } public virtual bool LowPowerModeEnabled { get; } public virtual int Pid { get; }

New Type: MetricKit.MXCrashDiagnosticObjectiveCExceptionReason

public class MXCrashDiagnosticObjectiveCExceptionReason : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MXCrashDiagnosticObjectiveCExceptionReason (); public MXCrashDiagnosticObjectiveCExceptionReason (Foundation.NSCoder coder); protected MXCrashDiagnosticObjectiveCExceptionReason (Foundation.NSObjectFlag t); protected MXCrashDiagnosticObjectiveCExceptionReason (IntPtr handle); // properties public virtual string[] Arguments { get; } public override IntPtr ClassHandle { get; } public virtual string ClassName { get; } public virtual string ComposedMessage { get; } public virtual Foundation.NSDictionary DictionaryRepresentation { get; } public virtual string ExceptionName { get; } public virtual string ExceptionType { get; } public virtual string FormatString { get; } public virtual Foundation.NSData JsonRepresentation { get; } // methods public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: MetricKit.MXSignpostRecord

public class MXSignpostRecord : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MXSignpostRecord (); public MXSignpostRecord (Foundation.NSCoder coder); protected MXSignpostRecord (Foundation.NSObjectFlag t); protected MXSignpostRecord (IntPtr handle); // properties public virtual Foundation.NSDate BeginTimeStamp { get; } public virtual string Category { get; } public override IntPtr ClassHandle { get; } public virtual Foundation.NSDictionary DictionaryRepresentation { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitDuration> Duration { get; } public virtual Foundation.NSDate EndTimeStamp { get; } public virtual bool IsInterval { get; } public virtual Foundation.NSData JsonRepresentation { get; } public virtual string Name { get; } public virtual string Subsystem { get; } // methods public virtual void EncodeTo (Foundation.NSCoder encoder); }

Namespace NaturalLanguage

New Type: NaturalLanguage.NLContextualEmbedding

public class NLContextualEmbedding : Foundation.NSObject { // constructors protected NLContextualEmbedding (Foundation.NSObjectFlag t); protected NLContextualEmbedding (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual nuint Dimension { get; } public virtual bool HasAvailableAssets { get; } public virtual string[] Languages { get; } public virtual nuint MaximumSequenceLength { get; } public virtual string ModelIdentifier { get; } public virtual nuint Revision { get; } public virtual string[] Scripts { get; } // methods public static NLContextualEmbedding[] Create (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> values); public static NLContextualEmbedding CreateWithLanguage (string language); public static NLContextualEmbedding CreateWithModelIdentifier (string modelIdentifier); public static NLContextualEmbedding CreateWithScript (string script); public virtual NLContextualEmbeddingResult GetEmbeddingResult (string string, string language, out Foundation.NSError error); public virtual bool Load (out Foundation.NSError error); public virtual void RequestAssets (System.Action<NLContextualEmbeddingAssetsResult,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task RequestAssetsAsync (); public virtual void Unload (); }

New Type: NaturalLanguage.NLContextualEmbeddingAssetsResult

[Serializable] public enum NLContextualEmbeddingAssetsResult { Available = 0, Error = 2, NotAvailable = 1, }

New Type: NaturalLanguage.NLContextualEmbeddingResult

public class NLContextualEmbeddingResult : Foundation.NSObject { // constructors protected NLContextualEmbeddingResult (Foundation.NSObjectFlag t); protected NLContextualEmbeddingResult (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual string Language { get; } public virtual nuint SequenceLength { get; } public virtual string String { get; } // methods public virtual void EnumerateTokenVectors (Foundation.NSRange range, TokenVectorEnumeratorHandler enumerationHandler); public virtual nuint[] GetVector (nuint characterIndex, ref Foundation.NSRange tokenRange); }

New Type: NaturalLanguage.NLContextualEmebeddingKey

[Serializable] public enum NLContextualEmebeddingKey { Languages = 0, Revision = 2, Scripts = 1, }

New Type: NaturalLanguage.NLContextualEmebeddingKeyExtensions

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

New Type: NaturalLanguage.NLScript

[Serializable] public enum NLScript { Arabic = 1, Armenian = 2, Bengali = 3, CanadianAboriginalSyllabics = 4, Cherokee = 5, Cyrillic = 6, Devanagari = 7, Ethiopic = 8, Georgian = 9, Greek = 10, Gujarati = 11, Gurmukhi = 12, Hebrew = 13, Japanese = 14, Kannada = 15, Khmer = 16, Korean = 17, Lao = 18, Latin = 19, Malayalam = 20, Mongolian = 21, Myanmar = 22, Oriya = 23, SimplifiedChinese = 24, Sinhala = 25, Tamil = 26, Telugu = 27, Thai = 28, Tibetan = 29, TraditionalChinese = 30, Undetermined = 0, }

New Type: NaturalLanguage.NLScriptExtensions

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

New Type: NaturalLanguage.TokenVectorEnumeratorHandler

public sealed delegate TokenVectorEnumeratorHandler : System.MulticastDelegate { // constructors public TokenVectorEnumeratorHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (Foundation.NSArray<Foundation.NSNumber> tokenVector, Foundation.NSRange tokenRange, out bool stop, System.AsyncCallback callback, object object); public virtual void EndInvoke (out bool stop, System.IAsyncResult result); public virtual void Invoke (Foundation.NSArray<Foundation.NSNumber> tokenVector, Foundation.NSRange tokenRange, out bool stop); }

Namespace NetworkExtension

Type Changed: NetworkExtension.NEVpnIke2CertificateType

Added value:

Type Changed: NetworkExtension.NEVpnIke2DiffieHellman

Added value:

New Type: NetworkExtension.NEFailureHandlerProvider

public class NEFailureHandlerProvider : NetworkExtension.NEProvider { // constructors protected NEFailureHandlerProvider (Foundation.NSObjectFlag t); protected NEFailureHandlerProvider (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual void HandleFailure (Foundation.NSError error, System.Action completionHandler); public virtual System.Threading.Tasks.Task HandleFailureAsync (Foundation.NSError error); }

New Type: NetworkExtension.NERelay

public class NERelay : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NERelay (); public NERelay (Foundation.NSCoder coder); protected NERelay (Foundation.NSObjectFlag t); protected NERelay (IntPtr handle); // properties public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> AdditionalHttpHeaderFields { get; set; } public override IntPtr ClassHandle { get; } public static Foundation.NSString ConfigurationDidChangeNotification { get; } public virtual Foundation.NSUrl DnsOverHttpsUrl { get; set; } public static Foundation.NSString ErrorDomain { get; } public virtual Foundation.NSUrl Http2RelayUrl { get; set; } public virtual Foundation.NSUrl Http3RelayUrl { get; set; } public virtual Foundation.NSData IdentityData { get; set; } public virtual string IdentityDataPassword { get; set; } public virtual Foundation.NSData[] RawPublicKeys { get; set; } public virtual string SyntheticDnsAnswerIPv4Prefix { get; set; } public virtual string SyntheticDnsAnswerIPv6Prefix { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder);

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

}

New Type: NetworkExtension.NERelayManager

public class NERelayManager : Foundation.NSObject { // constructors public NERelayManager (); protected NERelayManager (Foundation.NSObjectFlag t); protected NERelayManager (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool Enabled { get; set; } public virtual string[] ExcludedDomains { get; set; } public virtual string LocalizedDescription { get; set; } public virtual string[] MatchDomains { get; set; } public virtual NEOnDemandRule[] OnDemandRules { get; set; } public virtual NERelay[] Relays { get; set; } public static NERelayManager Shared { get; } // methods public static void LoadAllManagersFromPreferences (System.Action<Foundation.NSArray> completionHandler); public static System.Threading.Tasks.Task<Foundation.NSArray> LoadAllManagersFromPreferencesAsync (); public virtual void LoadFromPreferences (System.Action<Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task LoadFromPreferencesAsync (); public virtual void RemoveFromPreferences (System.Action<Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task RemoveFromPreferencesAsync (); public virtual void SaveToPreferences (System.Action<Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task SaveToPreferencesAsync (); }

New Type: NetworkExtension.NERelayManagerError

[Serializable] public enum NERelayManagerError { CannotBeRemoved = 4, Disabled = 2, Invalid = 1, Stale = 3, }

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "16.4"; +public const string SdkVersion = "17.0"; -public const string Version = "16.4.0"; +public const string Version = "17.1.0";

Added fields:

public static const string CinematicLibrary = "/System/Library/Frameworks/Cinematic.framework/Cinematic"; public static const string SensitiveContentAnalysisLibrary = "/System/Library/Frameworks/SensitiveContentAnalysis.framework/SensitiveContentAnalysis"; public static const string SymbolsLibrary = "/System/Library/Frameworks/Symbols.framework/Symbols";

Namespace PassKit

Type Changed: PassKit.PKContactFieldsExtensions

Added methods:

public static Foundation.NSString[] ToArray (this PKContactFields value); public static PKContactFields ToFlags (System.Collections.Generic.IEnumerable<Foundation.NSString> constants);

Type Changed: PassKit.PKDisbursementAuthorizationControllerDelegate

Modified methods:

-public abstract void DidAuthorize (PKDisbursementAuthorizationController controller, PKDisbursementVoucher disbursementVoucher) +public virtual void DidAuthorize (PKDisbursementAuthorizationController controller, PKDisbursementVoucher disbursementVoucher) -public abstract void DidFinish (PKDisbursementAuthorizationController controller) +public virtual void DidFinish (PKDisbursementAuthorizationController controller)

Type Changed: PassKit.PKDisbursementRequest

Obsoleted properties:

[Obsolete ("This property is removed.")] public virtual Foundation.NSDecimalNumber Amount { get; set; } [Obsolete ("This property is removed.")] public virtual string CountryCode { get; set; } [Obsolete ("This property is removed.")] public virtual PKDisbursementRequestSchedule RequestSchedule { get; set; }

Namespace PdfKit

Type Changed: PdfKit.PdfAnnotation

Added property:

public virtual bool ActivatableTextField { get; }

Namespace PencilKit

Type Changed: PencilKit.PKCanvasView

Added property:

public virtual PKContentVersion MaximumSupportedContentVersion { get; set; }

Type Changed: PencilKit.PKDrawing

Added property:

public virtual PKContentVersion RequiredContentVersion { get; }

Type Changed: PencilKit.PKInk

Added property:

public virtual PKContentVersion RequiredContentVersion { get; }

Type Changed: PencilKit.PKInkType

Added values:

Crayon = 6, FountainPen = 4, Monoline = 3, Watercolor = 5,

Type Changed: PencilKit.PKInkingTool

Added property:

public virtual PKContentVersion RequiredContentVersion { get; }

Type Changed: PencilKit.PKStroke

Added property:

public virtual PKContentVersion RequiredContentVersion { get; }

Type Changed: PencilKit.PKStrokePoint

Added constructor:

public PKStrokePoint (CoreGraphics.CGPoint location, double timeOffset, CoreGraphics.CGSize size, nfloat opacity, nfloat force, nfloat azimuth, nfloat altitude, nfloat secondaryScale);

Added property:

public virtual nfloat SecondaryScale { get; }

Type Changed: PencilKit.PKToolPicker

Added property:

public virtual PKContentVersion MaximumSupportedContentVersion { get; set; }

New Type: PencilKit.PKContentVersion

[Serializable] public enum PKContentVersion { Version1 = 1, Version2 = 2, }

Namespace Photos

Type Changed: Photos.PHAssetResourceType

Added value:

Type Changed: Photos.PHContentEditingOutput

Added properties:

public virtual UniformTypeIdentifiers.UTType DefaultRenderedContentType { get; } public virtual UniformTypeIdentifiers.UTType[] SupportedRenderedContentTypes { get; }

Added method:

public virtual Foundation.NSUrl GetRenderedContentUrl (UniformTypeIdentifiers.UTType type, out Foundation.NSError error);

Type Changed: Photos.PHImageRequestOptions

Added property:

public virtual bool AllowSecondaryDegradedImage { get; set; }

Type Changed: Photos.PHVideoRequestOptions

Added interfaces:

Foundation.INSCopying ObjCRuntime.INativeObject System.IDisposable

Added method:

public virtual Foundation.NSObject Copy (Foundation.NSZone zone);

Namespace PhotosUI

Type Changed: PhotosUI.PHLivePhotoView

Added property:

public virtual CoreGraphics.CGRect ContentsRect { get; set; }

Type Changed: PhotosUI.PHPickerConfiguration

Added properties:

public virtual PHPickerCapabilities DisabledCapabilities { get; set; } public virtual UIKit.NSDirectionalRectEdge EdgesWithoutContentMargins { get; set; } public virtual PHPickerMode Mode { get; set; }

Type Changed: PhotosUI.PHPickerConfigurationSelection

Added values:

Continuous = 2, ContinuousAndOrdered = 3,

Type Changed: PhotosUI.PHPickerViewController

Added methods:

public virtual void ScrollToInitialPosition (); public virtual void UpdatePicker (PHPickerUpdateConfiguration configuration); public virtual void ZoomIn (); public virtual void ZoomOut ();

New Type: PhotosUI.PHPickerCapabilities

[Serializable] [Flags] public enum PHPickerCapabilities { CollectionNavigation = 4, None = 0, Search = 1, SelectionActions = 8, SensitivityAnalysisIntervention = 16, StagingArea = 2, }

New Type: PhotosUI.PHPickerMode

[Serializable] public enum PHPickerMode { Compact = 1, Default = 0, }

New Type: PhotosUI.PHPickerUpdateConfiguration

public class PHPickerUpdateConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public PHPickerUpdateConfiguration (); public PHPickerUpdateConfiguration (Foundation.NSCoder coder); protected PHPickerUpdateConfiguration (Foundation.NSObjectFlag t); protected PHPickerUpdateConfiguration (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual UIKit.NSDirectionalRectEdge EdgesWithoutContentMargins { get; set; } public virtual nint SelectionLimit { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

Namespace PushToTalk

Type Changed: PushToTalk.PTChannelManager

Added methods:

public virtual void SetAccessoryButtonEvents (bool enabled, Foundation.NSUuid channelUuid, System.Action<Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task SetAccessoryButtonEventsAsync (bool enabled, Foundation.NSUuid channelUuid);

Namespace SafariServices

Type Changed: SafariServices.SFContentBlockerManager

Obsoleted constructors:

[Obsolete ("Constructor marked as unavailable.")] public SFContentBlockerManager ();

Type Changed: SafariServices.SFExtension

Added property:

public static Foundation.NSString ProfileKey { get; }

Namespace SceneKit

Type Changed: SceneKit.SCNRenderer

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Type Changed: SceneKit.SCNSceneRenderer

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Type Changed: SceneKit.SCNSceneRenderer_Extensions

Added method:

public static CoreGraphics.CGColorSpace GetWorkingColorSpace (this ISCNSceneRenderer This);

Type Changed: SceneKit.SCNView

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Namespace Security

Type Changed: Security.SecKeyAlgorithm

Added values:

EcdsaSignatureDigestRfc4754 = 76, EcdsaSignatureDigestRfc4754Sha1 = 77, EcdsaSignatureDigestRfc4754Sha224 = 78, EcdsaSignatureDigestRfc4754Sha256 = 79, EcdsaSignatureDigestRfc4754Sha384 = 80, EcdsaSignatureDigestRfc4754Sha512 = 81, EcdsaSignatureMessageRfc4754Sha1 = 82, EcdsaSignatureMessageRfc4754Sha224 = 83, EcdsaSignatureMessageRfc4754Sha256 = 84, EcdsaSignatureMessageRfc4754Sha384 = 85, EcdsaSignatureMessageRfc4754Sha512 = 86,

Namespace ShazamKit

Type Changed: ShazamKit.SHErrorCode

Added value:

MediaItemFetchFailed = 600,

Type Changed: ShazamKit.SHMediaItem

Added property:

public virtual Foundation.NSDate CreationDate { get; }

Type Changed: ShazamKit.SHMediaItemProperty

Added value:

Namespace Speech

Type Changed: Speech.SFSpeechRecognitionRequest

Added property:

public virtual SFSpeechLanguageModelConfiguration CustomizedLanguageModel { get; set; }

New Type: Speech.SFAnalysisContextTag

public class SFAnalysisContextTag { // constructors public SFAnalysisContextTag (); // properties public static Foundation.NSString LeftContext { get; } public static Foundation.NSString RightContext { get; } public static Foundation.NSString SelectedText { get; } }

New Type: Speech.SFSpeechErrorCode

[Serializable] public enum SFSpeechErrorCode { InternalServiceError = 1, MalformedSupplementalModel = 8, UndefinedTemplateClassName = 7, }

New Type: Speech.SFSpeechErrorCodeExtensions

public static class SFSpeechErrorCodeExtensions { // methods public static Foundation.NSString GetDomain (this SFSpeechErrorCode self); }

New Type: Speech.SFSpeechLanguageModel

public class SFSpeechLanguageModel : Foundation.NSObject { // constructors protected SFSpeechLanguageModel (Foundation.NSObjectFlag t); protected SFSpeechLanguageModel (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public static void PrepareCustomModel (Foundation.NSUrl asset, string clientIdentifier, SFSpeechLanguageModelConfiguration configuration, System.Action<Foundation.NSError> completion); public static void PrepareCustomModel (Foundation.NSUrl asset, string clientIdentifier, SFSpeechLanguageModelConfiguration configuration, bool ignoresCache, System.Action<Foundation.NSError> completion); public static System.Threading.Tasks.Task PrepareCustomModelAsync (Foundation.NSUrl asset, string clientIdentifier, SFSpeechLanguageModelConfiguration configuration); public static System.Threading.Tasks.Task PrepareCustomModelAsync (Foundation.NSUrl asset, string clientIdentifier, SFSpeechLanguageModelConfiguration configuration, bool ignoresCache); }

New Type: Speech.SFSpeechLanguageModelConfiguration

public class SFSpeechLanguageModelConfiguration : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SFSpeechLanguageModelConfiguration (); protected SFSpeechLanguageModelConfiguration (Foundation.NSObjectFlag t); public SFSpeechLanguageModelConfiguration (Foundation.NSUrl languageModel); protected SFSpeechLanguageModelConfiguration (IntPtr handle); public SFSpeechLanguageModelConfiguration (Foundation.NSUrl languageModel, Foundation.NSUrl vocabulary); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSUrl LanguageModel { get; } public virtual Foundation.NSUrl Vocabulary { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); }

Namespace UniformTypeIdentifiers

Type Changed: UniformTypeIdentifiers.UTTypes

Added property:

public static UTType Ahap { get; }

New Namespace Cinematic

New Type: Cinematic.CNAssetInfo

public class CNAssetInfo : Foundation.NSObject { // constructors protected CNAssetInfo (Foundation.NSObjectFlag t); protected CNAssetInfo (IntPtr handle); // properties public virtual AVFoundation.AVAssetTrack[] AllCinematicTracks { get; } public virtual AVFoundation.AVAsset Asset { get; } public virtual AVFoundation.AVAssetTrack CinematicDisparityTrack { get; } public virtual AVFoundation.AVAssetTrack CinematicMetadataTrack { get; } public virtual AVFoundation.AVAssetTrack CinematicVideoTrack { get; } public override IntPtr ClassHandle { get; } public virtual AVFoundation.AVAssetTrack FrameTimingTrack { get; } public virtual CoreGraphics.CGSize NaturalSize { get; } public virtual CoreGraphics.CGSize PreferredSize { get; } public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; } public virtual Foundation.NSNumber[] SampleDataTrackIds { get; } public virtual CoreMedia.CMTimeRange TimeRange { get; } public virtual Foundation.NSNumber[] VideoCompositionTrackIds { get; } public virtual AVFoundation.AVAssetTrack[] VideoCompositionTracks { get; } // methods public static void CheckIfCinematic (AVFoundation.AVAsset asset, System.Action completionHandler); public static System.Threading.Tasks.Task CheckIfCinematicAsync (AVFoundation.AVAsset asset); public static void LoadFromAsset (AVFoundation.AVAsset asset, System.Action<CNAssetInfo,Foundation.NSError> completionHandler); public static System.Threading.Tasks.Task LoadFromAssetAsync (AVFoundation.AVAsset asset); }

New Type: Cinematic.CNBoundsPrediction

public class CNBoundsPrediction : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CNBoundsPrediction (); protected CNBoundsPrediction (Foundation.NSObjectFlag t); protected CNBoundsPrediction (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual float Confidence { get; set; } public virtual CoreGraphics.CGRect NormalizedBounds { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone); }

New Type: Cinematic.CNCinematicErrorCode

[Serializable] public enum CNCinematicErrorCode { Cancelled = 7, Incompatible = 6, Incomplete = 3, Malformed = 4, Unknown = 1, Unreadable = 2, Unsupported = 5, }

New Type: Cinematic.CNCinematicErrorCodeExtensions

public static class CNCinematicErrorCodeExtensions { // methods public static Foundation.NSString GetDomain (this CNCinematicErrorCode self); }

New Type: Cinematic.CNCompositionInfo

public class CNCompositionInfo : Cinematic.CNAssetInfo { // constructors public CNCompositionInfo (); protected CNCompositionInfo (Foundation.NSObjectFlag t); protected CNCompositionInfo (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual bool InsertTimeRange (CoreMedia.CMTimeRange timeRange, CNAssetInfo assetInfo, CoreMedia.CMTime startTime, out Foundation.NSError outError); }

New Type: Cinematic.CNCustomDetectionTrack

public class CNCustomDetectionTrack : Cinematic.CNDetectionTrack { // constructors public CNCustomDetectionTrack (); protected CNCustomDetectionTrack (Foundation.NSObjectFlag t); protected CNCustomDetectionTrack (IntPtr handle); public CNCustomDetectionTrack (CNDetection[] detections, bool applySmoothing); // properties public virtual CNDetection[] AllDetections { get; } public override IntPtr ClassHandle { get; } }

New Type: Cinematic.CNDecision

public class CNDecision : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CNDecision (Foundation.NSObjectFlag t); protected CNDecision (IntPtr handle); public CNDecision (CoreMedia.CMTime time, long detectionId, bool isStrong, CNDecisionIdentifierType identifierType); // properties public override IntPtr ClassHandle { get; } public virtual long DetectionGroupId { get; } public virtual long DetectionId { get; } public virtual bool GroupDecision { get; } public virtual bool StrongDecision { get; } public virtual CoreMedia.CMTime Time { get; } public virtual bool UserDecision { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); }

New Type: Cinematic.CNDecisionIdentifierType

[Serializable] public enum CNDecisionIdentifierType { Group = 1, Single = 0, }

New Type: Cinematic.CNDetection

public class CNDetection : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CNDetection (Foundation.NSObjectFlag t); protected CNDetection (IntPtr handle); public CNDetection (CoreMedia.CMTime time, CNDetectionType detectionType, CoreGraphics.CGRect normalizedRect, float focusDisparity); // properties public override IntPtr ClassHandle { get; } public virtual long DetectionGroupId { get; } public virtual long DetectionId { get; } public virtual CNDetectionType DetectionType { get; } public virtual float FocusDisparity { get; } public virtual CoreGraphics.CGRect NormalizedRect { get; } public virtual CoreMedia.CMTime Time { get; } // methods public static string AccessibilityLabelForDetectionType (CNDetectionType detectionType); public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static float DisparityInNormalizedRect (CoreGraphics.CGRect normalizedRect, CoreVideo.CVPixelBuffer sourceDisparity, CNDetectionType detectionType, float priorDisparity); public static bool IsValidDetectionGroupId (long detectionGroupId); public static bool IsValidDetectionId (long detectionId); }

New Type: Cinematic.CNDetectionTrack

public class CNDetectionTrack : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CNDetectionTrack (Foundation.NSObjectFlag t); protected CNDetectionTrack (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual long DetectionGroupId { get; } public virtual long DetectionId { get; } public virtual CNDetectionType DetectionType { get; } public virtual bool Discrete { get; } public virtual bool UserCreated { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual CNDetection GetDetectionAtOrBeforeTime (CoreMedia.CMTime time); public virtual CNDetection GetDetectionNearestTime (CoreMedia.CMTime time); public virtual CNDetection[] GetDetectionsInTimeRange (CoreMedia.CMTimeRange timeRange); }

New Type: Cinematic.CNDetectionType

[Serializable] public enum CNDetectionType { AutoFocus = 100, CatBody = 4, CatHead = 9, Custom = 102, DogBody = 5, DogHead = 10, FixedFocus = 101, HumanFace = 1, HumanHead = 2, HumanTorso = 3, SportsBall = 11, Unknown = 0, }

New Type: Cinematic.CNFixedDetectionTrack

public class CNFixedDetectionTrack : Cinematic.CNDetectionTrack { // constructors public CNFixedDetectionTrack (); public CNFixedDetectionTrack (CNDetection originalDetection); protected CNFixedDetectionTrack (Foundation.NSObjectFlag t); protected CNFixedDetectionTrack (IntPtr handle); public CNFixedDetectionTrack (float focusDisparity); // properties public override IntPtr ClassHandle { get; } public virtual float FocusDisparity { get; } public virtual CNDetection OriginalDetection { get; } }

New Type: Cinematic.CNObjectTracker

public class CNObjectTracker : Foundation.NSObject { // constructors protected CNObjectTracker (Foundation.NSObjectFlag t); public CNObjectTracker (Metal.IMTLCommandQueue commandQueue); protected CNObjectTracker (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CNDetectionTrack FinishDetectionTrack { get; } public static bool IsSupported { get; } // methods public virtual CNBoundsPrediction ContinueTracking (CoreMedia.CMTime atTime, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity); public virtual CNBoundsPrediction FindObject (CoreGraphics.CGPoint point, CoreVideo.CVPixelBuffer sourceImage); public virtual void ResetDetectionTrack (); public virtual bool StartTracking (CoreMedia.CMTime atTime, CoreGraphics.CGRect normalizedBounds, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity); }

New Type: Cinematic.CNRenderingQuality

[Serializable] public enum CNRenderingQuality { Export = 2, ExportHigh = 3, Preview = 1, Thumbnail = 0, }

New Type: Cinematic.CNRenderingSession

public class CNRenderingSession : Foundation.NSObject { // constructors protected CNRenderingSession (Foundation.NSObjectFlag t); protected CNRenderingSession (IntPtr handle); public CNRenderingSession (Metal.IMTLCommandQueue commandQueue, CNRenderingSessionAttributes sessionAttributes, CoreGraphics.CGAffineTransform preferredTransform, CNRenderingQuality quality); // properties public override IntPtr ClassHandle { get; } public virtual Metal.IMTLCommandQueue CommandQueue { get; } public static Foundation.NSNumber[] DestinationPixelFormatTypes { get; } public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; } public virtual CNRenderingQuality Quality { get; } public virtual CNRenderingSessionAttributes SessionAttributes { get; } public static Foundation.NSNumber[] SourcePixelFormatTypes { get; } // methods public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, CoreVideo.CVPixelBuffer destinationImage); public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, Metal.IMTLTexture destinationRgba); public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, Metal.IMTLTexture destinationLuma, Metal.IMTLTexture destinationChroma); }

New Type: Cinematic.CNRenderingSessionAttributes

public class CNRenderingSessionAttributes : Foundation.NSObject { // constructors protected CNRenderingSessionAttributes (Foundation.NSObjectFlag t); protected CNRenderingSessionAttributes (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual nint RenderingVersion { get; } // methods public static void Load (AVFoundation.AVAsset asset, System.Action<CNRenderingSessionAttributes,Foundation.NSError> completionHandler); public static System.Threading.Tasks.Task LoadAsync (AVFoundation.AVAsset asset); }

New Type: Cinematic.CNRenderingSessionFrameAttributes

public class CNRenderingSessionFrameAttributes : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CNRenderingSessionFrameAttributes (Foundation.NSObjectFlag t); protected CNRenderingSessionFrameAttributes (IntPtr handle); public CNRenderingSessionFrameAttributes (AVFoundation.AVTimedMetadataGroup metadataGroup, CNRenderingSessionAttributes sessionAttributes); public CNRenderingSessionFrameAttributes (CoreMedia.CMSampleBuffer sampleBuffer, CNRenderingSessionAttributes sessionAttributes); // properties public override IntPtr ClassHandle { get; } public virtual float FNumber { get; set; } public virtual float FocusDisparity { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone); }

New Type: Cinematic.CNScript

public class CNScript : Foundation.NSObject { // constructors protected CNScript (Foundation.NSObjectFlag t); protected CNScript (IntPtr handle); // properties public virtual CNDetectionTrack[] AddedDetectionTracks { get; } public virtual CNScriptChanges Changes { get; } public override IntPtr ClassHandle { get; } public virtual float FNumber { get; set; } public virtual CoreMedia.CMTimeRange TimeRange { get; } // methods public virtual long AddDetectionTrack (CNDetectionTrack detectionTrack); public virtual bool AddUserDecision (CNDecision decision); public virtual CNDecision[] GetBaseDecisions (CoreMedia.CMTimeRange timeRange); public virtual CNScriptChanges GetChangesTrimmed (CoreMedia.CMTimeRange timeRange); public virtual CNDecision GetDecision (CoreMedia.CMTime time, CoreMedia.CMTime tolerance); public virtual CNDecision GetDecisionAfterTime (CoreMedia.CMTime time); public virtual CNDecision GetDecisionBeforeTime (CoreMedia.CMTime time); public virtual CNDecision[] GetDecisions (CoreMedia.CMTimeRange timeRange); public virtual CNDetectionTrack GetDetectionTrack (CNDecision decision); public virtual CNDetectionTrack GetDetectionTrackForId (long detectionId); public virtual CNScriptFrame GetFrame (CoreMedia.CMTime time, CoreMedia.CMTime tolerance); public virtual CNScriptFrame[] GetFrames (CoreMedia.CMTimeRange timeRange); public virtual CNDecision GetPrimaryDecision (CoreMedia.CMTime time); public virtual CNDecision GetSecondaryDecision (CoreMedia.CMTime time); public virtual CoreMedia.CMTimeRange GetTimeRangeOfTransitionAfterDecision (CNDecision decision); public virtual CoreMedia.CMTimeRange GetTimeRangeOfTransitionBeforeDecision (CNDecision decision); public virtual CNDecision[] GetUserDecisions (CoreMedia.CMTimeRange timeRange); public static void Load (AVFoundation.AVAsset asset, CNScriptChanges changes, Foundation.NSProgress progress, System.Action<CNScript,Foundation.NSError> completionHandler); public static System.Threading.Tasks.Task LoadAsync (AVFoundation.AVAsset asset, CNScriptChanges changes, Foundation.NSProgress progress); public virtual void Reload (CNScriptChanges changes); public virtual void RemoveAllUserDecisions (); public virtual bool RemoveDetectionTrack (CNDetectionTrack detectionTrack); public virtual bool RemoveUserDecision (CNDecision decision); }

New Type: Cinematic.CNScriptChanges

public class CNScriptChanges : Foundation.NSObject { // constructors public CNScriptChanges (Foundation.NSData dataRepresentation); protected CNScriptChanges (Foundation.NSObjectFlag t); protected CNScriptChanges (IntPtr handle); // properties public virtual CNDetectionTrack[] AddedDetectionTracks { get; } public override IntPtr ClassHandle { get; } public virtual Foundation.NSData DataRepresentation { get; } public virtual float FNumber { get; } public virtual CNDecision[] UserDecisions { get; } }

New Type: Cinematic.CNScriptFrame

public class CNScriptFrame : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CNScriptFrame (Foundation.NSObjectFlag t); protected CNScriptFrame (IntPtr handle); // properties public virtual CNDetection[] AllDetections { get; } public override IntPtr ClassHandle { get; } public virtual CNDetection FocusDetection { get; } public virtual float FocusDisparity { get; } public virtual CoreMedia.CMTime Time { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual CNDetection GetBestDetectionForGroupId (long detectionGroupId); public virtual CNDetection GetDetectionForId (long detectionId); }

New Namespace SensitiveContentAnalysis

New Type: SensitiveContentAnalysis.SCSensitivityAnalysis

public class SCSensitivityAnalysis : Foundation.NSObject { // constructors protected SCSensitivityAnalysis (Foundation.NSObjectFlag t); protected SCSensitivityAnalysis (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool Sensitive { get; } }

New Type: SensitiveContentAnalysis.SCSensitivityAnalysisPolicy

[Serializable] public enum SCSensitivityAnalysisPolicy { DescriptiveInterventions = 2, Disabled = 0, SimpleInterventions = 1, }

New Type: SensitiveContentAnalysis.SCSensitivityAnalyzer

public class SCSensitivityAnalyzer : Foundation.NSObject { // constructors public SCSensitivityAnalyzer (); protected SCSensitivityAnalyzer (Foundation.NSObjectFlag t); protected SCSensitivityAnalyzer (IntPtr handle); // properties public virtual SCSensitivityAnalysisPolicy AnalysisPolicy { get; } public override IntPtr ClassHandle { get; } // methods public virtual void AnalyzeImage (CoreGraphics.CGImage image, System.Action<SCSensitivityAnalysis,Foundation.NSError> completionHandler); public virtual void AnalyzeImage (Foundation.NSUrl fileUrl, System.Action<SCSensitivityAnalysis,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task AnalyzeImageAsync (CoreGraphics.CGImage image); public virtual System.Threading.Tasks.Task AnalyzeImageAsync (Foundation.NSUrl fileUrl); public virtual Foundation.NSProgress AnalyzeVideo (Foundation.NSUrl fileUrl, System.Action<SCSensitivityAnalysis,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task AnalyzeVideoAsync (Foundation.NSUrl fileUrl); public virtual System.Threading.Tasks.Task AnalyzeVideoAsync (Foundation.NSUrl fileUrl, out Foundation.NSProgress result); }

New Namespace Symbols

New Type: Symbols.NSSymbolAppearEffect

public class NSSymbolAppearEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolAppearEffect (Foundation.NSCoder coder); protected NSSymbolAppearEffect (Foundation.NSObjectFlag t); protected NSSymbolAppearEffect (IntPtr handle); // properties public virtual NSSymbolAppearEffect ByLayer { get; } public override IntPtr ClassHandle { get; } public virtual NSSymbolAppearEffect WholeSymbol { get; } // methods public static NSSymbolAppearEffect Create (); public static NSSymbolAppearEffect CreateAppearDownEffect (); public static NSSymbolAppearEffect CreateAppearUpEffect (); }

New Type: Symbols.NSSymbolAutomaticContentTransition

public class NSSymbolAutomaticContentTransition : Symbols.NSSymbolContentTransition { // constructors public NSSymbolAutomaticContentTransition (Foundation.NSCoder coder); protected NSSymbolAutomaticContentTransition (Foundation.NSObjectFlag t); protected NSSymbolAutomaticContentTransition (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public static NSSymbolAutomaticContentTransition Create (); }

New Type: Symbols.NSSymbolBounceEffect

public class NSSymbolBounceEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolBounceEffect (Foundation.NSCoder coder); protected NSSymbolBounceEffect (Foundation.NSObjectFlag t); protected NSSymbolBounceEffect (IntPtr handle); // properties public virtual NSSymbolBounceEffect ByLayer { get; } public override IntPtr ClassHandle { get; } public virtual NSSymbolBounceEffect WholeSymbol { get; } // methods public static NSSymbolBounceEffect Create (); public static NSSymbolBounceEffect CreateBounceDownEffect (); public static NSSymbolBounceEffect CreateBounceUpEffect (); }

New Type: Symbols.NSSymbolContentTransition

public class NSSymbolContentTransition : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSSymbolContentTransition (Foundation.NSCoder coder); protected NSSymbolContentTransition (Foundation.NSObjectFlag t); protected NSSymbolContentTransition (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: Symbols.NSSymbolDisappearEffect

public class NSSymbolDisappearEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolDisappearEffect (Foundation.NSCoder coder); protected NSSymbolDisappearEffect (Foundation.NSObjectFlag t); protected NSSymbolDisappearEffect (IntPtr handle); // properties public virtual NSSymbolDisappearEffect ByLayer { get; } public override IntPtr ClassHandle { get; } public virtual NSSymbolDisappearEffect WholeSymbol { get; } // methods public static NSSymbolDisappearEffect Create (); public static NSSymbolDisappearEffect CreateDisappearDownEffect (); public static NSSymbolDisappearEffect CreateDisappearUpEffect (); }

New Type: Symbols.NSSymbolEffect

public class NSSymbolEffect : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSSymbolEffect (Foundation.NSCoder coder); protected NSSymbolEffect (Foundation.NSObjectFlag t); protected NSSymbolEffect (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); }

New Type: Symbols.NSSymbolEffectOptions

public class NSSymbolEffectOptions : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSSymbolEffectOptions (Foundation.NSCoder coder); protected NSSymbolEffectOptions (Foundation.NSObjectFlag t); protected NSSymbolEffectOptions (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static NSSymbolEffectOptions Create (); public static NSSymbolEffectOptions Create (double speed); public static NSSymbolEffectOptions Create (nint repeatCount); public static NSSymbolEffectOptions CreateNonRepeating (); public static NSSymbolEffectOptions CreateRepeating (); public virtual void EncodeTo (Foundation.NSCoder encoder); public virtual NSSymbolEffectOptions Get (double speed); public virtual NSSymbolEffectOptions Get (nint repeatCount); public virtual NSSymbolEffectOptions GetNonRepeating (); public virtual NSSymbolEffectOptions GetRepeating (); }

New Type: Symbols.NSSymbolPulseEffect

public class NSSymbolPulseEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolPulseEffect (Foundation.NSCoder coder); protected NSSymbolPulseEffect (Foundation.NSObjectFlag t); protected NSSymbolPulseEffect (IntPtr handle); // properties public virtual NSSymbolPulseEffect ByLayer { get; } public override IntPtr ClassHandle { get; } public virtual NSSymbolPulseEffect WholeSymbol { get; } // methods public static NSSymbolPulseEffect Create (); }

New Type: Symbols.NSSymbolReplaceContentTransition

public class NSSymbolReplaceContentTransition : Symbols.NSSymbolContentTransition { // constructors public NSSymbolReplaceContentTransition (Foundation.NSCoder coder); protected NSSymbolReplaceContentTransition (Foundation.NSObjectFlag t); protected NSSymbolReplaceContentTransition (IntPtr handle); // properties public virtual NSSymbolReplaceContentTransition ByLayer { get; } public override IntPtr ClassHandle { get; } public virtual NSSymbolReplaceContentTransition WholeSymbol { get; } // methods public static NSSymbolReplaceContentTransition Create (); public static NSSymbolReplaceContentTransition CreateReplaceDownUpTransition (); public static NSSymbolReplaceContentTransition CreateReplaceOffUpTransition (); public static NSSymbolReplaceContentTransition CreateReplaceUpUpTransition (); }

New Type: Symbols.NSSymbolScaleEffect

public class NSSymbolScaleEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolScaleEffect (Foundation.NSCoder coder); protected NSSymbolScaleEffect (Foundation.NSObjectFlag t); protected NSSymbolScaleEffect (IntPtr handle); // properties public virtual NSSymbolScaleEffect ByLayer { get; } public override IntPtr ClassHandle { get; } public virtual NSSymbolScaleEffect WholeSymbol { get; } // methods public static NSSymbolScaleEffect Create (); public static NSSymbolScaleEffect CreateScaleDownEffect (); public static NSSymbolScaleEffect CreateScaleUpEffect (); }

New Type: Symbols.NSSymbolVariableColorEffect

public class NSSymbolVariableColorEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolVariableColorEffect (Foundation.NSCoder coder); protected NSSymbolVariableColorEffect (Foundation.NSObjectFlag t); protected NSSymbolVariableColorEffect (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual NSSymbolVariableColorEffect Cumulative { get; } public virtual NSSymbolVariableColorEffect DimInactiveLayers { get; } public virtual NSSymbolVariableColorEffect HideInactiveLayers { get; } public virtual NSSymbolVariableColorEffect Iterative { get; } public virtual NSSymbolVariableColorEffect NonReversing { get; } public virtual NSSymbolVariableColorEffect Reversing { get; } // methods public static NSSymbolVariableColorEffect Create (); }