Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created August 25, 2022 17:44
Show Gist options
  • Save vs-mobiletools-engineering-service2/c40611dfeea0b9a5d0a8f55f99d0667c to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/c40611dfeea0b9a5d0a8f55f99d0667c to your computer and use it in GitHub Desktop.
stable-api-comparison/watchos-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.WatchOS SDK API diff: 15.10.0 vs 15.99.0
List of API changes between Xamarin.WatchOS versions 15.10.0 and 15.99.0.
spouliot
sepoulio
8/25/2022
article
f30e7b40-b57a-615d-defb-2c144f4fd259
xamarin

Xamarin.WatchOS SDK API diff: 15.10.0 vs 15.99.0

Namespace MonoTouch.NUnit.UI

Type Changed: MonoTouch.NUnit.UI.BaseTouchRunner

Added method:

protected void FlushConsole ();

Namespace ClockKit

Type Changed: ClockKit.CLKComplicationDataSource

Added property:

public virtual CLKComplicationWidgetMigrator WidgetMigrator { get; }

Type Changed: ClockKit.CLKComplicationDataSource_Extensions

Added method:

public static CLKComplicationWidgetMigrator GetWidgetMigrator (this ICLKComplicationDataSource This);

New Type: ClockKit.CLKComplicationIntentWidgetMigrationConfiguration

public class CLKComplicationIntentWidgetMigrationConfiguration : ClockKit.CLKComplicationWidgetMigrationConfiguration {
	// constructors
	protected CLKComplicationIntentWidgetMigrationConfiguration (Foundation.NSObjectFlag t);
	protected CLKComplicationIntentWidgetMigrationConfiguration (IntPtr handle);
	public CLKComplicationIntentWidgetMigrationConfiguration (string kind, string extensionBundleIdentifier, Intents.INIntent intent, string localizedDisplayName);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ExtensionBundleIdentifier { get; }
	public virtual Intents.INIntent Intent { get; }
	public virtual string Kind { get; }
	public virtual string LocalizedDisplayName { get; }
	// methods
	public static CLKComplicationIntentWidgetMigrationConfiguration Create (string kind, string extensionBundleIdentifier, Intents.INIntent intent, string localizedDisplayName);
}

New Type: ClockKit.CLKComplicationStaticWidgetMigrationConfiguration

public class CLKComplicationStaticWidgetMigrationConfiguration : ClockKit.CLKComplicationWidgetMigrationConfiguration {
	// constructors
	protected CLKComplicationStaticWidgetMigrationConfiguration (Foundation.NSObjectFlag t);
	protected CLKComplicationStaticWidgetMigrationConfiguration (IntPtr handle);
	public CLKComplicationStaticWidgetMigrationConfiguration (string kind, string extensionBundleIdentifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ExtensionBundleIdentifier { get; }
	public virtual string Kind { get; }
	// methods
	public static CLKComplicationStaticWidgetMigrationConfiguration Create (string kind, string extensionBundleIdentifier);
}

New Type: ClockKit.CLKComplicationWidgetMigrationConfiguration

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

New Type: ClockKit.CLKComplicationWidgetMigrator

public class CLKComplicationWidgetMigrator : Foundation.NSObject, ICLKComplicationWidgetMigrator, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CLKComplicationWidgetMigrator ();
	protected CLKComplicationWidgetMigrator (Foundation.NSObjectFlag t);
	protected CLKComplicationWidgetMigrator (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void GetWidgetConfiguration (CLKComplicationDescriptor complicationDescriptor, System.Action<CLKComplicationWidgetMigrationConfiguration> completionHandler);
	public virtual System.Threading.Tasks.Task<CLKComplicationWidgetMigrationConfiguration> GetWidgetConfigurationAsync (CLKComplicationDescriptor complicationDescriptor);
}

New Type: ClockKit.CLKComplicationWidgetMigrator_Extensions

public static class CLKComplicationWidgetMigrator_Extensions {
	// methods
	public static void GetWidgetConfiguration (this ICLKComplicationWidgetMigrator This, CLKComplicationDescriptor complicationDescriptor, System.Action<CLKComplicationWidgetMigrationConfiguration> completionHandler);
	public static System.Threading.Tasks.Task<CLKComplicationWidgetMigrationConfiguration> GetWidgetConfigurationAsync (this ICLKComplicationWidgetMigrator This, CLKComplicationDescriptor complicationDescriptor);
}

New Type: ClockKit.ICLKComplicationWidgetMigrator

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

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBCentralManager

Added property:

public static Foundation.NSString OptionDeviceAccessForMedia { get; }

Type Changed: CoreBluetooth.CBError

Added values:

LEGattExceededBackgroundNotificationLimit = 17,
LEGattNearBackgroundNotificationLimit = 18,

Namespace CoreML

Type Changed: CoreML.MLComputeUnits

Added value:

CPUAndNeuralEngine = 3,

Type Changed: CoreML.MLModel

Added methods:

public static void Load (MLModelAsset asset, MLModelConfiguration configuration, System.Action<MLModel,Foundation.NSError> handler);
public static System.Threading.Tasks.Task<MLModel> LoadAsync (MLModelAsset asset, MLModelConfiguration configuration);

Type Changed: CoreML.MLModelConfiguration

Added property:

public virtual string ModelDisplayName { get; set; }

Type Changed: CoreML.MLMultiArray

Added constructor:

public MLMultiArray (CoreVideo.CVPixelBuffer pixelBuffer, Foundation.NSNumber[] shape);

Added property:

public virtual CoreVideo.CVPixelBuffer PixelBuffer { get; }

Added methods:

public virtual void GetBytes (System.Action<System.IntPtr,System.nint> handler);
public virtual System.Threading.Tasks.Task<MLMultiArrayDataPointer> GetBytesAsync ();
public virtual void GetMutableBytes (System.Action<System.IntPtr,System.nint,Foundation.NSArray<Foundation.NSNumber>> handler);
public virtual System.Threading.Tasks.Task<MLMultiArrayMutableDataPointer> GetMutableBytesAsync ();

Type Changed: CoreML.MLPredictionOptions

Added property:

public virtual Foundation.NSDictionary OutputBackings { get; set; }

New Type: CoreML.MLModelAsset

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

New Type: CoreML.MLModelCompilationLoadResult

public class MLModelCompilationLoadResult {
	// constructors
	public MLModelCompilationLoadResult (MLModel arg1);
	// properties
	public MLModel Arg1 { get; set; }
}

New Type: CoreML.MLMultiArrayDataPointer

public class MLMultiArrayDataPointer {
	// constructors
	public MLMultiArrayDataPointer (IntPtr arg1, nint arg2);
	// properties
	public IntPtr Arg1 { get; set; }
	public nint Arg2 { get; set; }
}

New Type: CoreML.MLMultiArrayMutableDataPointer

public class MLMultiArrayMutableDataPointer {
	// constructors
	public MLMultiArrayMutableDataPointer (IntPtr arg1, nint arg2, Foundation.NSArray<Foundation.NSNumber> arg3);
	// properties
	public IntPtr Arg1 { get; set; }
	public nint Arg2 { get; set; }
	public Foundation.NSArray<Foundation.NSNumber> Arg3 { get; set; }
}

Namespace CoreText

Type Changed: CoreText.CTFontOptions

Added value:

PreventAutoDownload = 2,

Namespace EventKit

Type Changed: EventKit.EKEventStore

Added constructor:

public EKEventStore (EKSource[] sources);

Type Changed: EventKit.EKSource

Added property:

public virtual bool IsDelegate { get; }

Namespace Foundation

Type Changed: Foundation.NSActivityOptions

Added values:

AnimationTrackingEnabled = 35184372088832,
TrackingEnabled = 70368744177664,
UserInteractive = 1095233437695,

Type Changed: Foundation.NSAttributedString

Added constructors:

public NSAttributedString (NSData markdown, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);
public NSAttributedString (NSUrl markdownFile, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);
public NSAttributedString (string markdownString, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);

Added property:

public virtual NSAttributedString AttributedStringByInflectingString { get; }

Type Changed: Foundation.NSBundle

Added method:

public virtual NSAttributedString GetLocalizedAttributedString (string key, string value, string tableName);

Type Changed: Foundation.NSByteCountFormatter

Added methods:

public virtual string Create (NSUnitInformationStorage measurement);
public static string Create (NSUnitInformationStorage measurement, NSByteCountFormatterCountStyle countStyle);

Type Changed: Foundation.NSCocoaError

Added value:

XpcConnectionCodeSigningRequirementFailure = 4102,

Type Changed: Foundation.NSItemProvider

Added constructor:

public NSItemProvider (NSUrl fileUrl, UniformTypeIdentifiers.UTType contentType, bool openInPlace, bool coordinated, NSItemProviderRepresentationVisibility visibility);

Added properties:

public virtual UniformTypeIdentifiers.UTType[] RegisteredContentTypes { get; }
public virtual UniformTypeIdentifiers.UTType[] RegisteredContentTypesForOpenInPlace { get; }

Added methods:

public virtual NSProgress LoadDataRepresentation (UniformTypeIdentifiers.UTType contentType, ItemProviderDataCompletionHandler completionHandler);
public virtual NSProgress LoadFileRepresentation (UniformTypeIdentifiers.UTType contentType, bool openInPlace, LoadFileRepresentationHandler completionHandler);
public virtual void RegisterDataRepresentation (UniformTypeIdentifiers.UTType contentType, NSItemProviderRepresentationVisibility visibility, NSItemProviderUTTypeLoadDelegate loadHandler);
public virtual void RegisterFileRepresentation (UniformTypeIdentifiers.UTType contentType, NSItemProviderRepresentationVisibility visibility, bool openInPlace, NSItemProviderUTTypeLoadDelegate loadHandler);
public virtual UniformTypeIdentifiers.UTType[] RegisteredContentTypesConforming (UniformTypeIdentifiers.UTType contentType);

Type Changed: Foundation.NSJsonReadingOptions

Added values:

Json5Allowed = 8,
TopLevelDictionaryAssumed = 16,

Type Changed: Foundation.NSMutableUrlRequest

Added property:

public virtual NSURLRequestAttribution Attribution { get; set; }

Type Changed: Foundation.NSPersonNameComponentsFormatter

Added property:

public virtual NSLocale Locale { get; set; }

Type Changed: Foundation.NSProgress

Added property:

public static NSString FileOperationKindDuplicatingKey { get; }

Type Changed: Foundation.NSUrlBookmarkCreationOptions

Added value:

CreationWithoutImplicitSecurityScope = 536870912,

Type Changed: Foundation.NSUrlBookmarkResolutionOptions

Added value:

WithoutImplicitStartAccessing = 32768,

Type Changed: Foundation.NSUrlComponents

Added property:

public virtual string EncodedHost { get; set; }

Type Changed: Foundation.NSUrlRequest

Added property:

public virtual NSURLRequestAttribution Attribution { get; }

Type Changed: Foundation.NSUrlSessionConfiguration

Added property:

public virtual bool RequiresDnsSecValidation { get; set; }

Type Changed: Foundation.NSUrlSessionTask

Added properties:

public INSUrlSessionTaskDelegate Delegate { get; set; }
public virtual NSObject WeakDelegate { get; set; }

Type Changed: Foundation.NSUrlSessionTaskDelegate

Added method:

public virtual void DidCreateTask (NSUrlSession session, NSUrlSessionTask task);

Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions

Added method:

public static void DidCreateTask (this INSUrlSessionTaskDelegate This, NSUrlSession session, NSUrlSessionTask task);

Type Changed: Foundation.NSUuid

Added method:

public virtual NSComparisonResult Compare (NSUuid otherUuid);

Type Changed: Foundation.NSXpcConnection

Added method:

public virtual void Activate ();

Type Changed: Foundation.NSXpcListener

Added method:

public virtual void Activate ();

New Type: Foundation.LoadFileRepresentationHandler

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

New Type: Foundation.NSAttributedStringFormattingOptions

[Serializable]
[Flags]
public enum NSAttributedStringFormattingOptions {
	ApplyReplacementIndexAttribute = 2,
	InsertArgumentAttributesWithoutMerging = 1,
}

New Type: Foundation.NSAttributedStringMarkdownInterpretedSyntax

[Serializable]
public enum NSAttributedStringMarkdownInterpretedSyntax {
	Full = 0,
	InlineOnly = 1,
	InlineOnlyPreservingWhitespace = 2,
}

New Type: Foundation.NSAttributedStringMarkdownParsingFailurePolicy

[Serializable]
public enum NSAttributedStringMarkdownParsingFailurePolicy {
	Error = 0,
	PartiallyParsedIfPossible = 1,
}

New Type: Foundation.NSAttributedStringMarkdownParsingOptions

public class NSAttributedStringMarkdownParsingOptions : Foundation.NSObject, INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSAttributedStringMarkdownParsingOptions ();
	protected NSAttributedStringMarkdownParsingOptions (NSObjectFlag t);
	protected NSAttributedStringMarkdownParsingOptions (IntPtr handle);
	// properties
	public virtual bool AllowsExtendedAttributes { get; set; }
	public virtual bool AppliesSourcePositionAttributes { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual NSAttributedStringMarkdownParsingFailurePolicy FailurePolicy { get; set; }
	public virtual NSAttributedStringMarkdownInterpretedSyntax InterpretedSyntax { get; set; }
	public virtual string LanguageCode { get; set; }
	// methods
	public virtual NSObject Copy (NSZone zone);
}

New Type: Foundation.NSAttributedStringMarkdownSourcePosition

public class NSAttributedStringMarkdownSourcePosition : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSAttributedStringMarkdownSourcePosition ();
	public NSAttributedStringMarkdownSourcePosition (NSCoder coder);
	protected NSAttributedStringMarkdownSourcePosition (NSObjectFlag t);
	protected NSAttributedStringMarkdownSourcePosition (IntPtr handle);
	public NSAttributedStringMarkdownSourcePosition (nint startLine, nint startColumn, nint endLine, nint endColumn);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint EndColumn { get; }
	public virtual nint EndLine { get; }
	public virtual nint StartColumn { get; }
	public virtual nint StartLine { get; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public virtual void EncodeTo (NSCoder encoder);
	public virtual NSRange RangeInString (string string);
}

New Type: Foundation.NSAttributedStringNameKey

[Serializable]
public enum NSAttributedStringNameKey {
	AlternateDescription = 0,
	ImageUrl = 1,
	InflectionAlternative = 3,
	InflectionRule = 2,
	InlinePresentationIntent = 4,
	LanguageIdentifier = 5,
	MarkdownSourcePosition = 6,
	Morphology = 7,
	PresentationIntentAttributeName = 8,
	ReplacementIndex = 9,
}

New Type: Foundation.NSAttributedStringNameKeyExtensions

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

New Type: Foundation.NSGrammaticalGender

[Serializable]
public enum NSGrammaticalGender {
	Feminine = 1,
	Masculine = 2,
	Neuter = 3,
	NotSet = 0,
}

New Type: Foundation.NSGrammaticalNumber

[Serializable]
public enum NSGrammaticalNumber {
	NotSet = 0,
	Plural = 3,
	PluralFew = 5,
	PluralMany = 6,
	PluralTwo = 4,
	Singular = 1,
	Zero = 2,
}

New Type: Foundation.NSGrammaticalPartOfSpeech

[Serializable]
public enum NSGrammaticalPartOfSpeech {
	Abbreviation = 14,
	Adjective = 6,
	Adposition = 7,
	Adverb = 4,
	Conjunction = 10,
	Determiner = 1,
	Interjection = 12,
	Letter = 3,
	NotSet = 0,
	Noun = 9,
	Numeral = 11,
	Particle = 5,
	Preposition = 13,
	Pronoun = 2,
	Verb = 8,
}

New Type: Foundation.NSInflectionRule

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

New Type: Foundation.NSInflectionRuleExplicit

public class NSInflectionRuleExplicit : Foundation.NSInflectionRule {
	// constructors
	public NSInflectionRuleExplicit ();
	public NSInflectionRuleExplicit (NSCoder coder);
	public NSInflectionRuleExplicit (NSMorphology morphology);
	protected NSInflectionRuleExplicit (NSObjectFlag t);
	protected NSInflectionRuleExplicit (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSMorphology Morphology { get; }
}

New Type: Foundation.NSInlinePresentationIntent

[Serializable]
public enum NSInlinePresentationIntent {
	BlockHTML = 512,
	Code = 4,
	Emphasized = 1,
	InlineHTML = 256,
	LineBreak = 128,
	SoftBreak = 64,
	Strikethrough = 32,
	StronglyEmphasized = 2,
}

New Type: Foundation.NSItemProviderUTTypeLoadDelegate

public sealed delegate NSItemProviderUTTypeLoadDelegate : System.MulticastDelegate {
	// constructors
	public NSItemProviderUTTypeLoadDelegate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ItemProviderDataCompletionHandler completionHandler, System.AsyncCallback callback, object object);
	public virtual NSProgress EndInvoke (System.IAsyncResult result);
	public virtual NSProgress Invoke (ItemProviderDataCompletionHandler completionHandler);
}

New Type: Foundation.NSMorphology

public class NSMorphology : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSMorphology ();
	public NSMorphology (NSCoder coder);
	protected NSMorphology (NSObjectFlag t);
	protected NSMorphology (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSGrammaticalGender GrammaticalGender { get; set; }
	public virtual NSGrammaticalNumber Number { get; set; }
	public virtual NSGrammaticalPartOfSpeech PartOfSpeech { get; set; }
	public virtual bool Unspecified { get; }
	public static NSMorphology UserMorphology { get; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public virtual void EncodeTo (NSCoder encoder);
	public virtual NSMorphologyCustomPronoun GetCustomPronoun (string language);
	public virtual bool SetCustomPronoun (NSMorphologyCustomPronoun features, string language, out NSError error);
}

New Type: Foundation.NSMorphologyCustomPronoun

public class NSMorphologyCustomPronoun : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSMorphologyCustomPronoun ();
	public NSMorphologyCustomPronoun (NSCoder coder);
	protected NSMorphologyCustomPronoun (NSObjectFlag t);
	protected NSMorphologyCustomPronoun (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ObjectForm { get; set; }
	public virtual string PossessiveAdjectiveForm { get; set; }
	public virtual string PossessiveForm { get; set; }
	public virtual string ReflexiveForm { get; set; }
	public virtual string SubjectForm { get; set; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public virtual void EncodeTo (NSCoder encoder);
	public static string[] GetRequiredKeysForLanguage (string language);
	public static bool IsSupported (string language);
}

New Type: Foundation.NSPresentationIntent

public class NSPresentationIntent : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSPresentationIntent (NSCoder coder);
	protected NSPresentationIntent (NSObjectFlag t);
	protected NSPresentationIntent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint Column { get; }
	public virtual NSNumber[] ColumnAlignments { get; }
	public virtual nint ColumnCount { get; }
	public virtual nint HeaderLevel { get; }
	public virtual nint Identity { get; }
	public virtual nint IndentationLevel { get; }
	public virtual NSPresentationIntentKind IntentKind { get; }
	public virtual string LanguageHint { get; }
	public virtual nint Ordinal { get; }
	public virtual NSPresentationIntent ParentIntent { get; }
	public virtual nint Row { get; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public static NSPresentationIntent CreateBlockQuoteIntent (nint identity, NSPresentationIntent parent);
	public static NSPresentationIntent CreateCodeBlockIntent (nint identity, string languageHint, NSPresentationIntent parent);
	public static NSPresentationIntent CreateHeaderIntent (nint identity, nint level, NSPresentationIntent parent);
	public static NSPresentationIntent CreateListItemIntent (nint identity, nint ordinal, NSPresentationIntent parent);
	public static NSPresentationIntent CreateOrderedListIntent (nint identity, NSPresentationIntent parent);
	public static NSPresentationIntent CreateParagraphIntent (nint identity, NSPresentationIntent parent);
	public static NSPresentationIntent CreateTableCellIntent (nint identity, nint column, NSPresentationIntent parent);
	public static NSPresentationIntent CreateTableHeaderRowIntent (nint identity, NSPresentationIntent parent);
	public static NSPresentationIntent CreateTableIntent (nint identity, nint columnCount, NSNumber[] alignments, NSPresentationIntent parent);
	public static NSPresentationIntent CreateTableRowIntent (nint identity, nint row, NSPresentationIntent parent);
	public static NSPresentationIntent CreateThematicBreakIntent (nint identity, NSPresentationIntent parent);
	public static NSPresentationIntent CreateUnorderedListIntent (nint identity, NSPresentationIntent parent);
	public virtual void EncodeTo (NSCoder encoder);
	public virtual bool IsEquivalent (NSPresentationIntent other);
}

New Type: Foundation.NSPresentationIntentKind

[Serializable]
public enum NSPresentationIntentKind {
	BlockQuote = 6,
	CodeBlock = 5,
	Header = 1,
	ListItem = 4,
	OrderedList = 2,
	Paragraph = 0,
	Table = 8,
	TableCell = 11,
	TableHeaderRow = 9,
	TableRow = 10,
	ThematicBreak = 7,
	UnorderedList = 3,
}

New Type: Foundation.NSPresentationIntentTableColumnAlignment

[Serializable]
public enum NSPresentationIntentTableColumnAlignment {
	Center = 1,
	Left = 0,
	Right = 2,
}

New Type: Foundation.NSURLRequestAttribution

[Serializable]
public enum NSURLRequestAttribution {
	Developer = 0,
	User = 1,
}

Namespace Intents

Type Changed: Intents.INMessage

Added constructor:

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

Added property:

public virtual INFile AudioMessageFile { get; }

Type Changed: Intents.INSendMessageIntentResponse

Added property:

public virtual INMessage[] SentMessages { get; set; }

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "8.5";
+public const string SdkVersion = "9.0";
-public const string Version = "15.10.0";
+public const string Version = "15.99.0";

Added fields:

public static const string CallKitLibrary = "/System/Library/Frameworks/CallKit.framework/CallKit";
public static const string DeviceCheckLibrary = "/System/Library/Frameworks/DeviceCheck.framework/DeviceCheck";

Type Changed: ObjCRuntime.Dlfcn

Added method:

public static IntPtr dlopen (string path, Dlfcn.Mode mode);

New Type: ObjCRuntime.Dlfcn.Mode

[Serializable]
[Flags]
public enum Mode {
	First = 256,
	Global = 8,
	Lazy = 1,
	Local = 4,
	NoDelete = 128,
	NoLoad = 16,
	None = 0,
	Now = 2,
}

Type Changed: ObjCRuntime.ThrowHelper

Added methods:

public static void ThrowArgumentNullException (string argumentName, string message);
public static void ThrowArgumentOutOfRangeException (string argumentName, object actualValue, string message);

New Type: ObjCRuntime.NativeNameAttribute

public sealed class NativeNameAttribute : System.Attribute {
	// constructors
	public NativeNameAttribute (string name);
	// properties
	public string NativeName { get; set; }
}

Namespace PassKit

Type Changed: PassKit.PKAddSecureElementPassErrorCode

Added value:

OSVersionNotSupportedError = 6,

Type Changed: PassKit.PKPassLibrary

Added methods:

public virtual void GetEncryptedServiceProviderData (PKSecureElementPass secureElementPass, System.Action<Foundation.NSDictionary,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<Foundation.NSDictionary> GetEncryptedServiceProviderDataAsync (PKSecureElementPass secureElementPass);

Type Changed: PassKit.PKPaymentNetwork

Added properties:

public static Foundation.NSString Bancomat { get; }
public static Foundation.NSString Bancontact { get; }
public static Foundation.NSString Nanaco { get; }
public static Foundation.NSString Waon { get; }

New Type: PassKit.IPKVehicleConnectionDelegate

public interface IPKVehicleConnectionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState);
	public virtual void SessionDidReceiveData (Foundation.NSData data);
}

New Type: PassKit.PKShareSecureElementPassErrorCode

[Serializable]
public enum PKShareSecureElementPassErrorCode {
	SetupError = 1,
	UnknownError = 0,
}

New Type: PassKit.PKShareSecureElementPassErrorCodeExtensions

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

New Type: PassKit.PKVehicleConnectionDelegate

public abstract class PKVehicleConnectionDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, IPKVehicleConnectionDelegate, System.IDisposable {
	// constructors
	protected PKVehicleConnectionDelegate ();
	protected PKVehicleConnectionDelegate (Foundation.NSObjectFlag t);
	protected PKVehicleConnectionDelegate (IntPtr handle);
	// methods
	public virtual void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState);
	public virtual void SessionDidReceiveData (Foundation.NSData data);
}

New Type: PassKit.PKVehicleConnectionErrorCode

[Serializable]
public enum PKVehicleConnectionErrorCode {
	SessionNotActive = 2,
	SessionUnableToStart = 1,
	Unknown = 0,
}

New Type: PassKit.PKVehicleConnectionSession

public class PKVehicleConnectionSession : Foundation.NSObject {
	// constructors
	protected PKVehicleConnectionSession (Foundation.NSObjectFlag t);
	protected PKVehicleConnectionSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PKVehicleConnectionSessionConnectionState ConnectionStatus { get; }
	public IPKVehicleConnectionDelegate Delegate { get; }
	public virtual Foundation.NSObject WeakDelegate { get; }
	// methods
	protected override void Dispose (bool disposing);
	public static void GetSession (PKSecureElementPass pass, IPKVehicleConnectionDelegate delegate, System.Action<PKVehicleConnectionSession,Foundation.NSError> completion);
	public static System.Threading.Tasks.Task<PKVehicleConnectionSession> GetSessionAsync (PKSecureElementPass pass, IPKVehicleConnectionDelegate delegate);
	public virtual void Invalidate ();
	public virtual bool SendData (Foundation.NSData message, out Foundation.NSError error);
}

New Type: PassKit.PKVehicleConnectionSessionConnectionState

[Serializable]
public enum PKVehicleConnectionSessionConnectionState {
	Connected = 1,
	Connecting = 2,
	Disconnected = 0,
	FailedToConnect = 3,
}

Namespace PushKit

Type Changed: PushKit.PKPushType

Added property:

public static Foundation.NSString Voip { get; }

Namespace ShazamKit

Type Changed: ShazamKit.SHErrorCode

Added value:

InternalError = 500,

Type Changed: ShazamKit.SHMediaItem

Added properties:

public virtual SHRange[] FrequencySkewRanges { get; }
public virtual SHRange[] TimeRanges { get; }

Type Changed: ShazamKit.SHMediaItemProperty

Added values:

FrequencySkewRanges = 15,
TimeRanges = 14,

Type Changed: ShazamKit.SHSignatureGenerator

Added methods:

public static void GenerateSignature (AVFoundation.AVAsset asset, System.Action<SHSignature,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<SHSignature> GenerateSignatureAsync (AVFoundation.AVAsset asset);

New Type: ShazamKit.SHRange

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

Namespace SpriteKit

Type Changed: SpriteKit.SKNode

Added property:

public virtual SKNodeFocusBehavior FocusBehavior { get; set; }

New Type: SpriteKit.SKNodeFocusBehavior

[Serializable]
public enum SKNodeFocusBehavior {
	Focusable = 2,
	None = 0,
	Occluding = 1,
}

Namespace UIKit

Type Changed: UIKit.UIGraphics

Obsoleted methods:

 [Obsolete ("Use 'EndPDFContext' instead.")]
 public static void EndPDFContent ();

Added method:

public static void EndPDFContext ();

Namespace UniformTypeIdentifiers

Type Changed: UniformTypeIdentifiers.UTType

Added properties:

public static UTType SHCustomCatalogContentType { get; }
public static UTType SHSignatureContentType { get; }

Namespace UserNotifications

Type Changed: UserNotifications.UNErrorCode

Added value:

BadgeInputInvalid = 1600,

Type Changed: UserNotifications.UNMutableNotificationContent

Added property:

public virtual string FilterCriteria { get; set; }

Type Changed: UserNotifications.UNNotificationContent

Added property:

public virtual string FilterCriteria { get; }

Type Changed: UserNotifications.UNNotificationInterruptionLevel

Obsoleted fields:

 [Obsolete ("Use 'Active2'.")]
 Active = 0,
 [Obsolete ("Use 'Critical2'.")]
 Critical = 1,
 [Obsolete ("Use 'Passive2'.")]
 Passive = 2,
 [Obsolete ("Use 'TimeSensitive2'.")]
 TimeSensitive = 3,

Added values:

Active2 = 1,
Critical2 = 3,
Passive2 = 0,
TimeSensitive2 = 2,

Namespace WatchKit

New Type: WatchKit.IWKApplicationDelegate

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

New Type: WatchKit.WKApplication

public class WKApplication : Foundation.NSObject {
	// constructors
	protected WKApplication (Foundation.NSObjectFlag t);
	protected WKApplication (IntPtr handle);
	// properties
	public virtual WKApplicationState ApplicationState { get; }
	public virtual bool Autorotated { get; }
	public override IntPtr ClassHandle { get; }
	public IWKApplicationDelegate Delegate { get; }
	public virtual UIKit.UIColor GlobalTintColor { get; }
	public virtual bool IsApplicationRunningInDock { get; }
	public virtual bool IsAutorotating { get; set; }
	public virtual bool RegisteredForRemoteNotifications { get; }
	public virtual WKInterfaceController RootInterfaceController { get; }
	public static WKApplication SharedApplication { get; }
	public virtual WKInterfaceController VisibleInterfaceController { get; }
	public virtual Foundation.NSObject WeakDelegate { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void OpenSystemUrl (Foundation.NSUrl url);
	public virtual void RegisterForRemoteNotifications ();
	public virtual void ScheduleBackgroundRefresh (Foundation.NSDate preferredFireDate, Foundation.NSObject userInfo, System.Action<Foundation.NSError> scheduledCompletion);
	public virtual System.Threading.Tasks.Task ScheduleBackgroundRefreshAsync (Foundation.NSDate preferredFireDate, Foundation.NSObject userInfo);
	public virtual void ScheduleSnapshotRefresh (Foundation.NSDate preferredFireDate, Foundation.NSObject userInfo, System.Action<Foundation.NSError> scheduledCompletion);
	public virtual System.Threading.Tasks.Task ScheduleSnapshotRefreshAsync (Foundation.NSDate preferredFireDate, Foundation.NSObject userInfo);
	public virtual void UnregisterForRemoteNotifications ();
}

New Type: WatchKit.WKApplicationDelegate

public class WKApplicationDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IWKApplicationDelegate {
	// constructors
	public WKApplicationDelegate ();
	protected WKApplicationDelegate (Foundation.NSObjectFlag t);
	protected WKApplicationDelegate (IntPtr handle);
	// methods
	public virtual void ApplicationDidBecomeActive ();
	public virtual void ApplicationDidEnterBackground ();
	public virtual void ApplicationDidFinishLaunching ();
	public virtual void ApplicationWillEnterForeground ();
	public virtual void ApplicationWillResignActive ();
	public virtual void DeviceOrientationDidChange ();
	public virtual void DidFailToRegisterForRemoteNotifications (Foundation.NSError error);
	public virtual void DidReceiveRemoteNotification (Foundation.NSDictionary userInfo, System.Action<WKBackgroundFetchResult> completionHandler);
	public virtual void DidRegisterForRemoteNotifications (Foundation.NSData deviceToken);
	public virtual void HandleActiveWorkoutRecovery ();
	public virtual void HandleActivity (Foundation.NSUserActivity userActivity);
	public virtual void HandleBackgroundTasks (Foundation.NSSet<WKRefreshBackgroundTask> backgroundTasks);
	public virtual void HandleExtendedRuntimeSession (WKExtendedRuntimeSession extendedRuntimeSession);
	public virtual void HandleIntent (Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler);
	public virtual void HandleRemoteNowPlayingActivity ();
	public virtual void HandleUserActivity (Foundation.NSDictionary userInfo);
	public virtual void HandleWorkoutConfiguration (HealthKit.HKWorkoutConfiguration workoutConfiguration);
	public virtual void UserDidAcceptCloudKitShare (CloudKit.CKShareMetadata cloudKitShareMetadata);
}

New Type: WatchKit.WKApplicationDelegate_Extensions

public static class WKApplicationDelegate_Extensions {
	// methods
	public static void ApplicationDidBecomeActive (this IWKApplicationDelegate This);
	public static void ApplicationDidEnterBackground (this IWKApplicationDelegate This);
	public static void ApplicationDidFinishLaunching (this IWKApplicationDelegate This);
	public static void ApplicationWillEnterForeground (this IWKApplicationDelegate This);
	public static void ApplicationWillResignActive (this IWKApplicationDelegate This);
	public static void DeviceOrientationDidChange (this IWKApplicationDelegate This);
	public static void DidFailToRegisterForRemoteNotifications (this IWKApplicationDelegate This, Foundation.NSError error);
	public static void DidReceiveRemoteNotification (this IWKApplicationDelegate This, Foundation.NSDictionary userInfo, System.Action<WKBackgroundFetchResult> completionHandler);
	public static void DidRegisterForRemoteNotifications (this IWKApplicationDelegate This, Foundation.NSData deviceToken);
	public static void HandleActiveWorkoutRecovery (this IWKApplicationDelegate This);
	public static void HandleActivity (this IWKApplicationDelegate This, Foundation.NSUserActivity userActivity);
	public static void HandleBackgroundTasks (this IWKApplicationDelegate This, Foundation.NSSet<WKRefreshBackgroundTask> backgroundTasks);
	public static void HandleExtendedRuntimeSession (this IWKApplicationDelegate This, WKExtendedRuntimeSession extendedRuntimeSession);
	public static void HandleIntent (this IWKApplicationDelegate This, Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler);
	public static void HandleRemoteNowPlayingActivity (this IWKApplicationDelegate This);
	public static void HandleUserActivity (this IWKApplicationDelegate This, Foundation.NSDictionary userInfo);
	public static void HandleWorkoutConfiguration (this IWKApplicationDelegate This, HealthKit.HKWorkoutConfiguration workoutConfiguration);
	public static void UserDidAcceptCloudKitShare (this IWKApplicationDelegate This, CloudKit.CKShareMetadata cloudKitShareMetadata);
}

New Type: WatchKit.WKBluetoothAlertRefreshBackgroundTask

public class WKBluetoothAlertRefreshBackgroundTask : WatchKit.WKRefreshBackgroundTask {
	// constructors
	public WKBluetoothAlertRefreshBackgroundTask ();
	protected WKBluetoothAlertRefreshBackgroundTask (Foundation.NSObjectFlag t);
	protected WKBluetoothAlertRefreshBackgroundTask (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Namespace CallKit

New Type: CallKit.CXAction

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

New Type: CallKit.CXAnswerCallAction

public class CXAnswerCallAction : CallKit.CXCallAction {
	// constructors
	public CXAnswerCallAction (Foundation.NSCoder coder);
	protected CXAnswerCallAction (Foundation.NSObjectFlag t);
	public CXAnswerCallAction (Foundation.NSUuid callUuid);
	protected CXAnswerCallAction (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void Fulfill (Foundation.NSDate dateConnected);
}

New Type: CallKit.CXCall

public class CXCall : Foundation.NSObject {
	// constructors
	protected CXCall (Foundation.NSObjectFlag t);
	protected CXCall (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool HasConnected { get; }
	public virtual bool HasEnded { get; }
	public virtual bool OnHold { get; }
	public virtual bool Outgoing { get; }
	public virtual Foundation.NSUuid Uuid { get; }
	// methods
	public virtual bool IsEqual (CXCall call);
}

New Type: CallKit.CXCallAction

public class CXCallAction : CallKit.CXAction {
	// constructors
	public CXCallAction (Foundation.NSCoder coder);
	protected CXCallAction (Foundation.NSObjectFlag t);
	public CXCallAction (Foundation.NSUuid callUuid);
	protected CXCallAction (IntPtr handle);
	// properties
	public virtual Foundation.NSUuid CallUuid { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: CallKit.CXCallController

public class CXCallController : Foundation.NSObject {
	// constructors
	public CXCallController ();
	public CXCallController (CoreFoundation.DispatchQueue queue);
	protected CXCallController (Foundation.NSObjectFlag t);
	protected CXCallController (IntPtr handle);
	// properties
	public virtual CXCallObserver CallObserver { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void RequestTransaction (CXAction action, System.Action<Foundation.NSError> completion);
	public virtual void RequestTransaction (CXAction[] actions, System.Action<Foundation.NSError> completion);
	public virtual void RequestTransaction (CXTransaction transaction, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RequestTransactionAsync (CXAction action);
	public virtual System.Threading.Tasks.Task RequestTransactionAsync (CXAction[] actions);
	public virtual System.Threading.Tasks.Task RequestTransactionAsync (CXTransaction transaction);
}

New Type: CallKit.CXCallEndedReason

[Serializable]
public enum CXCallEndedReason {
	AnsweredElsewhere = 4,
	DeclinedElsewhere = 5,
	Failed = 1,
	RemoteEnded = 2,
	Unanswered = 3,
}

New Type: CallKit.CXCallObserver

public class CXCallObserver : Foundation.NSObject {
	// constructors
	public CXCallObserver ();
	protected CXCallObserver (Foundation.NSObjectFlag t);
	protected CXCallObserver (IntPtr handle);
	// properties
	public virtual CXCall[] Calls { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetDelegate (ICXCallObserverDelegate aDelegate, CoreFoundation.DispatchQueue queue);
}

New Type: CallKit.CXCallObserverDelegate

public abstract class CXCallObserverDelegate : Foundation.NSObject, ICXCallObserverDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CXCallObserverDelegate ();
	protected CXCallObserverDelegate (Foundation.NSObjectFlag t);
	protected CXCallObserverDelegate (IntPtr handle);
	// methods
	public virtual void CallChanged (CXCallObserver callObserver, CXCall call);
}

New Type: CallKit.CXCallUpdate

public class CXCallUpdate : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CXCallUpdate ();
	protected CXCallUpdate (Foundation.NSObjectFlag t);
	protected CXCallUpdate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool HasVideo { get; set; }
	public virtual string LocalizedCallerName { get; set; }
	public virtual CXHandle RemoteHandle { get; set; }
	public virtual bool SupportsDtmf { get; set; }
	public virtual bool SupportsGrouping { get; set; }
	public virtual bool SupportsHolding { get; set; }
	public virtual bool SupportsUngrouping { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CallKit.CXEndCallAction

public class CXEndCallAction : CallKit.CXCallAction {
	// constructors
	public CXEndCallAction (Foundation.NSCoder coder);
	protected CXEndCallAction (Foundation.NSObjectFlag t);
	public CXEndCallAction (Foundation.NSUuid callUuid);
	protected CXEndCallAction (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void Fulfill (Foundation.NSDate dateEnded);
}

New Type: CallKit.CXErrorCode

[Serializable]
public enum CXErrorCode {
	InvalidArgument = 2,
	MissingVoIPBackgroundMode = 3,
	Unentitled = 1,
	Unknown = 0,
}

New Type: CallKit.CXErrorCodeCallDirectoryManagerError

[Serializable]
public enum CXErrorCodeCallDirectoryManagerError {
	CurrentlyLoading = 7,
	DuplicateEntries = 4,
	EntriesOutOfOrder = 3,
	ExtensionDisabled = 6,
	LoadingInterrupted = 2,
	MaximumEntriesExceeded = 5,
	NoExtensionFound = 1,
	UnexpectedIncrementalRemoval = 8,
	Unknown = 0,
}

New Type: CallKit.CXErrorCodeCallDirectoryManagerErrorExtensions

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

New Type: CallKit.CXErrorCodeExtensions

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

New Type: CallKit.CXErrorCodeIncomingCallError

[Serializable]
public enum CXErrorCodeIncomingCallError {
	CallUuidAlreadyExists = 2,
	FilteredByBlockList = 4,
	FilteredByDoNotDisturb = 3,
	Unentitled = 1,
	Unknown = 0,
}

New Type: CallKit.CXErrorCodeIncomingCallErrorExtensions

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

New Type: CallKit.CXErrorCodeNotificationServiceExtensionError

[Serializable]
public enum CXErrorCodeNotificationServiceExtensionError {
	InvalidClientProcess = 1,
	MissingNotificationFilteringEntitlement = 2,
	Unknown = 0,
}

New Type: CallKit.CXErrorCodeNotificationServiceExtensionErrorExtensions

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

New Type: CallKit.CXErrorCodeRequestTransactionError

[Serializable]
public enum CXErrorCodeRequestTransactionError {
	CallUuidAlreadyExists = 5,
	EmptyTransaction = 3,
	InvalidAction = 6,
	MaximumCallGroupsReached = 7,
	Unentitled = 1,
	Unknown = 0,
	UnknownCallProvider = 2,
	UnknownCallUuid = 4,
}

New Type: CallKit.CXErrorCodeRequestTransactionErrorExtensions

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

New Type: CallKit.CXHandle

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

New Type: CallKit.CXHandleType

[Serializable]
public enum CXHandleType {
	EmailAddress = 3,
	Generic = 1,
	PhoneNumber = 2,
}

New Type: CallKit.CXPlayDtmfCallAction

public class CXPlayDtmfCallAction : CallKit.CXCallAction {
	// constructors
	public CXPlayDtmfCallAction (Foundation.NSCoder coder);
	protected CXPlayDtmfCallAction (Foundation.NSObjectFlag t);
	protected CXPlayDtmfCallAction (IntPtr handle);
	public CXPlayDtmfCallAction (Foundation.NSUuid callUuid, string digits, CXPlayDtmfCallActionType type);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Digits { get; set; }
	public virtual CXPlayDtmfCallActionType Type { get; set; }
}

New Type: CallKit.CXPlayDtmfCallActionType

[Serializable]
public enum CXPlayDtmfCallActionType {
	HardPause = 3,
	SingleTone = 1,
	SoftPause = 2,
}

New Type: CallKit.CXProvider

public class CXProvider : Foundation.NSObject {
	// constructors
	public CXProvider (CXProviderConfiguration configuration);
	protected CXProvider (Foundation.NSObjectFlag t);
	protected CXProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CXProviderConfiguration Configuration { get; set; }
	public virtual CXTransaction[] PendingTransactions { get; }
	// methods
	public CXCallAction[] GetPendingCallActions<T> (Foundation.NSUuid callUuid);
	public virtual CXCallAction[] GetPendingCallActions (ObjCRuntime.Class callActionClass, Foundation.NSUuid callUuid);
	public virtual void Invalidate ();
	public virtual void ReportCall (Foundation.NSUuid uuid, CXCallUpdate update);
	public virtual void ReportCall (Foundation.NSUuid uuid, Foundation.NSDate dateEnded, CXCallEndedReason endedReason);
	public virtual void ReportConnectedOutgoingCall (Foundation.NSUuid uuid, Foundation.NSDate dateConnected);
	public virtual void ReportConnectingOutgoingCall (Foundation.NSUuid uuid, Foundation.NSDate dateStartedConnecting);
	public virtual void ReportNewIncomingCall (Foundation.NSUuid uuid, CXCallUpdate update, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task ReportNewIncomingCallAsync (Foundation.NSUuid uuid, CXCallUpdate update);
	public virtual void SetDelegate (ICXProviderDelegate aDelegate, CoreFoundation.DispatchQueue queue);
}

New Type: CallKit.CXProviderConfiguration

public class CXProviderConfiguration : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CXProviderConfiguration ();
	protected CXProviderConfiguration (Foundation.NSObjectFlag t);
	protected CXProviderConfiguration (IntPtr handle);
	public CXProviderConfiguration (string localizedName);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData IconTemplateImageData { get; set; }
	public virtual bool IncludesCallsInRecents { get; set; }
	public virtual string LocalizedName { get; }
	public virtual nuint MaximumCallGroups { get; set; }
	public virtual nuint MaximumCallsPerCallGroup { get; set; }
	public virtual string RingtoneSound { get; set; }
	public virtual Foundation.NSSet<Foundation.NSNumber> SupportedHandleTypes { get; set; }
	public virtual bool SupportsVideo { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CallKit.CXProviderDelegate

public abstract class CXProviderDelegate : Foundation.NSObject, ICXProviderDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CXProviderDelegate ();
	protected CXProviderDelegate (Foundation.NSObjectFlag t);
	protected CXProviderDelegate (IntPtr handle);
	// methods
	public virtual void DidActivateAudioSession (CXProvider provider, AVFoundation.AVAudioSession audioSession);
	public virtual void DidBegin (CXProvider provider);
	public virtual void DidDeactivateAudioSession (CXProvider provider, AVFoundation.AVAudioSession audioSession);
	public virtual void DidReset (CXProvider provider);
	public virtual bool ExecuteTransaction (CXProvider provider, CXTransaction transaction);
	public virtual void PerformAnswerCallAction (CXProvider provider, CXAnswerCallAction action);
	public virtual void PerformEndCallAction (CXProvider provider, CXEndCallAction action);
	public virtual void PerformPlayDtmfCallAction (CXProvider provider, CXPlayDtmfCallAction action);
	public virtual void PerformSetGroupCallAction (CXProvider provider, CXSetGroupCallAction action);
	public virtual void PerformSetHeldCallAction (CXProvider provider, CXSetHeldCallAction action);
	public virtual void PerformSetMutedCallAction (CXProvider provider, CXSetMutedCallAction action);
	public virtual void PerformStartCallAction (CXProvider provider, CXStartCallAction action);
	public virtual void TimedOutPerformingAction (CXProvider provider, CXAction action);
}

New Type: CallKit.CXProviderDelegate_Extensions

public static class CXProviderDelegate_Extensions {
	// methods
	public static void DidActivateAudioSession (this ICXProviderDelegate This, CXProvider provider, AVFoundation.AVAudioSession audioSession);
	public static void DidBegin (this ICXProviderDelegate This, CXProvider provider);
	public static void DidDeactivateAudioSession (this ICXProviderDelegate This, CXProvider provider, AVFoundation.AVAudioSession audioSession);
	public static bool ExecuteTransaction (this ICXProviderDelegate This, CXProvider provider, CXTransaction transaction);
	public static void PerformAnswerCallAction (this ICXProviderDelegate This, CXProvider provider, CXAnswerCallAction action);
	public static void PerformEndCallAction (this ICXProviderDelegate This, CXProvider provider, CXEndCallAction action);
	public static void PerformPlayDtmfCallAction (this ICXProviderDelegate This, CXProvider provider, CXPlayDtmfCallAction action);
	public static void PerformSetGroupCallAction (this ICXProviderDelegate This, CXProvider provider, CXSetGroupCallAction action);
	public static void PerformSetHeldCallAction (this ICXProviderDelegate This, CXProvider provider, CXSetHeldCallAction action);
	public static void PerformSetMutedCallAction (this ICXProviderDelegate This, CXProvider provider, CXSetMutedCallAction action);
	public static void PerformStartCallAction (this ICXProviderDelegate This, CXProvider provider, CXStartCallAction action);
	public static void TimedOutPerformingAction (this ICXProviderDelegate This, CXProvider provider, CXAction action);
}

New Type: CallKit.CXSetGroupCallAction

public class CXSetGroupCallAction : CallKit.CXCallAction {
	// constructors
	public CXSetGroupCallAction (Foundation.NSCoder coder);
	protected CXSetGroupCallAction (Foundation.NSObjectFlag t);
	protected CXSetGroupCallAction (IntPtr handle);
	public CXSetGroupCallAction (Foundation.NSUuid callUuid, Foundation.NSUuid callUuidToGroupWith);
	// properties
	public virtual Foundation.NSUuid CallUuidToGroupWith { get; set; }
	public override IntPtr ClassHandle { get; }
}

New Type: CallKit.CXSetHeldCallAction

public class CXSetHeldCallAction : CallKit.CXCallAction {
	// constructors
	public CXSetHeldCallAction (Foundation.NSCoder coder);
	protected CXSetHeldCallAction (Foundation.NSObjectFlag t);
	protected CXSetHeldCallAction (IntPtr handle);
	public CXSetHeldCallAction (Foundation.NSUuid callUuid, bool onHold);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool OnHold { get; set; }
}

New Type: CallKit.CXSetMutedCallAction

public class CXSetMutedCallAction : CallKit.CXCallAction {
	// constructors
	public CXSetMutedCallAction (Foundation.NSCoder coder);
	protected CXSetMutedCallAction (Foundation.NSObjectFlag t);
	protected CXSetMutedCallAction (IntPtr handle);
	public CXSetMutedCallAction (Foundation.NSUuid callUuid, bool muted);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Muted { get; set; }
}

New Type: CallKit.CXStartCallAction

public class CXStartCallAction : CallKit.CXCallAction {
	// constructors
	public CXStartCallAction (Foundation.NSCoder coder);
	protected CXStartCallAction (Foundation.NSObjectFlag t);
	protected CXStartCallAction (IntPtr handle);
	public CXStartCallAction (Foundation.NSUuid callUuid, CXHandle callHandle);
	// properties
	public virtual CXHandle CallHandle { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string ContactIdentifier { get; set; }
	public virtual bool Video { get; set; }
	// methods
	public virtual void Fulfill (Foundation.NSDate dateStarted);
}

New Type: CallKit.CXTransaction

public class CXTransaction : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CXTransaction (CXAction action);
	public CXTransaction (CXAction[] actions);
	public CXTransaction (Foundation.NSCoder coder);
	protected CXTransaction (Foundation.NSObjectFlag t);
	protected CXTransaction (IntPtr handle);
	// properties
	public virtual CXAction[] Actions { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool Complete { get; }
	public virtual Foundation.NSUuid Uuid { get; }
	// methods
	public virtual void AddAction (CXAction action);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CallKit.ICXCallObserverDelegate

public interface ICXCallObserverDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void CallChanged (CXCallObserver callObserver, CXCall call);
}

New Type: CallKit.ICXProviderDelegate

public interface ICXProviderDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidReset (CXProvider provider);
}

New Namespace DeviceCheck

New Type: DeviceCheck.DCAppAttestService

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

New Type: DeviceCheck.DCDevice

public class DCDevice : Foundation.NSObject {
	// constructors
	protected DCDevice (Foundation.NSObjectFlag t);
	protected DCDevice (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static DCDevice CurrentDevice { get; }
	public virtual bool Supported { get; }
	// methods
	public virtual void GenerateToken (DCDeviceGenerateTokenCompletionHandler completion);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> GenerateTokenAsync ();
}

New Type: DeviceCheck.DCDeviceGenerateTokenCompletionHandler

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

New Type: DeviceCheck.DCError

[Serializable]
public enum DCError {
	FeatureUnsupported = 1,
	InvalidInput = 2,
	InvalidKey = 3,
	ServerUnavailable = 4,
	UnknownSystemFailure = 0,
}

New Type: DeviceCheck.DCErrorExtensions

public static class DCErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this DCError self);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment