Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created September 8, 2023 14:35
Show Gist options
  • Save vs-mobiletools-engineering-service2/79459d4da05df2fa015cefbe1c61d6bb to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/79459d4da05df2fa015cefbe1c61d6bb to your computer and use it in GitHub Desktop.
stable-api-comparison/ios-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.iOS SDK API diff: 16.4.0 vs 16.99.0
List of API changes between Xamarin.iOS versions 16.4.0 and 16.99.0.
spouliot
sepoulio
9/8/2023
article
26b215a9-e335-65c9-00bf-56dd964fb48e
xamarin

Xamarin.iOS SDK API diff: 16.4.0 vs 16.99.0

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.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);
}

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:

InputMute = 1852403056,

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<bool> completionHandler);
public virtual System.Threading.Tasks.Task<bool> CompleteAssertionRequestAsync (ASPasskeyAssertionCredential credential);
public virtual void CompleteRegistrationRequest (ASPasskeyRegistrationCredential credential, System.Action<bool> completionHandler);
public virtual System.Threading.Tasks.Task<bool> 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:

IASCredentialIdentity

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.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<CKRecordZoneID> zoneIds, bool excluded);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ExcludedZoneIds { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> 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<CKRecordID> recordIds);
	protected CKSyncEngineSendChangesScope (IntPtr handle);
	public CKSyncEngineSendChangesScope (Foundation.NSSet<CKRecordZoneID> zoneIds, bool excluded);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ExcludedZoneIds { get; }
	public virtual Foundation.NSSet<CKRecordID> RecordIds { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> 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<CBPeripheralDiconnectionEventEventArgs> 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<CLUpdate> handler);
	public static CLLocationUpdater CreateLiveUpdates (CLLiveUpdateConfiguration configuration, CoreFoundation.DispatchQueue queue, System.Action<CLUpdate> 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<CLMonitor> completionHandler);
	public static System.Threading.Tasks.Task<CLMonitor> 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<IMLFeatureProvider> GetPredictionAsync (IMLFeatureProvider input);
public virtual System.Threading.Tasks.Task<IMLFeatureProvider> 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 CoreTelephony

Type Changed: CoreTelephony.CTCellularPlanProvisioningAddPlanResult

Added value:

Cancel = 3,

Namespace EventKit

Type Changed: EventKit.EKAuthorizationStatus

Added value:

WriteOnly = 4,

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<T> (NSString key, System.Func<NSDictionary,T> createStrongDictionary);

Type Changed: Foundation.NSFileProviderService

Added methods:

public virtual void GetFileProviderConnection (System.Action<NSXpcConnection,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<NSXpcConnection> 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);

Namespace HealthKit

Type Changed: HealthKit.HKErrorCode

Added values:

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

Type Changed: HealthKit.HKHealthStore

Added property:

public virtual System.Action<HKWorkoutSession> 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:

UnderwaterDiving = 84,

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 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 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 = "16.99.0";

Added fields:

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

Namespace PassKit

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 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.PHVideoRequestOptions

Added interfaces:

Foundation.INSCopying
ObjCRuntime.INativeObject
System.IDisposable

Added method:

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

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; }

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<bool> completionHandler);
	public static System.Threading.Tasks.Task<bool> CheckIfCinematicAsync (AVFoundation.AVAsset asset);
	public static void LoadFromAsset (AVFoundation.AVAsset asset, System.Action<CNAssetInfo,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CNAssetInfo> 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<CNRenderingSessionAttributes> 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<CNScript> 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 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 ();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment