Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created September 10, 2022 01:02

Revisions

  1. vs-mobiletools-engineering-service2 created this gist Sep 10, 2022.
    2,965 changes: 2,965 additions & 0 deletions watchos-api-diff.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,2965 @@
    ---
    title: "Xamarin.WatchOS SDK API diff: 15.12.0 vs 15.99.0"
    description: List of API changes between Xamarin.WatchOS versions 15.12.0 and 15.99.0.
    author: spouliot
    ms.author: sepoulio
    ms.date: 9/9/2022
    ms.topic: article
    ms.assetid: 135d6077-c96a-6bac-52fe-25a77d1a2568
    ms.prod: xamarin
    ---

    # Xamarin.WatchOS SDK API diff: 15.12.0 vs 15.99.0

    <a name="Xamarin.WatchOS.dll" />

    ## Xamarin.WatchOS.dll

    ### Namespace AVFoundation

    #### Type Changed: AVFoundation.AVPlayerItem

    Added property:

    ```csharp
    public virtual Foundation.NSDictionary WeakNowPlayingInfo { get; set; }
    ```



    ### Namespace ClockKit

    #### Type Changed: ClockKit.CLKComplicationDataSource

    Added property:

    ```csharp
    public virtual CLKComplicationWidgetMigrator WidgetMigrator { get; }
    ```


    #### Type Changed: ClockKit.CLKComplicationDataSource_Extensions

    Added method:

    ```csharp
    public static CLKComplicationWidgetMigrator GetWidgetMigrator (this ICLKComplicationDataSource This);
    ```


    #### New Type: ClockKit.CLKComplicationIntentWidgetMigrationConfiguration

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

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


    ### Namespace CoreBluetooth

    #### Type Changed: CoreBluetooth.CBCentralManager

    Added property:

    ```csharp
    public static Foundation.NSString OptionDeviceAccessForMedia { get; }
    ```


    #### Type Changed: CoreBluetooth.CBError

    Added values:

    ```csharp
    LEGattExceededBackgroundNotificationLimit = 17,
    LEGattNearBackgroundNotificationLimit = 18,
    ```



    ### Namespace CoreFoundation

    #### New Type: CoreFoundation.CGAffineTransformComponents

    ```csharp
    public struct CGAffineTransformComponents {
    // fields
    public nfloat HorizontalShear;
    public nfloat Rotation;
    public CoreGraphics.CGSize Scale;
    public CoreGraphics.CGVector Translation;
    }
    ```


    ### Namespace CoreGraphics

    #### Type Changed: CoreGraphics.CGAffineTransform

    Added methods:

    ```csharp
    public CoreFoundation.CGAffineTransformComponents Decompose ();
    public static CGAffineTransform MakeWithComponents (CoreFoundation.CGAffineTransformComponents components);
    ```


    #### Type Changed: CoreGraphics.CGColorSpace

    Added method:

    ```csharp
    public CGColorSpace CreateCopyWithStandardRange ();
    ```


    #### Type Changed: CoreGraphics.CGColorSpaceNames

    Added property:

    ```csharp
    public static Foundation.NSString ItuR_709_Hlg { get; }
    ```


    #### Type Changed: CoreGraphics.CGPDFScanner

    Added method:

    ```csharp
    public void Stop ();
    ```


    #### Type Changed: CoreGraphics.CGPath

    Added methods:

    ```csharp
    public CGPath CreateByFlattening (nfloat flatteningThreshold);
    public CGPath CreateByIntersectingPath (CGPath maskPath, bool evenOddFillRule);
    public CGPath CreateByNormalizing (bool evenOddFillRule);
    public CGPath CreateBySubtractingPath (CGPath maskPath, bool evenOddFillRule);
    public CGPath CreateBySymmetricDifferenceOfPath (CGPath maskPath, bool evenOddFillRule);
    public CGPath CreateByUnioningPath (CGPath maskPath, bool evenOddFillRule);
    public CGPath CreateLineByIntersectingPath (CGPath maskPath, bool evenOddFillRule);
    public CGPath CreateLineBySubtractingPath (CGPath maskPath, bool evenOddFillRule);
    public bool DoesIntersect (CGPath maskPath, bool evenOddFillRule);
    public CGPath[] GetSeparateComponents (bool evenOddFillRule);
    ```



    ### Namespace CoreML

    #### Type Changed: CoreML.MLComputeUnits

    Added value:

    ```csharp
    CPUAndNeuralEngine = 3,
    ```


    #### Type Changed: CoreML.MLModel

    Added methods:

    ```csharp
    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:

    ```csharp
    public virtual string ModelDisplayName { get; set; }
    ```


    #### Type Changed: CoreML.MLMultiArray

    Added constructor:

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

    Added property:

    ```csharp
    public virtual CoreVideo.CVPixelBuffer PixelBuffer { get; }
    ```

    Added methods:

    ```csharp
    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:

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


    #### New Type: CoreML.MLModelAsset

    ```csharp
    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

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

    #### New Type: CoreML.MLMultiArrayDataPointer

    ```csharp
    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

    ```csharp
    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:

    ```csharp
    PreventAutoDownload = 2,
    ```



    ### Namespace CoreVideo

    #### Type Changed: CoreVideo.CVPixelFormatDescription

    Added field:

    ```csharp
    public static Foundation.NSString ContainsSenselArray;
    ```



    ### Namespace EventKit

    #### Type Changed: EventKit.EKEventStore

    Added constructor:

    ```csharp
    public EKEventStore (EKSource[] sources);
    ```


    #### Type Changed: EventKit.EKSource

    Added property:

    ```csharp
    public virtual bool IsDelegate { get; }
    ```



    ### Namespace Foundation

    #### Type Changed: Foundation.NSActivityOptions

    Added values:

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


    #### Type Changed: Foundation.NSAttributedString

    Added constructors:

    ```csharp
    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:

    ```csharp
    public virtual NSAttributedString AttributedStringByInflectingString { get; }
    ```


    #### Type Changed: Foundation.NSBundle

    Added method:

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


    #### Type Changed: Foundation.NSByteCountFormatter

    Added methods:

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


    #### Type Changed: Foundation.NSCocoaError

    Added value:

    ```csharp
    XpcConnectionCodeSigningRequirementFailure = 4102,
    ```


    #### Type Changed: Foundation.NSItemProvider

    Added constructor:

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

    Added properties:

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

    Added methods:

    ```csharp
    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:

    ```csharp
    Json5Allowed = 8,
    TopLevelDictionaryAssumed = 16,
    ```


    #### Type Changed: Foundation.NSMutableUrlRequest

    Added property:

    ```csharp
    public virtual NSURLRequestAttribution Attribution { get; set; }
    ```


    #### Type Changed: Foundation.NSPersonNameComponentsFormatter

    Added property:

    ```csharp
    public virtual NSLocale Locale { get; set; }
    ```


    #### Type Changed: Foundation.NSProgress

    Added property:

    ```csharp
    public static NSString FileOperationKindDuplicatingKey { get; }
    ```


    #### Type Changed: Foundation.NSUrlBookmarkCreationOptions

    Added value:

    ```csharp
    CreationWithoutImplicitSecurityScope = 536870912,
    ```


    #### Type Changed: Foundation.NSUrlBookmarkResolutionOptions

    Added value:

    ```csharp
    WithoutImplicitStartAccessing = 32768,
    ```


    #### Type Changed: Foundation.NSUrlComponents

    Added property:

    ```csharp
    public virtual string EncodedHost { get; set; }
    ```


    #### Type Changed: Foundation.NSUrlRequest

    Added property:

    ```csharp
    public virtual NSURLRequestAttribution Attribution { get; }
    ```


    #### Type Changed: Foundation.NSUrlSessionConfiguration

    Added property:

    ```csharp
    public virtual bool RequiresDnsSecValidation { get; set; }
    ```


    #### Type Changed: Foundation.NSUrlSessionTask

    Added properties:

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


    #### Type Changed: Foundation.NSUrlSessionTaskDelegate

    Added method:

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


    #### Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions

    Added method:

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


    #### Type Changed: Foundation.NSUuid

    Added method:

    ```csharp
    public virtual NSComparisonResult Compare (NSUuid otherUuid);
    ```


    #### Type Changed: Foundation.NSXpcConnection

    Added method:

    ```csharp
    public virtual void Activate ();
    ```


    #### Type Changed: Foundation.NSXpcListener

    Added method:

    ```csharp
    public virtual void Activate ();
    ```


    #### New Type: Foundation.LoadFileRepresentationHandler

    ```csharp
    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

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

    #### New Type: Foundation.NSAttributedStringMarkdownInterpretedSyntax

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

    #### New Type: Foundation.NSAttributedStringMarkdownParsingFailurePolicy

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

    #### New Type: Foundation.NSAttributedStringMarkdownParsingOptions

    ```csharp
    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

    ```csharp
    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

    ```csharp
    [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

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

    #### New Type: Foundation.NSGrammaticalGender

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

    #### New Type: Foundation.NSGrammaticalNumber

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

    #### New Type: Foundation.NSGrammaticalPartOfSpeech

    ```csharp
    [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

    ```csharp
    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

    ```csharp
    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

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

    #### New Type: Foundation.NSItemProviderUTTypeLoadDelegate

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    [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

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

    #### New Type: Foundation.NSURLRequestAttribution

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


    ### Namespace HealthKit

    #### Type Changed: HealthKit.HKActivitySummary

    Added properties:

    ```csharp
    public virtual HKQuantity ExerciseTimeGoal { get; set; }
    public virtual HKQuantity StandHoursGoal { get; set; }
    ```


    #### Type Changed: HealthKit.HKCategoryValueSleepAnalysis

    Added values:

    ```csharp
    AsleepCore = 3,
    AsleepDeep = 4,
    AsleepREM = 5,
    ```


    #### Type Changed: HealthKit.HKElectrocardiogramVoltageMeasurement

    Added interfaces:

    ```csharp
    Foundation.INSCopying
    ObjCRuntime.INativeObject
    System.IDisposable
    ```

    Added method:

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


    #### Type Changed: HealthKit.HKHealthStore

    Added methods:

    ```csharp
    public virtual void RequestPerObjectReadAuthorization (HKObjectType objectType, Foundation.NSPredicate predicate, HKHealthStoreCompletionHandler completion);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestPerObjectReadAuthorizationAsync (HKObjectType objectType, Foundation.NSPredicate predicate);
    ```


    #### Type Changed: HealthKit.HKLiveWorkoutBuilder

    Added property:

    ```csharp
    public virtual HKWorkoutActivity CurrentWorkoutActivity { get; }
    ```


    #### Type Changed: HealthKit.HKLiveWorkoutBuilderDelegate

    Added methods:

    ```csharp
    public virtual void DidBeginActivity (HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity);
    public virtual void DidEndActivity (HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity);
    ```


    #### Type Changed: HealthKit.HKMetadataKey

    Added properties:

    ```csharp
    public static Foundation.NSString GlassesPrescriptionDescription { get; }
    public static Foundation.NSString HeartRateRecoveryActivityDuration { get; }
    public static Foundation.NSString HeartRateRecoveryActivityType { get; }
    public static Foundation.NSString HeartRateRecoveryMaxObservedRecoveryHeartRate { get; }
    public static Foundation.NSString HeartRateRecoveryTestType { get; }
    public static Foundation.NSString QuantityClampedToLowerBound { get; }
    public static Foundation.NSString QuantityClampedToUpperBound { get; }
    public static Foundation.NSString SessionEstimate { get; }
    public static Foundation.NSString SwolfScore { get; }
    public static Foundation.NSString UserMotionContext { get; }
    ```


    #### Type Changed: HealthKit.HKObjectType

    Added properties:

    ```csharp
    public virtual bool RequiresPerObjectAuthorization { get; }
    public static HKPrescriptionType VisionPrescriptionType { get; }
    ```


    #### Type Changed: HealthKit.HKPredicateKeyPath

    Added properties:

    ```csharp
    public static Foundation.NSString WorkoutActivity { get; }
    public static Foundation.NSString WorkoutActivityAverageQuantity { get; }
    public static Foundation.NSString WorkoutActivityDuration { get; }
    public static Foundation.NSString WorkoutActivityEndDate { get; }
    public static Foundation.NSString WorkoutActivityMaximumQuantity { get; }
    public static Foundation.NSString WorkoutActivityMinimumQuantity { get; }
    public static Foundation.NSString WorkoutActivityStartDate { get; }
    public static Foundation.NSString WorkoutActivitySumQuantity { get; }
    public static Foundation.NSString WorkoutActivityType { get; }
    public static Foundation.NSString WorkoutAverageQuantity { get; }
    public static Foundation.NSString WorkoutMaximumQuantity { get; }
    public static Foundation.NSString WorkoutMinimumQuantity { get; }
    public static Foundation.NSString WorkoutSumQuantity { get; }
    ```


    #### Type Changed: HealthKit.HKQuantityTypeIdentifier

    Added values:

    ```csharp
    AtrialFibrillationBurden = 99,
    HeartRateRecoveryOneMinute = 93,
    RunningGroundContactTime = 94,
    RunningPower = 97,
    RunningSpeed = 98,
    RunningStrideLength = 95,
    RunningVerticalOscillation = 96,
    ```


    #### Type Changed: HealthKit.HKQuery

    Added methods:

    ```csharp
    public static Foundation.NSPredicate GetAverageQuantityPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity averageQuantity);
    public static Foundation.NSPredicate GetAverageQuantityPredicateForWorkouts (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity averageQuantity);
    public static Foundation.NSPredicate GetMaximumQuantityPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity maximumQuantity);
    public static Foundation.NSPredicate GetMaximumQuantityPredicateForWorkouts (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity maximumQuantity);
    public static Foundation.NSPredicate GetMinimumQuantityPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity minimumQuantity);
    public static Foundation.NSPredicate GetMinimumQuantityPredicateForWorkouts (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity minimumQuantity);
    public static Foundation.NSPredicate GetPredicateForCategorySamples (Foundation.NSSet<Foundation.NSNumber> values);
    public static Foundation.NSPredicate GetPredicateForWorkoutActivities (HKWorkoutActivityType workoutActivityType);
    public static Foundation.NSPredicate GetPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, double duration);
    public static Foundation.NSPredicate GetPredicateForWorkoutActivities (Foundation.NSDate startDate, Foundation.NSDate endDate, HKQueryOptions options);
    public static Foundation.NSPredicate GetPredicateForWorkouts (Foundation.NSPredicate activityPredicate);
    public static Foundation.NSPredicate GetSumQuantityPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity sumQuantity);
    public static Foundation.NSPredicate GetSumQuantityPredicateForWorkouts (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity sumQuantity);
    ```


    #### Type Changed: HealthKit.HKSwimmingStrokeStyle

    Added value:

    ```csharp
    Kickboard = 6,
    ```


    #### Type Changed: HealthKit.HKUnit

    Added properties:

    ```csharp
    public static HKUnit DegreeAngle { get; }
    public static HKUnit Diopter { get; }
    public static HKUnit PrismDiopter { get; }
    public static HKUnit RadianAngle { get; }
    public static HKUnit Watt { get; }
    ```

    Added methods:

    ```csharp
    public static HKUnit CreateRadianAngle (HKMetricPrefix prefix);
    public static HKUnit CreateWatt (HKMetricPrefix prefix);
    ```


    #### Type Changed: HealthKit.HKWorkout

    Added properties:

    ```csharp
    public virtual Foundation.NSDictionary<HKQuantityType,HealthKit.HKStatistics> AllStatistics { get; }
    public virtual HKWorkoutActivity[] WorkoutActivities { get; }
    ```

    Added method:

    ```csharp
    public virtual HKStatistics GetStatistics (HKQuantityType quantityType);
    ```


    #### Type Changed: HealthKit.HKWorkoutActivityType

    Added values:

    ```csharp
    SwimBikeRun = 82,
    Transition = 83,
    ```


    #### Type Changed: HealthKit.HKWorkoutBuilder

    Added properties:

    ```csharp
    public virtual Foundation.NSDictionary<HKQuantityType,HealthKit.HKStatistics> AllStatistics { get; }
    public virtual HKWorkoutActivity[] WorkoutActivities { get; }
    ```

    Added methods:

    ```csharp
    public virtual void AddWorkoutActivity (HKWorkoutActivity workoutActivity, HKWorkoutBuilderCompletionHandler completion);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddWorkoutActivityAsync (HKWorkoutActivity workoutActivity);
    public virtual void UpdateActivity (Foundation.NSUuid uuid, Foundation.NSDate endDate, HKWorkoutBuilderCompletionHandler completion);
    public virtual void UpdateActivity (Foundation.NSUuid uuid, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata, HKWorkoutBuilderCompletionHandler completion);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> UpdateActivityAsync (Foundation.NSUuid uuid, Foundation.NSDate endDate);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> UpdateActivityAsync (Foundation.NSUuid uuid, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
    ```


    #### Type Changed: HealthKit.HKWorkoutRouteQuery

    Added constructor:

    ```csharp
    public HKWorkoutRouteQuery (HKWorkoutRoute workoutRoute, Foundation.NSDateInterval dateInterval, HKWorkoutRouteQueryDataHandler dataHandler);
    ```


    #### Type Changed: HealthKit.HKWorkoutSession

    Added property:

    ```csharp
    public virtual HKWorkoutActivity CurrentActivity { get; }
    ```

    Added methods:

    ```csharp
    public virtual void BeginNewActivity (HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
    public virtual void EndCurrentActivity (Foundation.NSDate date);
    ```


    #### Type Changed: HealthKit.HKWorkoutSessionDelegate

    Added methods:

    ```csharp
    public virtual void DidBeginActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date);
    public virtual void DidEndActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date);
    ```


    #### Type Changed: HealthKit.HKWorkoutSessionDelegate_Extensions

    Added methods:

    ```csharp
    public static void DidBeginActivity (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date);
    public static void DidEndActivity (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date);
    ```


    #### New Type: HealthKit.HKAttachment

    ```csharp
    public class HKAttachment : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public HKAttachment (Foundation.NSCoder coder);
    protected HKAttachment (Foundation.NSObjectFlag t);
    protected HKAttachment (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual UniformTypeIdentifiers.UTType ContentType { get; }
    public virtual Foundation.NSDate CreationDate { get; }
    public virtual Foundation.NSUuid Identifier { get; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Metadata { get; }
    public virtual string Name { get; }
    public virtual nint Size { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    }
    ```

    #### New Type: HealthKit.HKAttachmentStore

    ```csharp
    public class HKAttachmentStore : Foundation.NSObject {
    // constructors
    public HKAttachmentStore ();
    protected HKAttachmentStore (Foundation.NSObjectFlag t);
    public HKAttachmentStore (HKHealthStore healthStore);
    protected HKAttachmentStore (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual void AddAttachment (HKObject object, string name, UniformTypeIdentifiers.UTType contentType, Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata, System.Action<HKAttachment,Foundation.NSError> completion);
    public virtual System.Threading.Tasks.Task<HKAttachment> AddAttachmentAsync (HKObject object, string name, UniformTypeIdentifiers.UTType contentType, Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
    public virtual void GetAttachments (HKObject object, HKAttachmentStoreGetAttachmentCompletionHandler completion);
    public virtual System.Threading.Tasks.Task<HKAttachment[]> GetAttachmentsAsync (HKObject object);
    public virtual Foundation.NSProgress GetData (HKAttachment attachment, System.Action<Foundation.NSData,Foundation.NSError> completion);
    public virtual System.Threading.Tasks.Task<Foundation.NSData> GetDataAsync (HKAttachment attachment);
    public virtual System.Threading.Tasks.Task<Foundation.NSData> GetDataAsync (HKAttachment attachment, out Foundation.NSProgress result);
    public virtual void RemoveAttachment (HKAttachment attachment, HKObject object, HKAttachmentStoreCompletionHandler completion);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RemoveAttachmentAsync (HKAttachment attachment, HKObject object);
    public virtual Foundation.NSProgress StreamData (HKAttachment attachment, HKAttachmentStoreDataHandler dataHandler);
    }
    ```

    #### New Type: HealthKit.HKAttachmentStoreCompletionHandler

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

    #### New Type: HealthKit.HKAttachmentStoreDataHandler

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

    #### New Type: HealthKit.HKAttachmentStoreGetAttachmentCompletionHandler

    ```csharp
    public sealed delegate HKAttachmentStoreGetAttachmentCompletionHandler : System.MulticastDelegate {
    // constructors
    public HKAttachmentStoreGetAttachmentCompletionHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (HKAttachment[] attachments, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (HKAttachment[] attachments, Foundation.NSError error);
    }
    ```

    #### New Type: HealthKit.HKCategoryValueSleepAnalysisAsleep

    ```csharp
    public class HKCategoryValueSleepAnalysisAsleep {
    // constructors
    public HKCategoryValueSleepAnalysisAsleep ();
    // methods
    public static System.Collections.Generic.HashSet<HKCategoryValueSleepAnalysis> GetAsleepValues ();
    }
    ```

    #### New Type: HealthKit.HKContactsLensSpecification

    ```csharp
    public class HKContactsLensSpecification : HealthKit.HKLensSpecification, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public HKContactsLensSpecification (Foundation.NSCoder coder);
    protected HKContactsLensSpecification (Foundation.NSObjectFlag t);
    protected HKContactsLensSpecification (IntPtr handle);
    public HKContactsLensSpecification (HKQuantity sphere, HKQuantity cylinder, HKQuantity axis, HKQuantity addPower, HKQuantity baseCurve, HKQuantity diameter);
    // properties
    public virtual HKQuantity BaseCurve { get; }
    public override IntPtr ClassHandle { get; }
    public virtual HKQuantity Diameter { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    }
    ```

    #### New Type: HealthKit.HKContactsPrescription

    ```csharp
    public class HKContactsPrescription : HealthKit.HKVisionPrescription {
    // constructors
    public HKContactsPrescription (Foundation.NSCoder coder);
    protected HKContactsPrescription (Foundation.NSObjectFlag t);
    protected HKContactsPrescription (IntPtr handle);
    // properties
    public virtual string Brand { get; }
    public override IntPtr ClassHandle { get; }
    public virtual HKContactsLensSpecification LeftEye { get; }
    public virtual HKContactsLensSpecification RightEye { get; }
    // methods
    public static HKContactsPrescription GetPrescription (HKContactsLensSpecification rightEyeSpecification, HKContactsLensSpecification leftEyeSpecification, string brand, Foundation.NSDate dateIssued, Foundation.NSDate expirationDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
    }
    ```

    #### New Type: HealthKit.HKGlassesLensSpecification

    ```csharp
    public class HKGlassesLensSpecification : HealthKit.HKLensSpecification, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public HKGlassesLensSpecification (Foundation.NSCoder coder);
    protected HKGlassesLensSpecification (Foundation.NSObjectFlag t);
    protected HKGlassesLensSpecification (IntPtr handle);
    public HKGlassesLensSpecification (HKQuantity sphere, HKQuantity cylinder, HKQuantity axis, HKQuantity addPower, HKQuantity vertexDistance, HKVisionPrism prism, HKQuantity farPupillaryDistance, HKQuantity nearPupillaryDistance);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKQuantity FarPupillaryDistance { get; }
    public virtual HKQuantity NearPupillaryDistance { get; }
    public virtual HKVisionPrism Prism { get; }
    public virtual HKQuantity VertexDistance { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    }
    ```

    #### New Type: HealthKit.HKGlassesPrescription

    ```csharp
    public class HKGlassesPrescription : HealthKit.HKVisionPrescription {
    // constructors
    public HKGlassesPrescription (Foundation.NSCoder coder);
    protected HKGlassesPrescription (Foundation.NSObjectFlag t);
    protected HKGlassesPrescription (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKGlassesLensSpecification LeftEye { get; }
    public virtual HKGlassesLensSpecification RightEye { get; }
    // methods
    public static HKGlassesPrescription GetPrescription (HKGlassesLensSpecification rightEyeSpecification, HKGlassesLensSpecification leftEyeSpecification, Foundation.NSDate dateIssued, Foundation.NSDate expirationDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
    }
    ```

    #### New Type: HealthKit.HKHealthStoreCompletionHandler

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

    #### New Type: HealthKit.HKHeartRateRecoveryTestType

    ```csharp
    [Serializable]
    public enum HKHeartRateRecoveryTestType {
    MaxExercise = 1,
    PredictionNonExercise = 3,
    PredictionSubMaxExercise = 2,
    }
    ```

    #### New Type: HealthKit.HKLensSpecification

    ```csharp
    public class HKLensSpecification : Foundation.NSObject {
    // constructors
    protected HKLensSpecification (Foundation.NSObjectFlag t);
    protected HKLensSpecification (IntPtr handle);
    // properties
    public virtual HKQuantity AddPower { get; }
    public virtual HKQuantity Axis { get; }
    public override IntPtr ClassHandle { get; }
    public virtual HKQuantity Cylinder { get; }
    public virtual HKQuantity Sphere { get; }
    }
    ```

    #### New Type: HealthKit.HKLiveWorkoutBuilderDelegate_Extensions

    ```csharp
    public static class HKLiveWorkoutBuilderDelegate_Extensions {
    // methods
    public static void DidBeginActivity (this IHKLiveWorkoutBuilderDelegate This, HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity);
    public static void DidEndActivity (this IHKLiveWorkoutBuilderDelegate This, HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity);
    }
    ```

    #### New Type: HealthKit.HKPrescriptionType

    ```csharp
    public class HKPrescriptionType : HealthKit.HKSampleType {
    // constructors
    public HKPrescriptionType (Foundation.NSCoder coder);
    protected HKPrescriptionType (Foundation.NSObjectFlag t);
    protected HKPrescriptionType (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    }
    ```

    #### New Type: HealthKit.HKPrismBase

    ```csharp
    [Serializable]
    public enum HKPrismBase {
    Down = 2,
    In = 3,
    None = 0,
    Out = 4,
    Up = 1,
    }
    ```

    #### New Type: HealthKit.HKUserMotionContext

    ```csharp
    [Serializable]
    public enum HKUserMotionContext {
    Active = 2,
    NotSet = 0,
    Stationary = 1,
    }
    ```

    #### New Type: HealthKit.HKVisionEye

    ```csharp
    [Serializable]
    public enum HKVisionEye {
    Left = 1,
    Right = 2,
    }
    ```

    #### New Type: HealthKit.HKVisionPrescription

    ```csharp
    public class HKVisionPrescription : HealthKit.HKSample {
    // constructors
    public HKVisionPrescription (Foundation.NSCoder coder);
    protected HKVisionPrescription (Foundation.NSObjectFlag t);
    protected HKVisionPrescription (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate DateIssued { get; }
    public virtual Foundation.NSDate ExpirationDate { get; }
    public virtual HKVisionPrescriptionType PrescriptionType { get; }
    public static Foundation.NSString TypeIdentifier { get; }
    // methods
    public static HKVisionPrescription GetPrescription (HKVisionPrescriptionType type, Foundation.NSDate dateIssued, Foundation.NSDate expirationDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
    }
    ```

    #### New Type: HealthKit.HKVisionPrescriptionType

    ```csharp
    [Serializable]
    public enum HKVisionPrescriptionType {
    Contacts = 2,
    Glasses = 1,
    }
    ```

    #### New Type: HealthKit.HKVisionPrism

    ```csharp
    public class HKVisionPrism : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public HKVisionPrism (Foundation.NSCoder coder);
    protected HKVisionPrism (Foundation.NSObjectFlag t);
    protected HKVisionPrism (IntPtr handle);
    public HKVisionPrism (HKQuantity amount, HKQuantity angle, HKVisionEye eye);
    public HKVisionPrism (HKQuantity verticalAmount, HKPrismBase verticalBase, HKQuantity horizontalAmount, HKPrismBase horizontalBase, HKVisionEye eye);
    // properties
    public virtual HKQuantity Amount { get; }
    public virtual HKQuantity Angle { get; }
    public override IntPtr ClassHandle { get; }
    public virtual HKVisionEye Eye { get; }
    public virtual HKQuantity HorizontalAmount { get; }
    public virtual HKPrismBase HorizontalBase { get; }
    public virtual HKQuantity VerticalAmount { get; }
    public virtual HKPrismBase VerticalBase { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    }
    ```

    #### New Type: HealthKit.HKWorkoutActivity

    ```csharp
    public class HKWorkoutActivity : Foundation.NSObject {
    // constructors
    protected HKWorkoutActivity (Foundation.NSObjectFlag t);
    protected HKWorkoutActivity (IntPtr handle);
    public HKWorkoutActivity (HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
    // properties
    public virtual Foundation.NSDictionary<HKQuantityType,HealthKit.HKStatistics> AllStatistics { get; }
    public override IntPtr ClassHandle { get; }
    public virtual double Duration { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Metadata { get; }
    public virtual Foundation.NSDate StartDate { get; }
    public virtual Foundation.NSUuid Uuid { get; }
    public virtual HKWorkoutConfiguration WorkoutConfiguration { get; }
    public virtual HKWorkoutEvent[] WorkoutEvents { get; }
    // methods
    public virtual HKStatistics GetStatistics (HKQuantityType quantityType);
    }
    ```

    #### New Type: HealthKit.HKWorkoutRouteQueryDataHandler

    ```csharp
    public sealed delegate HKWorkoutRouteQueryDataHandler : System.MulticastDelegate {
    // constructors
    public HKWorkoutRouteQueryDataHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (HKWorkoutRouteQuery query, CoreLocation.CLLocation[] routeData, bool done, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (HKWorkoutRouteQuery query, CoreLocation.CLLocation[] routeData, bool done, Foundation.NSError error);
    }
    ```


    ### Namespace ImageIO

    #### Type Changed: ImageIO.CGImageProperties

    Added properties:

    ```csharp
    public static Foundation.NSString GroupImageBaseline { get; }
    public static Foundation.NSString GroupImageDisparityAdjustment { get; }
    public static Foundation.NSString HeifDictionary { get; }
    ```


    #### New Type: ImageIO.IOCameraExtrinsics

    ```csharp
    public static class IOCameraExtrinsics {
    // properties
    public static Foundation.NSString CoordinateSystemId { get; }
    public static Foundation.NSString Position { get; }
    public static Foundation.NSString Rotation { get; }
    }
    ```

    #### New Type: ImageIO.IOCameraModel

    ```csharp
    public static class IOCameraModel {
    // properties
    public static Foundation.NSString Intrinsics { get; }
    public static Foundation.NSString ModelType { get; }
    }
    ```

    #### New Type: ImageIO.IOCameraModelType

    ```csharp
    public static class IOCameraModelType {
    // properties
    public static Foundation.NSString GenericPinhole { get; }
    public static Foundation.NSString SimplifiedPinhole { get; }
    }
    ```

    #### New Type: ImageIO.IOMetadata

    ```csharp
    public static class IOMetadata {
    // properties
    public static Foundation.NSString CameraExtrinsicsKey { get; }
    public static Foundation.NSString CameraModelKey { get; }
    }
    ```


    ### Namespace Intents

    #### Type Changed: Intents.INMessage

    Added constructor:

    ```csharp
    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:

    ```csharp
    public virtual INFile AudioMessageFile { get; }
    ```


    #### Type Changed: Intents.INSendMessageIntentResponse

    Added property:

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



    ### Namespace MediaPlayer

    #### Type Changed: MediaPlayer.MPNowPlayingInfoCenter

    Added properties:

    ```csharp
    public static Foundation.NSString PropertyAdTimeRanges { get; }
    public static Foundation.NSString PropertyCreditsStartTime { get; }
    ```



    ### Namespace NaturalLanguage

    #### Type Changed: NaturalLanguage.NLLanguage

    Added value:

    ```csharp
    Kazakh = 58,
    ```



    ### Namespace NearbyInteraction

    #### Type Changed: NearbyInteraction.NIErrorCode

    Added values:

    ```csharp
    AccessoryPeerDeviceUnavailable = -5882,
    InvalidARConfiguration = -5883,
    ```


    #### Type Changed: NearbyInteraction.NINearbyObject

    Added properties:

    ```csharp
    public static float AngleNotAvailable { get; }
    public virtual float HorizontalAngle { get; }
    public virtual NINearbyObjectVerticalDirectionEstimate VerticalDirectionEstimate { get; }
    public static OpenTK.NMatrix4 WorldTransformNotAvailable { get; }
    ```


    #### Type Changed: NearbyInteraction.NISession

    Added property:

    ```csharp
    public static INIDeviceCapability DeviceCapabilities { get; }
    ```

    Added methods:

    ```csharp
    public virtual OpenTK.NMatrix4 GetWorldTransform (NINearbyObject object);
    public virtual void SetARSession (Foundation.NSObject session);
    ```


    #### Type Changed: NearbyInteraction.NISessionDelegate

    Added methods:

    ```csharp
    public virtual void DidSessionStartRunning (NISession session);
    public virtual void DidUpdateAlgorithmConvergence (NISession session, NIAlgorithmConvergence convergence, NINearbyObject object);
    ```


    #### Type Changed: NearbyInteraction.NISessionDelegate_Extensions

    Added methods:

    ```csharp
    public static void DidSessionStartRunning (this INISessionDelegate This, NISession session);
    public static void DidUpdateAlgorithmConvergence (this INISessionDelegate This, NISession session, NIAlgorithmConvergence convergence, NINearbyObject object);
    ```


    #### New Type: NearbyInteraction.INIDeviceCapability

    ```csharp
    public interface INIDeviceCapability : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual bool SupportsCameraAssistance { get; }
    public virtual bool SupportsDirectionMeasurement { get; }
    public virtual bool SupportsPreciseDistanceMeasurement { get; }
    }
    ```

    #### New Type: NearbyInteraction.NIAlgorithmConvergence

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

    #### New Type: NearbyInteraction.NIAlgorithmConvergenceStatus

    ```csharp
    [Serializable]
    public enum NIAlgorithmConvergenceStatus {
    Converged = 2,
    NotConverged = 1,
    Unknown = 0,
    }
    ```

    #### New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReason

    ```csharp
    [Serializable]
    public enum NIAlgorithmConvergenceStatusReason {
    InsufficientHorizontalSweep = 0,
    InsufficientLighting = 3,
    InsufficientMovement = 2,
    InsufficientVerticalSweep = 1,
    }
    ```

    #### New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReasonExtensions

    ```csharp
    public static class NIAlgorithmConvergenceStatusReasonExtensions {
    // methods
    public static Foundation.NSString GetConstant (this NIAlgorithmConvergenceStatusReason self);
    public static NIAlgorithmConvergenceStatusReason GetValue (Foundation.NSString constant);
    }
    ```

    #### New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReasonValues

    ```csharp
    public class NIAlgorithmConvergenceStatusReasonValues {
    // constructors
    public NIAlgorithmConvergenceStatusReasonValues ();
    // methods
    public static Foundation.NSString GetConvergenceStatusReason (NIAlgorithmConvergenceStatusReason reason);
    }
    ```

    #### New Type: NearbyInteraction.NINearbyObjectVerticalDirectionEstimate

    ```csharp
    [Serializable]
    public enum NINearbyObjectVerticalDirectionEstimate {
    Above = 2,
    AboveOrBelow = 4,
    Below = 3,
    Same = 1,
    Unknown = 0,
    }
    ```


    ### Namespace ObjCRuntime

    #### Type Changed: ObjCRuntime.Constants

    Modified fields:

    ```diff
    -public const string SdkVersion = "8.5";
    +public const string SdkVersion = "9.0";
    -public const string Version = "15.12.0";
    +public const string Version = "15.99.0";
    ```

    Added fields:

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



    ### Namespace PassKit

    #### Type Changed: PassKit.PKAddSecureElementPassErrorCode

    Added value:

    ```csharp
    OSVersionNotSupportedError = 6,
    ```


    #### Type Changed: PassKit.PKPassLibrary

    Added methods:

    ```csharp
    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:

    ```csharp
    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

    ```csharp
    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

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

    #### New Type: PassKit.PKShareSecureElementPassErrorCodeExtensions

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

    #### New Type: PassKit.PKVehicleConnectionDelegate

    ```csharp
    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

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

    #### New Type: PassKit.PKVehicleConnectionSession

    ```csharp
    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

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


    ### Namespace PushKit

    #### Type Changed: PushKit.PKPushType

    Added property:

    ```csharp
    public static Foundation.NSString Voip { get; }
    ```



    ### Namespace ShazamKit

    #### Type Changed: ShazamKit.SHErrorCode

    Added value:

    ```csharp
    InternalError = 500,
    ```


    #### Type Changed: ShazamKit.SHMediaItem

    Added properties:

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


    #### Type Changed: ShazamKit.SHMediaItemProperty

    Added values:

    ```csharp
    FrequencySkewRanges = 15,
    TimeRanges = 14,
    ```


    #### Type Changed: ShazamKit.SHSignatureGenerator

    Added methods:

    ```csharp
    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

    ```csharp
    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:

    ```csharp
    public virtual SKNodeFocusBehavior FocusBehavior { get; set; }
    ```


    #### New Type: SpriteKit.SKNodeFocusBehavior

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


    ### Namespace UIKit

    #### Type Changed: UIKit.UIFont

    Added method:

    ```csharp
    public static UIFont SystemFontOfSize (nfloat fontSize, UIFontWeight weight, UIFontWidth width);
    ```


    #### Type Changed: UIKit.UIImage

    Added methods:

    ```csharp
    public static UIImage FromBundle (string name, Foundation.NSBundle bundle, double value, UIImageConfiguration configuration);
    public static UIImage GetSystemImage (string name, double value, UIImageConfiguration configuration);
    ```


    #### Type Changed: UIKit.UIImageSymbolConfiguration

    Added method:

    ```csharp
    public static UIImageSymbolConfiguration GetConfigurationPreferringMonochrome ();
    ```


    #### New Type: UIKit.INSTextAttachmentContainer

    ```csharp
    public interface INSTextAttachmentContainer : ObjCRuntime.INativeObject, System.IDisposable {
    }
    ```

    #### New Type: UIKit.INSTextAttachmentLayout

    ```csharp
    public interface INSTextAttachmentLayout : ObjCRuntime.INativeObject, System.IDisposable {
    }
    ```

    #### New Type: UIKit.NSTextAttachmentContainer

    ```csharp
    public class NSTextAttachmentContainer : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, INSTextAttachmentContainer {
    // constructors
    public NSTextAttachmentContainer ();
    protected NSTextAttachmentContainer (Foundation.NSObjectFlag t);
    protected NSTextAttachmentContainer (IntPtr handle);
    }
    ```

    #### New Type: UIKit.UIFontWidth

    ```csharp
    [Serializable]
    public enum UIFontWidth {
    Compressed = 3,
    Condensed = 0,
    Expanded = 2,
    Standard = 1,
    }
    ```


    ### Namespace UniformTypeIdentifiers

    #### Type Changed: UniformTypeIdentifiers.UTType

    Added properties:

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



    ### Namespace UserNotifications

    #### Type Changed: UserNotifications.UNErrorCode

    Added value:

    ```csharp
    BadgeInputInvalid = 1600,
    ```


    #### Type Changed: UserNotifications.UNMutableNotificationContent

    Added property:

    ```csharp
    public virtual string FilterCriteria { get; set; }
    ```


    #### Type Changed: UserNotifications.UNNotificationContent

    Added property:

    ```csharp
    public virtual string FilterCriteria { get; }
    ```


    #### Type Changed: UserNotifications.UNNotificationInterruptionLevel

    Obsoleted fields:

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

    Added values:

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



    ### Namespace WatchKit

    #### New Type: WatchKit.IWKApplicationDelegate

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

    #### New Type: WatchKit.WKApplication

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

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

    #### New Type: CallKit.CXCallObserver

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

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

    #### New Type: CallKit.CXErrorCodeCallDirectoryManagerError

    ```csharp
    [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

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

    #### New Type: CallKit.CXErrorCodeExtensions

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

    #### New Type: CallKit.CXErrorCodeIncomingCallError

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

    #### New Type: CallKit.CXErrorCodeIncomingCallErrorExtensions

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

    #### New Type: CallKit.CXErrorCodeNotificationServiceExtensionError

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

    #### New Type: CallKit.CXErrorCodeNotificationServiceExtensionErrorExtensions

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

    #### New Type: CallKit.CXErrorCodeRequestTransactionError

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

    #### New Type: CallKit.CXErrorCodeRequestTransactionErrorExtensions

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

    #### New Type: CallKit.CXHandle

    ```csharp
    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

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

    #### New Type: CallKit.CXPlayDtmfCallAction

    ```csharp
    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

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

    #### New Type: CallKit.CXProvider

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

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

    #### New Type: CallKit.ICXProviderDelegate

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

    ### New Namespace DeviceCheck

    #### New Type: DeviceCheck.DCAppAttestService

    ```csharp
    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

    ```csharp
    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

    ```csharp
    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

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

    #### New Type: DeviceCheck.DCErrorExtensions

    ```csharp
    public static class DCErrorExtensions {
    // methods
    public static Foundation.NSString GetDomain (this DCError self);
    }
    ```