Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created September 15, 2022 08:52
Show Gist options
  • Save vs-mobiletools-engineering-service2/1d7a5c54875146c1767dd91b411cb08f to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/1d7a5c54875146c1767dd91b411cb08f to your computer and use it in GitHub Desktop.
stable-api-comparison/watchos-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.WatchOS SDK API diff: 15.12.0 vs 15.99.0
List of API changes between Xamarin.WatchOS versions 15.12.0 and 15.99.0.
spouliot
sepoulio
9/15/2022
article
135d6077-c96a-6bac-52fe-25a77d1a2568
xamarin

Xamarin.WatchOS SDK API diff: 15.12.0 vs 15.99.0

Namespace AVFoundation

Type Changed: AVFoundation.AVPlayerItem

Added property:

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

Namespace ClockKit

Type Changed: ClockKit.CLKComplicationDataSource

Added property:

public virtual CLKComplicationWidgetMigrator WidgetMigrator { get; }

Type Changed: ClockKit.CLKComplicationDataSource_Extensions

Added method:

public static CLKComplicationWidgetMigrator GetWidgetMigrator (this ICLKComplicationDataSource This);

New Type: ClockKit.CLKComplicationIntentWidgetMigrationConfiguration

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

New Type: ClockKit.CLKComplicationStaticWidgetMigrationConfiguration

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

New Type: ClockKit.CLKComplicationWidgetMigrationConfiguration

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

New Type: ClockKit.CLKComplicationWidgetMigrator

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

New Type: ClockKit.CLKComplicationWidgetMigrator_Extensions

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

New Type: ClockKit.ICLKComplicationWidgetMigrator

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

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBCentralManager

Added property:

public static Foundation.NSString OptionDeviceAccessForMedia { get; }

Type Changed: CoreBluetooth.CBError

Added values:

LEGattExceededBackgroundNotificationLimit = 17,
LEGattNearBackgroundNotificationLimit = 18,

Namespace CoreFoundation

New Type: CoreFoundation.CGAffineTransformComponents

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:

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

Type Changed: CoreGraphics.CGColorSpace

Added method:

public CGColorSpace CreateCopyWithStandardRange ();

Type Changed: CoreGraphics.CGColorSpaceNames

Added property:

public static Foundation.NSString ItuR_709_Hlg { get; }

Type Changed: CoreGraphics.CGPDFScanner

Added method:

public void Stop ();

Type Changed: CoreGraphics.CGPath

Added methods:

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:

CPUAndNeuralEngine = 3,

Type Changed: CoreML.MLModel

Added methods:

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

Type Changed: CoreML.MLModelConfiguration

Added property:

public virtual string ModelDisplayName { get; set; }

Type Changed: CoreML.MLMultiArray

Added constructor:

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

Added property:

public virtual CoreVideo.CVPixelBuffer PixelBuffer { get; }

Added methods:

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

Type Changed: CoreML.MLPredictionOptions

Added property:

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

New Type: CoreML.MLModelAsset

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

New Type: CoreML.MLModelCompilationLoadResult

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

New Type: CoreML.MLMultiArrayDataPointer

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

New Type: CoreML.MLMultiArrayMutableDataPointer

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

Namespace CoreText

Type Changed: CoreText.CTFontOptions

Added value:

PreventAutoDownload = 2,

Namespace CoreVideo

Type Changed: CoreVideo.CVPixelFormatDescription

Added field:

public static Foundation.NSString ContainsSenselArray;

Namespace EventKit

Type Changed: EventKit.EKEventStore

Added constructor:

public EKEventStore (EKSource[] sources);

Type Changed: EventKit.EKSource

Added property:

public virtual bool IsDelegate { get; }

Namespace Foundation

Type Changed: Foundation.NSActivityOptions

Added values:

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

Type Changed: Foundation.NSAttributedString

Added constructors:

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

Added property:

public virtual NSAttributedString AttributedStringByInflectingString { get; }

Type Changed: Foundation.NSBundle

Added method:

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

Type Changed: Foundation.NSByteCountFormatter

Added methods:

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

Type Changed: Foundation.NSCocoaError

Added value:

XpcConnectionCodeSigningRequirementFailure = 4102,

Type Changed: Foundation.NSItemProvider

Added constructor:

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

Added properties:

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

Added methods:

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

Type Changed: Foundation.NSJsonReadingOptions

Added values:

Json5Allowed = 8,
TopLevelDictionaryAssumed = 16,

Type Changed: Foundation.NSMutableUrlRequest

Added property:

public virtual NSURLRequestAttribution Attribution { get; set; }

Type Changed: Foundation.NSPersonNameComponentsFormatter

Added property:

public virtual NSLocale Locale { get; set; }

Type Changed: Foundation.NSProgress

Added property:

public static NSString FileOperationKindDuplicatingKey { get; }

Type Changed: Foundation.NSUrlBookmarkCreationOptions

Added value:

CreationWithoutImplicitSecurityScope = 536870912,

Type Changed: Foundation.NSUrlBookmarkResolutionOptions

Added value:

WithoutImplicitStartAccessing = 32768,

Type Changed: Foundation.NSUrlComponents

Added property:

public virtual string EncodedHost { get; set; }

Type Changed: Foundation.NSUrlRequest

Added property:

public virtual NSURLRequestAttribution Attribution { get; }

Type Changed: Foundation.NSUrlSessionConfiguration

Added property:

public virtual bool RequiresDnsSecValidation { get; set; }

Type Changed: Foundation.NSUrlSessionTask

Added properties:

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

Type Changed: Foundation.NSUrlSessionTaskDelegate

Added method:

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

Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions

Added method:

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

Type Changed: Foundation.NSUuid

Added method:

public virtual NSComparisonResult Compare (NSUuid otherUuid);

Type Changed: Foundation.NSXpcConnection

Added method:

public virtual void Activate ();

Type Changed: Foundation.NSXpcListener

Added method:

public virtual void Activate ();

New Type: Foundation.LoadFileRepresentationHandler

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

New Type: Foundation.NSAttributedStringFormattingOptions

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

New Type: Foundation.NSAttributedStringMarkdownInterpretedSyntax

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

New Type: Foundation.NSAttributedStringMarkdownParsingFailurePolicy

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

New Type: Foundation.NSAttributedStringMarkdownParsingOptions

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

New Type: Foundation.NSAttributedStringMarkdownSourcePosition

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

New Type: Foundation.NSAttributedStringNameKey

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

New Type: Foundation.NSAttributedStringNameKeyExtensions

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

New Type: Foundation.NSGrammaticalGender

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

New Type: Foundation.NSGrammaticalNumber

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

New Type: Foundation.NSGrammaticalPartOfSpeech

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

New Type: Foundation.NSInflectionRule

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

New Type: Foundation.NSInflectionRuleExplicit

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

New Type: Foundation.NSInlinePresentationIntent

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

New Type: Foundation.NSItemProviderUTTypeLoadDelegate

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

New Type: Foundation.NSMorphology

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

New Type: Foundation.NSMorphologyCustomPronoun

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

New Type: Foundation.NSPresentationIntent

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

New Type: Foundation.NSPresentationIntentKind

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

New Type: Foundation.NSPresentationIntentTableColumnAlignment

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

New Type: Foundation.NSURLRequestAttribution

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

Namespace HealthKit

Type Changed: HealthKit.HKActivitySummary

Added properties:

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

Type Changed: HealthKit.HKCategoryValueSleepAnalysis

Added values:

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

Type Changed: HealthKit.HKElectrocardiogramVoltageMeasurement

Added interfaces:

Foundation.INSCopying
ObjCRuntime.INativeObject
System.IDisposable

Added method:

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

Type Changed: HealthKit.HKHealthStore

Added methods:

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:

public virtual HKWorkoutActivity CurrentWorkoutActivity { get; }

Type Changed: HealthKit.HKLiveWorkoutBuilderDelegate

Added methods:

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

Type Changed: HealthKit.HKMetadataKey

Added properties:

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:

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

Type Changed: HealthKit.HKPredicateKeyPath

Added properties:

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:

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

Type Changed: HealthKit.HKQuery

Added methods:

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:

Kickboard = 6,

Type Changed: HealthKit.HKUnit

Added properties:

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:

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

Type Changed: HealthKit.HKWorkout

Added properties:

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

Added method:

public virtual HKStatistics GetStatistics (HKQuantityType quantityType);

Type Changed: HealthKit.HKWorkoutActivityType

Added values:

SwimBikeRun = 82,
Transition = 83,

Type Changed: HealthKit.HKWorkoutBuilder

Added properties:

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

Added methods:

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:

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

Type Changed: HealthKit.HKWorkoutSession

Added property:

public virtual HKWorkoutActivity CurrentActivity { get; }

Added methods:

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:

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:

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

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

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

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

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

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

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

New Type: HealthKit.HKContactsLensSpecification

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

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

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

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

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

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

New Type: HealthKit.HKLensSpecification

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

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

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

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

New Type: HealthKit.HKUserMotionContext

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

New Type: HealthKit.HKVisionEye

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

New Type: HealthKit.HKVisionPrescription

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

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

New Type: HealthKit.HKVisionPrism

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

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

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:

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

New Type: ImageIO.IOCameraExtrinsics

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

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

New Type: ImageIO.IOCameraModelType

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

New Type: ImageIO.IOMetadata

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:

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

Added property:

public virtual INFile AudioMessageFile { get; }

Type Changed: Intents.INSendMessageIntentResponse

Added property:

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

Namespace MediaPlayer

Type Changed: MediaPlayer.MPNowPlayingInfoCenter

Added properties:

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

Namespace NaturalLanguage

Type Changed: NaturalLanguage.NLLanguage

Added value:

Kazakh = 58,

Namespace NearbyInteraction

Type Changed: NearbyInteraction.NIErrorCode

Added values:

AccessoryPeerDeviceUnavailable = -5882,
InvalidARConfiguration = -5883,

Type Changed: NearbyInteraction.NINearbyObject

Added properties:

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:

public static INIDeviceCapability DeviceCapabilities { get; }

Added methods:

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

Type Changed: NearbyInteraction.NISessionDelegate

Added methods:

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

Type Changed: NearbyInteraction.NISessionDelegate_Extensions

Added methods:

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

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

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

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

New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReason

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

New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReasonExtensions

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

New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReasonValues

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

New Type: NearbyInteraction.NINearbyObjectVerticalDirectionEstimate

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

Namespace Network

Type Changed: Network.NWAdvertiseDescriptor

Added constructor:

public NWAdvertiseDescriptor (string applicationServiceName);

Added property:

public string ApplicationServiceName { get; }

Type Changed: Network.NWBrowserDescriptor

Added property:

public string ApplicationServiceName { get; }

Added method:

public static NWBrowserDescriptor CreateApplicationServiceName (string applicationServiceName);

Type Changed: Network.NWEndpoint

Added properties:

public System.ReadOnlySpan<byte> Signature { get; }
public NWTxtRecord TxtRecord { get; }

Type Changed: Network.NWEndpointType

Added value:

Url = 4,

Type Changed: Network.NWFramer

Added property:

public NSProtocolFramerOptions ProtocolOptions { get; }

Type Changed: Network.NWParameters

Added property:

public bool RequiresDnssecValidation { get; set; }

Added method:

public static NWParameters CreateApplicationService ();

Type Changed: Network.NWProtocolQuicOptions

Added properties:

public ushort DatagramFrameSize { get; set; }
public bool StreamIsDatagram { get; set; }
public NWQuicStreamType StreamType { get; }
public ushort StreamUsableDatagramFrameSize { get; }

New Type: Network.NSProtocolFramerOptions

public class NSProtocolFramerOptions : Network.NWProtocolOptions {
	// methods
	public T GetValue<T> (string key);
	public void SetValue<T> (string key, T value);
}

New Type: Network.NWQuicStreamType

[Serializable]
public enum NWQuicStreamType {
	Bidirectional = 1,
	Unidirectional = 2,
	Unknown = 0,
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

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

Added fields:

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

Namespace PassKit

Type Changed: PassKit.PKAddSecureElementPassErrorCode

Added value:

OSVersionNotSupportedError = 6,

Type Changed: PassKit.PKPassLibrary

Added methods:

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

Type Changed: PassKit.PKPaymentNetwork

Added properties:

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

New Type: PassKit.IPKVehicleConnectionDelegate

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

New Type: PassKit.PKShareSecureElementPassErrorCode

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

New Type: PassKit.PKShareSecureElementPassErrorCodeExtensions

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

New Type: PassKit.PKVehicleConnectionDelegate

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

New Type: PassKit.PKVehicleConnectionErrorCode

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

New Type: PassKit.PKVehicleConnectionSession

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

New Type: PassKit.PKVehicleConnectionSessionConnectionState

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

Namespace PushKit

Type Changed: PushKit.PKPushType

Added property:

public static Foundation.NSString Voip { get; }

Namespace ShazamKit

Type Changed: ShazamKit.SHErrorCode

Added value:

InternalError = 500,

Type Changed: ShazamKit.SHMediaItem

Added properties:

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

Type Changed: ShazamKit.SHMediaItemProperty

Added values:

FrequencySkewRanges = 15,
TimeRanges = 14,

Type Changed: ShazamKit.SHSignatureGenerator

Added methods:

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

New Type: ShazamKit.SHRange

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

Namespace SpriteKit

Type Changed: SpriteKit.SKNode

Added property:

public virtual SKNodeFocusBehavior FocusBehavior { get; set; }

New Type: SpriteKit.SKNodeFocusBehavior

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

Namespace UIKit

Type Changed: UIKit.UIFont

Added method:

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

Type Changed: UIKit.UIImage

Added methods:

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:

public static UIImageSymbolConfiguration GetConfigurationPreferringMonochrome ();

New Type: UIKit.INSTextAttachmentContainer

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

New Type: UIKit.INSTextAttachmentLayout

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

New Type: UIKit.NSTextAttachmentContainer

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

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

Namespace UniformTypeIdentifiers

Type Changed: UniformTypeIdentifiers.UTType

Added properties:

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

Namespace UserNotifications

Type Changed: UserNotifications.UNErrorCode

Added value:

BadgeInputInvalid = 1600,

Type Changed: UserNotifications.UNMutableNotificationContent

Added property:

public virtual string FilterCriteria { get; set; }

Type Changed: UserNotifications.UNNotificationContent

Added property:

public virtual string FilterCriteria { get; }

Type Changed: UserNotifications.UNNotificationInterruptionLevel

Obsoleted fields:

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

Added values:

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

Namespace WatchKit

New Type: WatchKit.IWKApplicationDelegate

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

New Type: WatchKit.WKApplication

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

New Type: WatchKit.WKApplicationDelegate

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

New Type: WatchKit.WKApplicationDelegate_Extensions

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

New Type: WatchKit.WKBluetoothAlertRefreshBackgroundTask

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

New Namespace CallKit

New Type: CallKit.CXAction

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

New Type: CallKit.CXAnswerCallAction

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

New Type: CallKit.CXCall

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

New Type: CallKit.CXCallAction

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

New Type: CallKit.CXCallController

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

New Type: CallKit.CXCallEndedReason

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

New Type: CallKit.CXCallObserver

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

New Type: CallKit.CXCallObserverDelegate

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

New Type: CallKit.CXCallUpdate

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

New Type: CallKit.CXEndCallAction

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

New Type: CallKit.CXErrorCode

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

New Type: CallKit.CXErrorCodeCallDirectoryManagerError

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

New Type: CallKit.CXErrorCodeCallDirectoryManagerErrorExtensions

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

New Type: CallKit.CXErrorCodeExtensions

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

New Type: CallKit.CXErrorCodeIncomingCallError

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

New Type: CallKit.CXErrorCodeIncomingCallErrorExtensions

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

New Type: CallKit.CXErrorCodeNotificationServiceExtensionError

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

New Type: CallKit.CXErrorCodeNotificationServiceExtensionErrorExtensions

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

New Type: CallKit.CXErrorCodeRequestTransactionError

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

New Type: CallKit.CXErrorCodeRequestTransactionErrorExtensions

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

New Type: CallKit.CXHandle

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

New Type: CallKit.CXHandleType

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

New Type: CallKit.CXPlayDtmfCallAction

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

New Type: CallKit.CXPlayDtmfCallActionType

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

New Type: CallKit.CXProvider

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

New Type: CallKit.CXProviderConfiguration

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

New Type: CallKit.CXProviderDelegate

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

New Type: CallKit.CXProviderDelegate_Extensions

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

New Type: CallKit.CXSetGroupCallAction

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

New Type: CallKit.CXSetHeldCallAction

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

New Type: CallKit.CXSetMutedCallAction

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

New Type: CallKit.CXStartCallAction

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

New Type: CallKit.CXTransaction

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

New Type: CallKit.ICXCallObserverDelegate

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

New Type: CallKit.ICXProviderDelegate

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

New Namespace DeviceCheck

New Type: DeviceCheck.DCAppAttestService

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

New Type: DeviceCheck.DCDevice

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

New Type: DeviceCheck.DCDeviceGenerateTokenCompletionHandler

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

New Type: DeviceCheck.DCError

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

New Type: DeviceCheck.DCErrorExtensions

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

New Namespace LocalAuthentication

New Type: LocalAuthentication.LAAccessControlOperation

[Serializable]
public enum LAAccessControlOperation {
	CreateItem = 0,
	CreateKey = 2,
	UseItem = 1,
	UseKeyDecrypt = 4,
	UseKeyKeyExchange = 5,
	UseKeySign = 3,
}

New Type: LocalAuthentication.LAContext

public class LAContext : Foundation.NSObject {
	// constructors
	public LAContext ();
	protected LAContext (Foundation.NSObjectFlag t);
	protected LAContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ErrorDomain { get; }
	public virtual Foundation.NSData EvaluatedPolicyDomainState { get; }
	public virtual bool InteractionNotAllowed { get; set; }
	public virtual Foundation.NSNumber MaxBiometryFailures { get; set; }
	public virtual double TouchIdAuthenticationAllowableReuseDuration { get; set; }
	// methods
	public virtual bool CanEvaluatePolicy (LAPolicy policy, out Foundation.NSError error);
	public virtual void EvaluateAccessControl (Security.SecAccessControl accessControl, LAAccessControlOperation operation, string localizedReason, System.Action<System.Boolean,Foundation.NSError> reply);
	public virtual void EvaluatePolicy (LAPolicy policy, string localizedReason, LAContextReplyHandler reply);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> EvaluatePolicyAsync (LAPolicy policy, string localizedReason);
	public virtual void Invalidate ();
	public virtual bool IsCredentialSet (LACredentialType type);
	public virtual bool SetCredentialType (Foundation.NSData credential, LACredentialType type);
}

New Type: LocalAuthentication.LAContextReplyHandler

public sealed delegate LAContextReplyHandler : System.MulticastDelegate {
	// constructors
	public LAContextReplyHandler (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: LocalAuthentication.LACredentialType

[Serializable]
public enum LACredentialType {
	ApplicationPassword = 0,
	SmartCardPin = -3,
}

New Type: LocalAuthentication.LAPolicy

[Serializable]
public enum LAPolicy {
	DeviceOwnerAuthentication = 2,
	DeviceOwnerAuthenticationWithBiometrics = 1,
	DeviceOwnerAuthenticationWithBiometricsOrWatch = 4,
	DeviceOwnerAuthenticationWithWatch = 3,
	DeviceOwnerAuthenticationWithWristDetection = 5,

	[Obsolete ("Use DeviceOwnerAuthenticationWithBiometricsOrWatch enum value instead.")]
OwnerAuthenticationWithBiometricsOrWatch = 4,
}

New Type: LocalAuthentication.LAStatus

[Serializable]
public enum LAStatus {
	AppCancel = -9,
	AuthenticationFailed = -1,
	BiometryDisconnected = -13,
	BiometryLockout = -8,
	BiometryNotAvailable = -6,
	BiometryNotEnrolled = -7,
	BiometryNotPaired = -12,
	InvalidContext = -10,
	InvalidDimension = -14,
	NotInteractive = -1004,
	PasscodeNotSet = -5,
	Success = 0,
	SystemCancel = -4,
	TouchIDLockout = -8,
	TouchIDNotAvailable = -6,
	TouchIDNotEnrolled = -7,
	UserCancel = -2,
	UserFallback = -3,
	WatchNotAvailable = -11,
}

New Type: LocalAuthentication.LAStatusExtensions

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