/watchos-api-diff.md Secret
Created
September 10, 2022 01:02
Revisions
-
vs-mobiletools-engineering-service2 created this gist
Sep 10, 2022 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,2965 @@ --- title: "Xamarin.WatchOS SDK API diff: 15.12.0 vs 15.99.0" description: List of API changes between Xamarin.WatchOS versions 15.12.0 and 15.99.0. author: spouliot ms.author: sepoulio ms.date: 9/9/2022 ms.topic: article ms.assetid: 135d6077-c96a-6bac-52fe-25a77d1a2568 ms.prod: xamarin --- # Xamarin.WatchOS SDK API diff: 15.12.0 vs 15.99.0 <a name="Xamarin.WatchOS.dll" /> ## Xamarin.WatchOS.dll ### Namespace AVFoundation #### Type Changed: AVFoundation.AVPlayerItem Added property: ```csharp public virtual Foundation.NSDictionary WeakNowPlayingInfo { get; set; } ``` ### Namespace ClockKit #### Type Changed: ClockKit.CLKComplicationDataSource Added property: ```csharp public virtual CLKComplicationWidgetMigrator WidgetMigrator { get; } ``` #### Type Changed: ClockKit.CLKComplicationDataSource_Extensions Added method: ```csharp public static CLKComplicationWidgetMigrator GetWidgetMigrator (this ICLKComplicationDataSource This); ``` #### New Type: ClockKit.CLKComplicationIntentWidgetMigrationConfiguration ```csharp public class CLKComplicationIntentWidgetMigrationConfiguration : ClockKit.CLKComplicationWidgetMigrationConfiguration { // constructors protected CLKComplicationIntentWidgetMigrationConfiguration (Foundation.NSObjectFlag t); protected CLKComplicationIntentWidgetMigrationConfiguration (IntPtr handle); public CLKComplicationIntentWidgetMigrationConfiguration (string kind, string extensionBundleIdentifier, Intents.INIntent intent, string localizedDisplayName); // properties public override IntPtr ClassHandle { get; } public virtual string ExtensionBundleIdentifier { get; } public virtual Intents.INIntent Intent { get; } public virtual string Kind { get; } public virtual string LocalizedDisplayName { get; } // methods public static CLKComplicationIntentWidgetMigrationConfiguration Create (string kind, string extensionBundleIdentifier, Intents.INIntent intent, string localizedDisplayName); } ``` #### New Type: ClockKit.CLKComplicationStaticWidgetMigrationConfiguration ```csharp public class CLKComplicationStaticWidgetMigrationConfiguration : ClockKit.CLKComplicationWidgetMigrationConfiguration { // constructors protected CLKComplicationStaticWidgetMigrationConfiguration (Foundation.NSObjectFlag t); protected CLKComplicationStaticWidgetMigrationConfiguration (IntPtr handle); public CLKComplicationStaticWidgetMigrationConfiguration (string kind, string extensionBundleIdentifier); // properties public override IntPtr ClassHandle { get; } public virtual string ExtensionBundleIdentifier { get; } public virtual string Kind { get; } // methods public static CLKComplicationStaticWidgetMigrationConfiguration Create (string kind, string extensionBundleIdentifier); } ``` #### New Type: ClockKit.CLKComplicationWidgetMigrationConfiguration ```csharp public class CLKComplicationWidgetMigrationConfiguration : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CLKComplicationWidgetMigrationConfiguration (); protected CLKComplicationWidgetMigrationConfiguration (Foundation.NSObjectFlag t); protected CLKComplicationWidgetMigrationConfiguration (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: ClockKit.CLKComplicationWidgetMigrator ```csharp public class CLKComplicationWidgetMigrator : Foundation.NSObject, ICLKComplicationWidgetMigrator, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CLKComplicationWidgetMigrator (); protected CLKComplicationWidgetMigrator (Foundation.NSObjectFlag t); protected CLKComplicationWidgetMigrator (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual void GetWidgetConfiguration (CLKComplicationDescriptor complicationDescriptor, System.Action<CLKComplicationWidgetMigrationConfiguration> completionHandler); public virtual System.Threading.Tasks.Task<CLKComplicationWidgetMigrationConfiguration> GetWidgetConfigurationAsync (CLKComplicationDescriptor complicationDescriptor); } ``` #### New Type: ClockKit.CLKComplicationWidgetMigrator_Extensions ```csharp public static class CLKComplicationWidgetMigrator_Extensions { // methods public static void GetWidgetConfiguration (this ICLKComplicationWidgetMigrator This, CLKComplicationDescriptor complicationDescriptor, System.Action<CLKComplicationWidgetMigrationConfiguration> completionHandler); public static System.Threading.Tasks.Task<CLKComplicationWidgetMigrationConfiguration> GetWidgetConfigurationAsync (this ICLKComplicationWidgetMigrator This, CLKComplicationDescriptor complicationDescriptor); } ``` #### New Type: ClockKit.ICLKComplicationWidgetMigrator ```csharp public interface ICLKComplicationWidgetMigrator : ObjCRuntime.INativeObject, System.IDisposable { } ``` ### Namespace CoreBluetooth #### Type Changed: CoreBluetooth.CBCentralManager Added property: ```csharp public static Foundation.NSString OptionDeviceAccessForMedia { get; } ``` #### Type Changed: CoreBluetooth.CBError Added values: ```csharp LEGattExceededBackgroundNotificationLimit = 17, LEGattNearBackgroundNotificationLimit = 18, ``` ### Namespace CoreFoundation #### New Type: CoreFoundation.CGAffineTransformComponents ```csharp public struct CGAffineTransformComponents { // fields public nfloat HorizontalShear; public nfloat Rotation; public CoreGraphics.CGSize Scale; public CoreGraphics.CGVector Translation; } ``` ### Namespace CoreGraphics #### Type Changed: CoreGraphics.CGAffineTransform Added methods: ```csharp public CoreFoundation.CGAffineTransformComponents Decompose (); public static CGAffineTransform MakeWithComponents (CoreFoundation.CGAffineTransformComponents components); ``` #### Type Changed: CoreGraphics.CGColorSpace Added method: ```csharp public CGColorSpace CreateCopyWithStandardRange (); ``` #### Type Changed: CoreGraphics.CGColorSpaceNames Added property: ```csharp public static Foundation.NSString ItuR_709_Hlg { get; } ``` #### Type Changed: CoreGraphics.CGPDFScanner Added method: ```csharp public void Stop (); ``` #### Type Changed: CoreGraphics.CGPath Added methods: ```csharp public CGPath CreateByFlattening (nfloat flatteningThreshold); public CGPath CreateByIntersectingPath (CGPath maskPath, bool evenOddFillRule); public CGPath CreateByNormalizing (bool evenOddFillRule); public CGPath CreateBySubtractingPath (CGPath maskPath, bool evenOddFillRule); public CGPath CreateBySymmetricDifferenceOfPath (CGPath maskPath, bool evenOddFillRule); public CGPath CreateByUnioningPath (CGPath maskPath, bool evenOddFillRule); public CGPath CreateLineByIntersectingPath (CGPath maskPath, bool evenOddFillRule); public CGPath CreateLineBySubtractingPath (CGPath maskPath, bool evenOddFillRule); public bool DoesIntersect (CGPath maskPath, bool evenOddFillRule); public CGPath[] GetSeparateComponents (bool evenOddFillRule); ``` ### Namespace CoreML #### Type Changed: CoreML.MLComputeUnits Added value: ```csharp CPUAndNeuralEngine = 3, ``` #### Type Changed: CoreML.MLModel Added methods: ```csharp public static void Load (MLModelAsset asset, MLModelConfiguration configuration, System.Action<MLModel,Foundation.NSError> handler); public static System.Threading.Tasks.Task<MLModel> LoadAsync (MLModelAsset asset, MLModelConfiguration configuration); ``` #### Type Changed: CoreML.MLModelConfiguration Added property: ```csharp public virtual string ModelDisplayName { get; set; } ``` #### Type Changed: CoreML.MLMultiArray Added constructor: ```csharp public MLMultiArray (CoreVideo.CVPixelBuffer pixelBuffer, Foundation.NSNumber[] shape); ``` Added property: ```csharp public virtual CoreVideo.CVPixelBuffer PixelBuffer { get; } ``` Added methods: ```csharp public virtual void GetBytes (System.Action<System.IntPtr,System.nint> handler); public virtual System.Threading.Tasks.Task<MLMultiArrayDataPointer> GetBytesAsync (); public virtual void GetMutableBytes (System.Action<System.IntPtr,System.nint,Foundation.NSArray<Foundation.NSNumber>> handler); public virtual System.Threading.Tasks.Task<MLMultiArrayMutableDataPointer> GetMutableBytesAsync (); ``` #### Type Changed: CoreML.MLPredictionOptions Added property: ```csharp public virtual Foundation.NSDictionary OutputBackings { get; set; } ``` #### New Type: CoreML.MLModelAsset ```csharp public class MLModelAsset : Foundation.NSObject { // constructors protected MLModelAsset (Foundation.NSObjectFlag t); protected MLModelAsset (IntPtr handle); // properties public override IntPtr ClassHandle { get; } } ``` #### New Type: CoreML.MLModelCompilationLoadResult ```csharp public class MLModelCompilationLoadResult { // constructors public MLModelCompilationLoadResult (MLModel arg1); // properties public MLModel Arg1 { get; set; } } ``` #### New Type: CoreML.MLMultiArrayDataPointer ```csharp public class MLMultiArrayDataPointer { // constructors public MLMultiArrayDataPointer (IntPtr arg1, nint arg2); // properties public IntPtr Arg1 { get; set; } public nint Arg2 { get; set; } } ``` #### New Type: CoreML.MLMultiArrayMutableDataPointer ```csharp public class MLMultiArrayMutableDataPointer { // constructors public MLMultiArrayMutableDataPointer (IntPtr arg1, nint arg2, Foundation.NSArray<Foundation.NSNumber> arg3); // properties public IntPtr Arg1 { get; set; } public nint Arg2 { get; set; } public Foundation.NSArray<Foundation.NSNumber> Arg3 { get; set; } } ``` ### Namespace CoreText #### Type Changed: CoreText.CTFontOptions Added value: ```csharp PreventAutoDownload = 2, ``` ### Namespace CoreVideo #### Type Changed: CoreVideo.CVPixelFormatDescription Added field: ```csharp public static Foundation.NSString ContainsSenselArray; ``` ### Namespace EventKit #### Type Changed: EventKit.EKEventStore Added constructor: ```csharp public EKEventStore (EKSource[] sources); ``` #### Type Changed: EventKit.EKSource Added property: ```csharp public virtual bool IsDelegate { get; } ``` ### Namespace Foundation #### Type Changed: Foundation.NSActivityOptions Added values: ```csharp AnimationTrackingEnabled = 35184372088832, TrackingEnabled = 70368744177664, UserInteractive = 1095233437695, ``` #### Type Changed: Foundation.NSAttributedString Added constructors: ```csharp public NSAttributedString (NSData markdown, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error); public NSAttributedString (NSUrl markdownFile, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error); public NSAttributedString (string markdownString, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error); ``` Added property: ```csharp public virtual NSAttributedString AttributedStringByInflectingString { get; } ``` #### Type Changed: Foundation.NSBundle Added method: ```csharp public virtual NSAttributedString GetLocalizedAttributedString (string key, string value, string tableName); ``` #### Type Changed: Foundation.NSByteCountFormatter Added methods: ```csharp public virtual string Create (NSUnitInformationStorage measurement); public static string Create (NSUnitInformationStorage measurement, NSByteCountFormatterCountStyle countStyle); ``` #### Type Changed: Foundation.NSCocoaError Added value: ```csharp XpcConnectionCodeSigningRequirementFailure = 4102, ``` #### Type Changed: Foundation.NSItemProvider Added constructor: ```csharp public NSItemProvider (NSUrl fileUrl, UniformTypeIdentifiers.UTType contentType, bool openInPlace, bool coordinated, NSItemProviderRepresentationVisibility visibility); ``` Added properties: ```csharp public virtual UniformTypeIdentifiers.UTType[] RegisteredContentTypes { get; } public virtual UniformTypeIdentifiers.UTType[] RegisteredContentTypesForOpenInPlace { get; } ``` Added methods: ```csharp public virtual NSProgress LoadDataRepresentation (UniformTypeIdentifiers.UTType contentType, ItemProviderDataCompletionHandler completionHandler); public virtual NSProgress LoadFileRepresentation (UniformTypeIdentifiers.UTType contentType, bool openInPlace, LoadFileRepresentationHandler completionHandler); public virtual void RegisterDataRepresentation (UniformTypeIdentifiers.UTType contentType, NSItemProviderRepresentationVisibility visibility, NSItemProviderUTTypeLoadDelegate loadHandler); public virtual void RegisterFileRepresentation (UniformTypeIdentifiers.UTType contentType, NSItemProviderRepresentationVisibility visibility, bool openInPlace, NSItemProviderUTTypeLoadDelegate loadHandler); public virtual UniformTypeIdentifiers.UTType[] RegisteredContentTypesConforming (UniformTypeIdentifiers.UTType contentType); ``` #### Type Changed: Foundation.NSJsonReadingOptions Added values: ```csharp Json5Allowed = 8, TopLevelDictionaryAssumed = 16, ``` #### Type Changed: Foundation.NSMutableUrlRequest Added property: ```csharp public virtual NSURLRequestAttribution Attribution { get; set; } ``` #### Type Changed: Foundation.NSPersonNameComponentsFormatter Added property: ```csharp public virtual NSLocale Locale { get; set; } ``` #### Type Changed: Foundation.NSProgress Added property: ```csharp public static NSString FileOperationKindDuplicatingKey { get; } ``` #### Type Changed: Foundation.NSUrlBookmarkCreationOptions Added value: ```csharp CreationWithoutImplicitSecurityScope = 536870912, ``` #### Type Changed: Foundation.NSUrlBookmarkResolutionOptions Added value: ```csharp WithoutImplicitStartAccessing = 32768, ``` #### Type Changed: Foundation.NSUrlComponents Added property: ```csharp public virtual string EncodedHost { get; set; } ``` #### Type Changed: Foundation.NSUrlRequest Added property: ```csharp public virtual NSURLRequestAttribution Attribution { get; } ``` #### Type Changed: Foundation.NSUrlSessionConfiguration Added property: ```csharp public virtual bool RequiresDnsSecValidation { get; set; } ``` #### Type Changed: Foundation.NSUrlSessionTask Added properties: ```csharp public INSUrlSessionTaskDelegate Delegate { get; set; } public virtual NSObject WeakDelegate { get; set; } ``` #### Type Changed: Foundation.NSUrlSessionTaskDelegate Added method: ```csharp public virtual void DidCreateTask (NSUrlSession session, NSUrlSessionTask task); ``` #### Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions Added method: ```csharp public static void DidCreateTask (this INSUrlSessionTaskDelegate This, NSUrlSession session, NSUrlSessionTask task); ``` #### Type Changed: Foundation.NSUuid Added method: ```csharp public virtual NSComparisonResult Compare (NSUuid otherUuid); ``` #### Type Changed: Foundation.NSXpcConnection Added method: ```csharp public virtual void Activate (); ``` #### Type Changed: Foundation.NSXpcListener Added method: ```csharp public virtual void Activate (); ``` #### New Type: Foundation.LoadFileRepresentationHandler ```csharp public sealed delegate LoadFileRepresentationHandler : System.MulticastDelegate { // constructors public LoadFileRepresentationHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (NSUrl fileUrl, bool openInPlace, NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (NSUrl fileUrl, bool openInPlace, NSError error); } ``` #### New Type: Foundation.NSAttributedStringFormattingOptions ```csharp [Serializable] [Flags] public enum NSAttributedStringFormattingOptions { ApplyReplacementIndexAttribute = 2, InsertArgumentAttributesWithoutMerging = 1, } ``` #### New Type: Foundation.NSAttributedStringMarkdownInterpretedSyntax ```csharp [Serializable] public enum NSAttributedStringMarkdownInterpretedSyntax { Full = 0, InlineOnly = 1, InlineOnlyPreservingWhitespace = 2, } ``` #### New Type: Foundation.NSAttributedStringMarkdownParsingFailurePolicy ```csharp [Serializable] public enum NSAttributedStringMarkdownParsingFailurePolicy { Error = 0, PartiallyParsedIfPossible = 1, } ``` #### New Type: Foundation.NSAttributedStringMarkdownParsingOptions ```csharp public class NSAttributedStringMarkdownParsingOptions : Foundation.NSObject, INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSAttributedStringMarkdownParsingOptions (); protected NSAttributedStringMarkdownParsingOptions (NSObjectFlag t); protected NSAttributedStringMarkdownParsingOptions (IntPtr handle); // properties public virtual bool AllowsExtendedAttributes { get; set; } public virtual bool AppliesSourcePositionAttributes { get; set; } public override IntPtr ClassHandle { get; } public virtual NSAttributedStringMarkdownParsingFailurePolicy FailurePolicy { get; set; } public virtual NSAttributedStringMarkdownInterpretedSyntax InterpretedSyntax { get; set; } public virtual string LanguageCode { get; set; } // methods public virtual NSObject Copy (NSZone zone); } ``` #### New Type: Foundation.NSAttributedStringMarkdownSourcePosition ```csharp public class NSAttributedStringMarkdownSourcePosition : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSAttributedStringMarkdownSourcePosition (); public NSAttributedStringMarkdownSourcePosition (NSCoder coder); protected NSAttributedStringMarkdownSourcePosition (NSObjectFlag t); protected NSAttributedStringMarkdownSourcePosition (IntPtr handle); public NSAttributedStringMarkdownSourcePosition (nint startLine, nint startColumn, nint endLine, nint endColumn); // properties public override IntPtr ClassHandle { get; } public virtual nint EndColumn { get; } public virtual nint EndLine { get; } public virtual nint StartColumn { get; } public virtual nint StartLine { get; } // methods public virtual NSObject Copy (NSZone zone); public virtual void EncodeTo (NSCoder encoder); public virtual NSRange RangeInString (string string); } ``` #### New Type: Foundation.NSAttributedStringNameKey ```csharp [Serializable] public enum NSAttributedStringNameKey { AlternateDescription = 0, ImageUrl = 1, InflectionAlternative = 3, InflectionRule = 2, InlinePresentationIntent = 4, LanguageIdentifier = 5, MarkdownSourcePosition = 6, Morphology = 7, PresentationIntentAttributeName = 8, ReplacementIndex = 9, } ``` #### New Type: Foundation.NSAttributedStringNameKeyExtensions ```csharp public static class NSAttributedStringNameKeyExtensions { // methods public static NSString GetConstant (this NSAttributedStringNameKey self); public static NSAttributedStringNameKey GetValue (NSString constant); } ``` #### New Type: Foundation.NSGrammaticalGender ```csharp [Serializable] public enum NSGrammaticalGender { Feminine = 1, Masculine = 2, Neuter = 3, NotSet = 0, } ``` #### New Type: Foundation.NSGrammaticalNumber ```csharp [Serializable] public enum NSGrammaticalNumber { NotSet = 0, Plural = 3, PluralFew = 5, PluralMany = 6, PluralTwo = 4, Singular = 1, Zero = 2, } ``` #### New Type: Foundation.NSGrammaticalPartOfSpeech ```csharp [Serializable] public enum NSGrammaticalPartOfSpeech { Abbreviation = 14, Adjective = 6, Adposition = 7, Adverb = 4, Conjunction = 10, Determiner = 1, Interjection = 12, Letter = 3, NotSet = 0, Noun = 9, Numeral = 11, Particle = 5, Preposition = 13, Pronoun = 2, Verb = 8, } ``` #### New Type: Foundation.NSInflectionRule ```csharp public class NSInflectionRule : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSInflectionRule (NSCoder coder); protected NSInflectionRule (NSObjectFlag t); protected NSInflectionRule (IntPtr handle); // properties public static NSInflectionRule AutomaticRule { get; } public static bool CanInflectPreferredLocalization { get; } public override IntPtr ClassHandle { get; } // methods public static bool CanInflectLanguage (string language); public virtual NSObject Copy (NSZone zone); public virtual void EncodeTo (NSCoder encoder); } ``` #### New Type: Foundation.NSInflectionRuleExplicit ```csharp public class NSInflectionRuleExplicit : Foundation.NSInflectionRule { // constructors public NSInflectionRuleExplicit (); public NSInflectionRuleExplicit (NSCoder coder); public NSInflectionRuleExplicit (NSMorphology morphology); protected NSInflectionRuleExplicit (NSObjectFlag t); protected NSInflectionRuleExplicit (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual NSMorphology Morphology { get; } } ``` #### New Type: Foundation.NSInlinePresentationIntent ```csharp [Serializable] public enum NSInlinePresentationIntent { BlockHTML = 512, Code = 4, Emphasized = 1, InlineHTML = 256, LineBreak = 128, SoftBreak = 64, Strikethrough = 32, StronglyEmphasized = 2, } ``` #### New Type: Foundation.NSItemProviderUTTypeLoadDelegate ```csharp public sealed delegate NSItemProviderUTTypeLoadDelegate : System.MulticastDelegate { // constructors public NSItemProviderUTTypeLoadDelegate (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (ItemProviderDataCompletionHandler completionHandler, System.AsyncCallback callback, object object); public virtual NSProgress EndInvoke (System.IAsyncResult result); public virtual NSProgress Invoke (ItemProviderDataCompletionHandler completionHandler); } ``` #### New Type: Foundation.NSMorphology ```csharp public class NSMorphology : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSMorphology (); public NSMorphology (NSCoder coder); protected NSMorphology (NSObjectFlag t); protected NSMorphology (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual NSGrammaticalGender GrammaticalGender { get; set; } public virtual NSGrammaticalNumber Number { get; set; } public virtual NSGrammaticalPartOfSpeech PartOfSpeech { get; set; } public virtual bool Unspecified { get; } public static NSMorphology UserMorphology { get; } // methods public virtual NSObject Copy (NSZone zone); public virtual void EncodeTo (NSCoder encoder); public virtual NSMorphologyCustomPronoun GetCustomPronoun (string language); public virtual bool SetCustomPronoun (NSMorphologyCustomPronoun features, string language, out NSError error); } ``` #### New Type: Foundation.NSMorphologyCustomPronoun ```csharp public class NSMorphologyCustomPronoun : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSMorphologyCustomPronoun (); public NSMorphologyCustomPronoun (NSCoder coder); protected NSMorphologyCustomPronoun (NSObjectFlag t); protected NSMorphologyCustomPronoun (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual string ObjectForm { get; set; } public virtual string PossessiveAdjectiveForm { get; set; } public virtual string PossessiveForm { get; set; } public virtual string ReflexiveForm { get; set; } public virtual string SubjectForm { get; set; } // methods public virtual NSObject Copy (NSZone zone); public virtual void EncodeTo (NSCoder encoder); public static string[] GetRequiredKeysForLanguage (string language); public static bool IsSupported (string language); } ``` #### New Type: Foundation.NSPresentationIntent ```csharp public class NSPresentationIntent : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSPresentationIntent (NSCoder coder); protected NSPresentationIntent (NSObjectFlag t); protected NSPresentationIntent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual nint Column { get; } public virtual NSNumber[] ColumnAlignments { get; } public virtual nint ColumnCount { get; } public virtual nint HeaderLevel { get; } public virtual nint Identity { get; } public virtual nint IndentationLevel { get; } public virtual NSPresentationIntentKind IntentKind { get; } public virtual string LanguageHint { get; } public virtual nint Ordinal { get; } public virtual NSPresentationIntent ParentIntent { get; } public virtual nint Row { get; } // methods public virtual NSObject Copy (NSZone zone); public static NSPresentationIntent CreateBlockQuoteIntent (nint identity, NSPresentationIntent parent); public static NSPresentationIntent CreateCodeBlockIntent (nint identity, string languageHint, NSPresentationIntent parent); public static NSPresentationIntent CreateHeaderIntent (nint identity, nint level, NSPresentationIntent parent); public static NSPresentationIntent CreateListItemIntent (nint identity, nint ordinal, NSPresentationIntent parent); public static NSPresentationIntent CreateOrderedListIntent (nint identity, NSPresentationIntent parent); public static NSPresentationIntent CreateParagraphIntent (nint identity, NSPresentationIntent parent); public static NSPresentationIntent CreateTableCellIntent (nint identity, nint column, NSPresentationIntent parent); public static NSPresentationIntent CreateTableHeaderRowIntent (nint identity, NSPresentationIntent parent); public static NSPresentationIntent CreateTableIntent (nint identity, nint columnCount, NSNumber[] alignments, NSPresentationIntent parent); public static NSPresentationIntent CreateTableRowIntent (nint identity, nint row, NSPresentationIntent parent); public static NSPresentationIntent CreateThematicBreakIntent (nint identity, NSPresentationIntent parent); public static NSPresentationIntent CreateUnorderedListIntent (nint identity, NSPresentationIntent parent); public virtual void EncodeTo (NSCoder encoder); public virtual bool IsEquivalent (NSPresentationIntent other); } ``` #### New Type: Foundation.NSPresentationIntentKind ```csharp [Serializable] public enum NSPresentationIntentKind { BlockQuote = 6, CodeBlock = 5, Header = 1, ListItem = 4, OrderedList = 2, Paragraph = 0, Table = 8, TableCell = 11, TableHeaderRow = 9, TableRow = 10, ThematicBreak = 7, UnorderedList = 3, } ``` #### New Type: Foundation.NSPresentationIntentTableColumnAlignment ```csharp [Serializable] public enum NSPresentationIntentTableColumnAlignment { Center = 1, Left = 0, Right = 2, } ``` #### New Type: Foundation.NSURLRequestAttribution ```csharp [Serializable] public enum NSURLRequestAttribution { Developer = 0, User = 1, } ``` ### Namespace HealthKit #### Type Changed: HealthKit.HKActivitySummary Added properties: ```csharp public virtual HKQuantity ExerciseTimeGoal { get; set; } public virtual HKQuantity StandHoursGoal { get; set; } ``` #### Type Changed: HealthKit.HKCategoryValueSleepAnalysis Added values: ```csharp AsleepCore = 3, AsleepDeep = 4, AsleepREM = 5, ``` #### Type Changed: HealthKit.HKElectrocardiogramVoltageMeasurement Added interfaces: ```csharp Foundation.INSCopying ObjCRuntime.INativeObject System.IDisposable ``` Added method: ```csharp public virtual Foundation.NSObject Copy (Foundation.NSZone zone); ``` #### Type Changed: HealthKit.HKHealthStore Added methods: ```csharp public virtual void RequestPerObjectReadAuthorization (HKObjectType objectType, Foundation.NSPredicate predicate, HKHealthStoreCompletionHandler completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestPerObjectReadAuthorizationAsync (HKObjectType objectType, Foundation.NSPredicate predicate); ``` #### Type Changed: HealthKit.HKLiveWorkoutBuilder Added property: ```csharp public virtual HKWorkoutActivity CurrentWorkoutActivity { get; } ``` #### Type Changed: HealthKit.HKLiveWorkoutBuilderDelegate Added methods: ```csharp public virtual void DidBeginActivity (HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity); public virtual void DidEndActivity (HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity); ``` #### Type Changed: HealthKit.HKMetadataKey Added properties: ```csharp public static Foundation.NSString GlassesPrescriptionDescription { get; } public static Foundation.NSString HeartRateRecoveryActivityDuration { get; } public static Foundation.NSString HeartRateRecoveryActivityType { get; } public static Foundation.NSString HeartRateRecoveryMaxObservedRecoveryHeartRate { get; } public static Foundation.NSString HeartRateRecoveryTestType { get; } public static Foundation.NSString QuantityClampedToLowerBound { get; } public static Foundation.NSString QuantityClampedToUpperBound { get; } public static Foundation.NSString SessionEstimate { get; } public static Foundation.NSString SwolfScore { get; } public static Foundation.NSString UserMotionContext { get; } ``` #### Type Changed: HealthKit.HKObjectType Added properties: ```csharp public virtual bool RequiresPerObjectAuthorization { get; } public static HKPrescriptionType VisionPrescriptionType { get; } ``` #### Type Changed: HealthKit.HKPredicateKeyPath Added properties: ```csharp public static Foundation.NSString WorkoutActivity { get; } public static Foundation.NSString WorkoutActivityAverageQuantity { get; } public static Foundation.NSString WorkoutActivityDuration { get; } public static Foundation.NSString WorkoutActivityEndDate { get; } public static Foundation.NSString WorkoutActivityMaximumQuantity { get; } public static Foundation.NSString WorkoutActivityMinimumQuantity { get; } public static Foundation.NSString WorkoutActivityStartDate { get; } public static Foundation.NSString WorkoutActivitySumQuantity { get; } public static Foundation.NSString WorkoutActivityType { get; } public static Foundation.NSString WorkoutAverageQuantity { get; } public static Foundation.NSString WorkoutMaximumQuantity { get; } public static Foundation.NSString WorkoutMinimumQuantity { get; } public static Foundation.NSString WorkoutSumQuantity { get; } ``` #### Type Changed: HealthKit.HKQuantityTypeIdentifier Added values: ```csharp AtrialFibrillationBurden = 99, HeartRateRecoveryOneMinute = 93, RunningGroundContactTime = 94, RunningPower = 97, RunningSpeed = 98, RunningStrideLength = 95, RunningVerticalOscillation = 96, ``` #### Type Changed: HealthKit.HKQuery Added methods: ```csharp public static Foundation.NSPredicate GetAverageQuantityPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity averageQuantity); public static Foundation.NSPredicate GetAverageQuantityPredicateForWorkouts (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity averageQuantity); public static Foundation.NSPredicate GetMaximumQuantityPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity maximumQuantity); public static Foundation.NSPredicate GetMaximumQuantityPredicateForWorkouts (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity maximumQuantity); public static Foundation.NSPredicate GetMinimumQuantityPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity minimumQuantity); public static Foundation.NSPredicate GetMinimumQuantityPredicateForWorkouts (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity minimumQuantity); public static Foundation.NSPredicate GetPredicateForCategorySamples (Foundation.NSSet<Foundation.NSNumber> values); public static Foundation.NSPredicate GetPredicateForWorkoutActivities (HKWorkoutActivityType workoutActivityType); public static Foundation.NSPredicate GetPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, double duration); public static Foundation.NSPredicate GetPredicateForWorkoutActivities (Foundation.NSDate startDate, Foundation.NSDate endDate, HKQueryOptions options); public static Foundation.NSPredicate GetPredicateForWorkouts (Foundation.NSPredicate activityPredicate); public static Foundation.NSPredicate GetSumQuantityPredicateForWorkoutActivities (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity sumQuantity); public static Foundation.NSPredicate GetSumQuantityPredicateForWorkouts (Foundation.NSPredicateOperatorType operatorType, HKQuantityType quantityType, HKQuantity sumQuantity); ``` #### Type Changed: HealthKit.HKSwimmingStrokeStyle Added value: ```csharp Kickboard = 6, ``` #### Type Changed: HealthKit.HKUnit Added properties: ```csharp public static HKUnit DegreeAngle { get; } public static HKUnit Diopter { get; } public static HKUnit PrismDiopter { get; } public static HKUnit RadianAngle { get; } public static HKUnit Watt { get; } ``` Added methods: ```csharp public static HKUnit CreateRadianAngle (HKMetricPrefix prefix); public static HKUnit CreateWatt (HKMetricPrefix prefix); ``` #### Type Changed: HealthKit.HKWorkout Added properties: ```csharp public virtual Foundation.NSDictionary<HKQuantityType,HealthKit.HKStatistics> AllStatistics { get; } public virtual HKWorkoutActivity[] WorkoutActivities { get; } ``` Added method: ```csharp public virtual HKStatistics GetStatistics (HKQuantityType quantityType); ``` #### Type Changed: HealthKit.HKWorkoutActivityType Added values: ```csharp SwimBikeRun = 82, Transition = 83, ``` #### Type Changed: HealthKit.HKWorkoutBuilder Added properties: ```csharp public virtual Foundation.NSDictionary<HKQuantityType,HealthKit.HKStatistics> AllStatistics { get; } public virtual HKWorkoutActivity[] WorkoutActivities { get; } ``` Added methods: ```csharp public virtual void AddWorkoutActivity (HKWorkoutActivity workoutActivity, HKWorkoutBuilderCompletionHandler completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddWorkoutActivityAsync (HKWorkoutActivity workoutActivity); public virtual void UpdateActivity (Foundation.NSUuid uuid, Foundation.NSDate endDate, HKWorkoutBuilderCompletionHandler completion); public virtual void UpdateActivity (Foundation.NSUuid uuid, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata, HKWorkoutBuilderCompletionHandler completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> UpdateActivityAsync (Foundation.NSUuid uuid, Foundation.NSDate endDate); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> UpdateActivityAsync (Foundation.NSUuid uuid, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata); ``` #### Type Changed: HealthKit.HKWorkoutRouteQuery Added constructor: ```csharp public HKWorkoutRouteQuery (HKWorkoutRoute workoutRoute, Foundation.NSDateInterval dateInterval, HKWorkoutRouteQueryDataHandler dataHandler); ``` #### Type Changed: HealthKit.HKWorkoutSession Added property: ```csharp public virtual HKWorkoutActivity CurrentActivity { get; } ``` Added methods: ```csharp public virtual void BeginNewActivity (HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata); public virtual void EndCurrentActivity (Foundation.NSDate date); ``` #### Type Changed: HealthKit.HKWorkoutSessionDelegate Added methods: ```csharp public virtual void DidBeginActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); public virtual void DidEndActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); ``` #### Type Changed: HealthKit.HKWorkoutSessionDelegate_Extensions Added methods: ```csharp public static void DidBeginActivity (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); public static void DidEndActivity (this IHKWorkoutSessionDelegate This, HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); ``` #### New Type: HealthKit.HKAttachment ```csharp public class HKAttachment : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public HKAttachment (Foundation.NSCoder coder); protected HKAttachment (Foundation.NSObjectFlag t); protected HKAttachment (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual UniformTypeIdentifiers.UTType ContentType { get; } public virtual Foundation.NSDate CreationDate { get; } public virtual Foundation.NSUuid Identifier { get; } public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Metadata { get; } public virtual string Name { get; } public virtual nint Size { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: HealthKit.HKAttachmentStore ```csharp public class HKAttachmentStore : Foundation.NSObject { // constructors public HKAttachmentStore (); protected HKAttachmentStore (Foundation.NSObjectFlag t); public HKAttachmentStore (HKHealthStore healthStore); protected HKAttachmentStore (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual void AddAttachment (HKObject object, string name, UniformTypeIdentifiers.UTType contentType, Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata, System.Action<HKAttachment,Foundation.NSError> completion); public virtual System.Threading.Tasks.Task<HKAttachment> AddAttachmentAsync (HKObject object, string name, UniformTypeIdentifiers.UTType contentType, Foundation.NSUrl URL, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata); public virtual void GetAttachments (HKObject object, HKAttachmentStoreGetAttachmentCompletionHandler completion); public virtual System.Threading.Tasks.Task<HKAttachment[]> GetAttachmentsAsync (HKObject object); public virtual Foundation.NSProgress GetData (HKAttachment attachment, System.Action<Foundation.NSData,Foundation.NSError> completion); public virtual System.Threading.Tasks.Task<Foundation.NSData> GetDataAsync (HKAttachment attachment); public virtual System.Threading.Tasks.Task<Foundation.NSData> GetDataAsync (HKAttachment attachment, out Foundation.NSProgress result); public virtual void RemoveAttachment (HKAttachment attachment, HKObject object, HKAttachmentStoreCompletionHandler completion); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RemoveAttachmentAsync (HKAttachment attachment, HKObject object); public virtual Foundation.NSProgress StreamData (HKAttachment attachment, HKAttachmentStoreDataHandler dataHandler); } ``` #### New Type: HealthKit.HKAttachmentStoreCompletionHandler ```csharp public sealed delegate HKAttachmentStoreCompletionHandler : System.MulticastDelegate { // constructors public HKAttachmentStoreCompletionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (bool success, Foundation.NSError error); } ``` #### New Type: HealthKit.HKAttachmentStoreDataHandler ```csharp public sealed delegate HKAttachmentStoreDataHandler : System.MulticastDelegate { // constructors public HKAttachmentStoreDataHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (Foundation.NSData dataChunk, Foundation.NSError error, bool done, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (Foundation.NSData dataChunk, Foundation.NSError error, bool done); } ``` #### New Type: HealthKit.HKAttachmentStoreGetAttachmentCompletionHandler ```csharp public sealed delegate HKAttachmentStoreGetAttachmentCompletionHandler : System.MulticastDelegate { // constructors public HKAttachmentStoreGetAttachmentCompletionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (HKAttachment[] attachments, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (HKAttachment[] attachments, Foundation.NSError error); } ``` #### New Type: HealthKit.HKCategoryValueSleepAnalysisAsleep ```csharp public class HKCategoryValueSleepAnalysisAsleep { // constructors public HKCategoryValueSleepAnalysisAsleep (); // methods public static System.Collections.Generic.HashSet<HKCategoryValueSleepAnalysis> GetAsleepValues (); } ``` #### New Type: HealthKit.HKContactsLensSpecification ```csharp public class HKContactsLensSpecification : HealthKit.HKLensSpecification, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public HKContactsLensSpecification (Foundation.NSCoder coder); protected HKContactsLensSpecification (Foundation.NSObjectFlag t); protected HKContactsLensSpecification (IntPtr handle); public HKContactsLensSpecification (HKQuantity sphere, HKQuantity cylinder, HKQuantity axis, HKQuantity addPower, HKQuantity baseCurve, HKQuantity diameter); // properties public virtual HKQuantity BaseCurve { get; } public override IntPtr ClassHandle { get; } public virtual HKQuantity Diameter { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: HealthKit.HKContactsPrescription ```csharp public class HKContactsPrescription : HealthKit.HKVisionPrescription { // constructors public HKContactsPrescription (Foundation.NSCoder coder); protected HKContactsPrescription (Foundation.NSObjectFlag t); protected HKContactsPrescription (IntPtr handle); // properties public virtual string Brand { get; } public override IntPtr ClassHandle { get; } public virtual HKContactsLensSpecification LeftEye { get; } public virtual HKContactsLensSpecification RightEye { get; } // methods public static HKContactsPrescription GetPrescription (HKContactsLensSpecification rightEyeSpecification, HKContactsLensSpecification leftEyeSpecification, string brand, Foundation.NSDate dateIssued, Foundation.NSDate expirationDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata); } ``` #### New Type: HealthKit.HKGlassesLensSpecification ```csharp public class HKGlassesLensSpecification : HealthKit.HKLensSpecification, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public HKGlassesLensSpecification (Foundation.NSCoder coder); protected HKGlassesLensSpecification (Foundation.NSObjectFlag t); protected HKGlassesLensSpecification (IntPtr handle); public HKGlassesLensSpecification (HKQuantity sphere, HKQuantity cylinder, HKQuantity axis, HKQuantity addPower, HKQuantity vertexDistance, HKVisionPrism prism, HKQuantity farPupillaryDistance, HKQuantity nearPupillaryDistance); // properties public override IntPtr ClassHandle { get; } public virtual HKQuantity FarPupillaryDistance { get; } public virtual HKQuantity NearPupillaryDistance { get; } public virtual HKVisionPrism Prism { get; } public virtual HKQuantity VertexDistance { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: HealthKit.HKGlassesPrescription ```csharp public class HKGlassesPrescription : HealthKit.HKVisionPrescription { // constructors public HKGlassesPrescription (Foundation.NSCoder coder); protected HKGlassesPrescription (Foundation.NSObjectFlag t); protected HKGlassesPrescription (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual HKGlassesLensSpecification LeftEye { get; } public virtual HKGlassesLensSpecification RightEye { get; } // methods public static HKGlassesPrescription GetPrescription (HKGlassesLensSpecification rightEyeSpecification, HKGlassesLensSpecification leftEyeSpecification, Foundation.NSDate dateIssued, Foundation.NSDate expirationDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata); } ``` #### New Type: HealthKit.HKHealthStoreCompletionHandler ```csharp public sealed delegate HKHealthStoreCompletionHandler : System.MulticastDelegate { // constructors public HKHealthStoreCompletionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (bool success, Foundation.NSError error); } ``` #### New Type: HealthKit.HKHeartRateRecoveryTestType ```csharp [Serializable] public enum HKHeartRateRecoveryTestType { MaxExercise = 1, PredictionNonExercise = 3, PredictionSubMaxExercise = 2, } ``` #### New Type: HealthKit.HKLensSpecification ```csharp public class HKLensSpecification : Foundation.NSObject { // constructors protected HKLensSpecification (Foundation.NSObjectFlag t); protected HKLensSpecification (IntPtr handle); // properties public virtual HKQuantity AddPower { get; } public virtual HKQuantity Axis { get; } public override IntPtr ClassHandle { get; } public virtual HKQuantity Cylinder { get; } public virtual HKQuantity Sphere { get; } } ``` #### New Type: HealthKit.HKLiveWorkoutBuilderDelegate_Extensions ```csharp public static class HKLiveWorkoutBuilderDelegate_Extensions { // methods public static void DidBeginActivity (this IHKLiveWorkoutBuilderDelegate This, HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity); public static void DidEndActivity (this IHKLiveWorkoutBuilderDelegate This, HKLiveWorkoutBuilder workoutBuilder, HKWorkoutActivity workoutActivity); } ``` #### New Type: HealthKit.HKPrescriptionType ```csharp public class HKPrescriptionType : HealthKit.HKSampleType { // constructors public HKPrescriptionType (Foundation.NSCoder coder); protected HKPrescriptionType (Foundation.NSObjectFlag t); protected HKPrescriptionType (IntPtr handle); // properties public override IntPtr ClassHandle { get; } } ``` #### New Type: HealthKit.HKPrismBase ```csharp [Serializable] public enum HKPrismBase { Down = 2, In = 3, None = 0, Out = 4, Up = 1, } ``` #### New Type: HealthKit.HKUserMotionContext ```csharp [Serializable] public enum HKUserMotionContext { Active = 2, NotSet = 0, Stationary = 1, } ``` #### New Type: HealthKit.HKVisionEye ```csharp [Serializable] public enum HKVisionEye { Left = 1, Right = 2, } ``` #### New Type: HealthKit.HKVisionPrescription ```csharp public class HKVisionPrescription : HealthKit.HKSample { // constructors public HKVisionPrescription (Foundation.NSCoder coder); protected HKVisionPrescription (Foundation.NSObjectFlag t); protected HKVisionPrescription (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSDate DateIssued { get; } public virtual Foundation.NSDate ExpirationDate { get; } public virtual HKVisionPrescriptionType PrescriptionType { get; } public static Foundation.NSString TypeIdentifier { get; } // methods public static HKVisionPrescription GetPrescription (HKVisionPrescriptionType type, Foundation.NSDate dateIssued, Foundation.NSDate expirationDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata); } ``` #### New Type: HealthKit.HKVisionPrescriptionType ```csharp [Serializable] public enum HKVisionPrescriptionType { Contacts = 2, Glasses = 1, } ``` #### New Type: HealthKit.HKVisionPrism ```csharp public class HKVisionPrism : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public HKVisionPrism (Foundation.NSCoder coder); protected HKVisionPrism (Foundation.NSObjectFlag t); protected HKVisionPrism (IntPtr handle); public HKVisionPrism (HKQuantity amount, HKQuantity angle, HKVisionEye eye); public HKVisionPrism (HKQuantity verticalAmount, HKPrismBase verticalBase, HKQuantity horizontalAmount, HKPrismBase horizontalBase, HKVisionEye eye); // properties public virtual HKQuantity Amount { get; } public virtual HKQuantity Angle { get; } public override IntPtr ClassHandle { get; } public virtual HKVisionEye Eye { get; } public virtual HKQuantity HorizontalAmount { get; } public virtual HKPrismBase HorizontalBase { get; } public virtual HKQuantity VerticalAmount { get; } public virtual HKPrismBase VerticalBase { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: HealthKit.HKWorkoutActivity ```csharp public class HKWorkoutActivity : Foundation.NSObject { // constructors protected HKWorkoutActivity (Foundation.NSObjectFlag t); protected HKWorkoutActivity (IntPtr handle); public HKWorkoutActivity (HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata); // properties public virtual Foundation.NSDictionary<HKQuantityType,HealthKit.HKStatistics> AllStatistics { get; } public override IntPtr ClassHandle { get; } public virtual double Duration { get; } public virtual Foundation.NSDate EndDate { get; } public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Metadata { get; } public virtual Foundation.NSDate StartDate { get; } public virtual Foundation.NSUuid Uuid { get; } public virtual HKWorkoutConfiguration WorkoutConfiguration { get; } public virtual HKWorkoutEvent[] WorkoutEvents { get; } // methods public virtual HKStatistics GetStatistics (HKQuantityType quantityType); } ``` #### New Type: HealthKit.HKWorkoutRouteQueryDataHandler ```csharp public sealed delegate HKWorkoutRouteQueryDataHandler : System.MulticastDelegate { // constructors public HKWorkoutRouteQueryDataHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (HKWorkoutRouteQuery query, CoreLocation.CLLocation[] routeData, bool done, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (HKWorkoutRouteQuery query, CoreLocation.CLLocation[] routeData, bool done, Foundation.NSError error); } ``` ### Namespace ImageIO #### Type Changed: ImageIO.CGImageProperties Added properties: ```csharp public static Foundation.NSString GroupImageBaseline { get; } public static Foundation.NSString GroupImageDisparityAdjustment { get; } public static Foundation.NSString HeifDictionary { get; } ``` #### New Type: ImageIO.IOCameraExtrinsics ```csharp public static class IOCameraExtrinsics { // properties public static Foundation.NSString CoordinateSystemId { get; } public static Foundation.NSString Position { get; } public static Foundation.NSString Rotation { get; } } ``` #### New Type: ImageIO.IOCameraModel ```csharp public static class IOCameraModel { // properties public static Foundation.NSString Intrinsics { get; } public static Foundation.NSString ModelType { get; } } ``` #### New Type: ImageIO.IOCameraModelType ```csharp public static class IOCameraModelType { // properties public static Foundation.NSString GenericPinhole { get; } public static Foundation.NSString SimplifiedPinhole { get; } } ``` #### New Type: ImageIO.IOMetadata ```csharp public static class IOMetadata { // properties public static Foundation.NSString CameraExtrinsicsKey { get; } public static Foundation.NSString CameraModelKey { get; } } ``` ### Namespace Intents #### Type Changed: Intents.INMessage Added constructor: ```csharp public INMessage (string identifier, string conversationIdentifier, string content, Foundation.NSDate dateSent, INPerson sender, INPerson[] recipients, INSpeakableString groupName, INMessageType messageType, string serviceName, INFile audioMessageFile); ``` Added property: ```csharp public virtual INFile AudioMessageFile { get; } ``` #### Type Changed: Intents.INSendMessageIntentResponse Added property: ```csharp public virtual INMessage[] SentMessages { get; set; } ``` ### Namespace MediaPlayer #### Type Changed: MediaPlayer.MPNowPlayingInfoCenter Added properties: ```csharp public static Foundation.NSString PropertyAdTimeRanges { get; } public static Foundation.NSString PropertyCreditsStartTime { get; } ``` ### Namespace NaturalLanguage #### Type Changed: NaturalLanguage.NLLanguage Added value: ```csharp Kazakh = 58, ``` ### Namespace NearbyInteraction #### Type Changed: NearbyInteraction.NIErrorCode Added values: ```csharp AccessoryPeerDeviceUnavailable = -5882, InvalidARConfiguration = -5883, ``` #### Type Changed: NearbyInteraction.NINearbyObject Added properties: ```csharp public static float AngleNotAvailable { get; } public virtual float HorizontalAngle { get; } public virtual NINearbyObjectVerticalDirectionEstimate VerticalDirectionEstimate { get; } public static OpenTK.NMatrix4 WorldTransformNotAvailable { get; } ``` #### Type Changed: NearbyInteraction.NISession Added property: ```csharp public static INIDeviceCapability DeviceCapabilities { get; } ``` Added methods: ```csharp public virtual OpenTK.NMatrix4 GetWorldTransform (NINearbyObject object); public virtual void SetARSession (Foundation.NSObject session); ``` #### Type Changed: NearbyInteraction.NISessionDelegate Added methods: ```csharp public virtual void DidSessionStartRunning (NISession session); public virtual void DidUpdateAlgorithmConvergence (NISession session, NIAlgorithmConvergence convergence, NINearbyObject object); ``` #### Type Changed: NearbyInteraction.NISessionDelegate_Extensions Added methods: ```csharp public static void DidSessionStartRunning (this INISessionDelegate This, NISession session); public static void DidUpdateAlgorithmConvergence (this INISessionDelegate This, NISession session, NIAlgorithmConvergence convergence, NINearbyObject object); ``` #### New Type: NearbyInteraction.INIDeviceCapability ```csharp public interface INIDeviceCapability : ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual bool SupportsCameraAssistance { get; } public virtual bool SupportsDirectionMeasurement { get; } public virtual bool SupportsPreciseDistanceMeasurement { get; } } ``` #### New Type: NearbyInteraction.NIAlgorithmConvergence ```csharp public class NIAlgorithmConvergence : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NIAlgorithmConvergence (Foundation.NSCoder coder); protected NIAlgorithmConvergence (Foundation.NSObjectFlag t); protected NIAlgorithmConvergence (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual string[] Reasons { get; } public virtual NIAlgorithmConvergenceStatus Status { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: NearbyInteraction.NIAlgorithmConvergenceStatus ```csharp [Serializable] public enum NIAlgorithmConvergenceStatus { Converged = 2, NotConverged = 1, Unknown = 0, } ``` #### New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReason ```csharp [Serializable] public enum NIAlgorithmConvergenceStatusReason { InsufficientHorizontalSweep = 0, InsufficientLighting = 3, InsufficientMovement = 2, InsufficientVerticalSweep = 1, } ``` #### New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReasonExtensions ```csharp public static class NIAlgorithmConvergenceStatusReasonExtensions { // methods public static Foundation.NSString GetConstant (this NIAlgorithmConvergenceStatusReason self); public static NIAlgorithmConvergenceStatusReason GetValue (Foundation.NSString constant); } ``` #### New Type: NearbyInteraction.NIAlgorithmConvergenceStatusReasonValues ```csharp public class NIAlgorithmConvergenceStatusReasonValues { // constructors public NIAlgorithmConvergenceStatusReasonValues (); // methods public static Foundation.NSString GetConvergenceStatusReason (NIAlgorithmConvergenceStatusReason reason); } ``` #### New Type: NearbyInteraction.NINearbyObjectVerticalDirectionEstimate ```csharp [Serializable] public enum NINearbyObjectVerticalDirectionEstimate { Above = 2, AboveOrBelow = 4, Below = 3, Same = 1, Unknown = 0, } ``` ### Namespace ObjCRuntime #### Type Changed: ObjCRuntime.Constants Modified fields: ```diff -public const string SdkVersion = "8.5"; +public const string SdkVersion = "9.0"; -public const string Version = "15.12.0"; +public const string Version = "15.99.0"; ``` Added fields: ```csharp public static const string CallKitLibrary = "/System/Library/Frameworks/CallKit.framework/CallKit"; public static const string DeviceCheckLibrary = "/System/Library/Frameworks/DeviceCheck.framework/DeviceCheck"; ``` ### Namespace PassKit #### Type Changed: PassKit.PKAddSecureElementPassErrorCode Added value: ```csharp OSVersionNotSupportedError = 6, ``` #### Type Changed: PassKit.PKPassLibrary Added methods: ```csharp public virtual void GetEncryptedServiceProviderData (PKSecureElementPass secureElementPass, System.Action<Foundation.NSDictionary,Foundation.NSError> completion); public virtual System.Threading.Tasks.Task<Foundation.NSDictionary> GetEncryptedServiceProviderDataAsync (PKSecureElementPass secureElementPass); ``` #### Type Changed: PassKit.PKPaymentNetwork Added properties: ```csharp public static Foundation.NSString Bancomat { get; } public static Foundation.NSString Bancontact { get; } public static Foundation.NSString Nanaco { get; } public static Foundation.NSString Waon { get; } ``` #### New Type: PassKit.IPKVehicleConnectionDelegate ```csharp public interface IPKVehicleConnectionDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState); public virtual void SessionDidReceiveData (Foundation.NSData data); } ``` #### New Type: PassKit.PKShareSecureElementPassErrorCode ```csharp [Serializable] public enum PKShareSecureElementPassErrorCode { SetupError = 1, UnknownError = 0, } ``` #### New Type: PassKit.PKShareSecureElementPassErrorCodeExtensions ```csharp public static class PKShareSecureElementPassErrorCodeExtensions { // methods public static Foundation.NSString GetDomain (this PKShareSecureElementPassErrorCode self); } ``` #### New Type: PassKit.PKVehicleConnectionDelegate ```csharp public abstract class PKVehicleConnectionDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, IPKVehicleConnectionDelegate, System.IDisposable { // constructors protected PKVehicleConnectionDelegate (); protected PKVehicleConnectionDelegate (Foundation.NSObjectFlag t); protected PKVehicleConnectionDelegate (IntPtr handle); // methods public virtual void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState); public virtual void SessionDidReceiveData (Foundation.NSData data); } ``` #### New Type: PassKit.PKVehicleConnectionErrorCode ```csharp [Serializable] public enum PKVehicleConnectionErrorCode { SessionNotActive = 2, SessionUnableToStart = 1, Unknown = 0, } ``` #### New Type: PassKit.PKVehicleConnectionSession ```csharp public class PKVehicleConnectionSession : Foundation.NSObject { // constructors protected PKVehicleConnectionSession (Foundation.NSObjectFlag t); protected PKVehicleConnectionSession (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual PKVehicleConnectionSessionConnectionState ConnectionStatus { get; } public IPKVehicleConnectionDelegate Delegate { get; } public virtual Foundation.NSObject WeakDelegate { get; } // methods protected override void Dispose (bool disposing); public static void GetSession (PKSecureElementPass pass, IPKVehicleConnectionDelegate delegate, System.Action<PKVehicleConnectionSession,Foundation.NSError> completion); public static System.Threading.Tasks.Task<PKVehicleConnectionSession> GetSessionAsync (PKSecureElementPass pass, IPKVehicleConnectionDelegate delegate); public virtual void Invalidate (); public virtual bool SendData (Foundation.NSData message, out Foundation.NSError error); } ``` #### New Type: PassKit.PKVehicleConnectionSessionConnectionState ```csharp [Serializable] public enum PKVehicleConnectionSessionConnectionState { Connected = 1, Connecting = 2, Disconnected = 0, FailedToConnect = 3, } ``` ### Namespace PushKit #### Type Changed: PushKit.PKPushType Added property: ```csharp public static Foundation.NSString Voip { get; } ``` ### Namespace ShazamKit #### Type Changed: ShazamKit.SHErrorCode Added value: ```csharp InternalError = 500, ``` #### Type Changed: ShazamKit.SHMediaItem Added properties: ```csharp public virtual SHRange[] FrequencySkewRanges { get; } public virtual SHRange[] TimeRanges { get; } ``` #### Type Changed: ShazamKit.SHMediaItemProperty Added values: ```csharp FrequencySkewRanges = 15, TimeRanges = 14, ``` #### Type Changed: ShazamKit.SHSignatureGenerator Added methods: ```csharp public static void GenerateSignature (AVFoundation.AVAsset asset, System.Action<SHSignature,Foundation.NSError> completionHandler); public static System.Threading.Tasks.Task<SHSignature> GenerateSignatureAsync (AVFoundation.AVAsset asset); ``` #### New Type: ShazamKit.SHRange ```csharp public class SHRange : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SHRange (Foundation.NSCoder coder); protected SHRange (Foundation.NSObjectFlag t); protected SHRange (IntPtr handle); public SHRange (double lowerBound, double upperBound); // properties public override IntPtr ClassHandle { get; } public virtual double LowerBound { get; } public virtual double UpperBound { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static SHRange CreateRange (double lowerBound, double upperBound); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` ### Namespace SpriteKit #### Type Changed: SpriteKit.SKNode Added property: ```csharp public virtual SKNodeFocusBehavior FocusBehavior { get; set; } ``` #### New Type: SpriteKit.SKNodeFocusBehavior ```csharp [Serializable] public enum SKNodeFocusBehavior { Focusable = 2, None = 0, Occluding = 1, } ``` ### Namespace UIKit #### Type Changed: UIKit.UIFont Added method: ```csharp public static UIFont SystemFontOfSize (nfloat fontSize, UIFontWeight weight, UIFontWidth width); ``` #### Type Changed: UIKit.UIImage Added methods: ```csharp public static UIImage FromBundle (string name, Foundation.NSBundle bundle, double value, UIImageConfiguration configuration); public static UIImage GetSystemImage (string name, double value, UIImageConfiguration configuration); ``` #### Type Changed: UIKit.UIImageSymbolConfiguration Added method: ```csharp public static UIImageSymbolConfiguration GetConfigurationPreferringMonochrome (); ``` #### New Type: UIKit.INSTextAttachmentContainer ```csharp public interface INSTextAttachmentContainer : ObjCRuntime.INativeObject, System.IDisposable { } ``` #### New Type: UIKit.INSTextAttachmentLayout ```csharp public interface INSTextAttachmentLayout : ObjCRuntime.INativeObject, System.IDisposable { } ``` #### New Type: UIKit.NSTextAttachmentContainer ```csharp public class NSTextAttachmentContainer : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, INSTextAttachmentContainer { // constructors public NSTextAttachmentContainer (); protected NSTextAttachmentContainer (Foundation.NSObjectFlag t); protected NSTextAttachmentContainer (IntPtr handle); } ``` #### New Type: UIKit.UIFontWidth ```csharp [Serializable] public enum UIFontWidth { Compressed = 3, Condensed = 0, Expanded = 2, Standard = 1, } ``` ### Namespace UniformTypeIdentifiers #### Type Changed: UniformTypeIdentifiers.UTType Added properties: ```csharp public static UTType SHCustomCatalogContentType { get; } public static UTType SHSignatureContentType { get; } ``` ### Namespace UserNotifications #### Type Changed: UserNotifications.UNErrorCode Added value: ```csharp BadgeInputInvalid = 1600, ``` #### Type Changed: UserNotifications.UNMutableNotificationContent Added property: ```csharp public virtual string FilterCriteria { get; set; } ``` #### Type Changed: UserNotifications.UNNotificationContent Added property: ```csharp public virtual string FilterCriteria { get; } ``` #### Type Changed: UserNotifications.UNNotificationInterruptionLevel Obsoleted fields: ```diff [Obsolete ("Use 'Active2'.")] Active = 0, [Obsolete ("Use 'Critical2'.")] Critical = 1, [Obsolete ("Use 'Passive2'.")] Passive = 2, [Obsolete ("Use 'TimeSensitive2'.")] TimeSensitive = 3, ``` Added values: ```csharp Active2 = 1, Critical2 = 3, Passive2 = 0, TimeSensitive2 = 2, ``` ### Namespace WatchKit #### New Type: WatchKit.IWKApplicationDelegate ```csharp public interface IWKApplicationDelegate : ObjCRuntime.INativeObject, System.IDisposable { } ``` #### New Type: WatchKit.WKApplication ```csharp public class WKApplication : Foundation.NSObject { // constructors protected WKApplication (Foundation.NSObjectFlag t); protected WKApplication (IntPtr handle); // properties public virtual WKApplicationState ApplicationState { get; } public virtual bool Autorotated { get; } public override IntPtr ClassHandle { get; } public IWKApplicationDelegate Delegate { get; } public virtual UIKit.UIColor GlobalTintColor { get; } public virtual bool IsApplicationRunningInDock { get; } public virtual bool IsAutorotating { get; set; } public virtual bool RegisteredForRemoteNotifications { get; } public virtual WKInterfaceController RootInterfaceController { get; } public static WKApplication SharedApplication { get; } public virtual WKInterfaceController VisibleInterfaceController { get; } public virtual Foundation.NSObject WeakDelegate { get; } // methods protected override void Dispose (bool disposing); public virtual void OpenSystemUrl (Foundation.NSUrl url); public virtual void RegisterForRemoteNotifications (); public virtual void ScheduleBackgroundRefresh (Foundation.NSDate preferredFireDate, Foundation.NSObject userInfo, System.Action<Foundation.NSError> scheduledCompletion); public virtual System.Threading.Tasks.Task ScheduleBackgroundRefreshAsync (Foundation.NSDate preferredFireDate, Foundation.NSObject userInfo); public virtual void ScheduleSnapshotRefresh (Foundation.NSDate preferredFireDate, Foundation.NSObject userInfo, System.Action<Foundation.NSError> scheduledCompletion); public virtual System.Threading.Tasks.Task ScheduleSnapshotRefreshAsync (Foundation.NSDate preferredFireDate, Foundation.NSObject userInfo); public virtual void UnregisterForRemoteNotifications (); } ``` #### New Type: WatchKit.WKApplicationDelegate ```csharp public class WKApplicationDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IWKApplicationDelegate { // constructors public WKApplicationDelegate (); protected WKApplicationDelegate (Foundation.NSObjectFlag t); protected WKApplicationDelegate (IntPtr handle); // methods public virtual void ApplicationDidBecomeActive (); public virtual void ApplicationDidEnterBackground (); public virtual void ApplicationDidFinishLaunching (); public virtual void ApplicationWillEnterForeground (); public virtual void ApplicationWillResignActive (); public virtual void DeviceOrientationDidChange (); public virtual void DidFailToRegisterForRemoteNotifications (Foundation.NSError error); public virtual void DidReceiveRemoteNotification (Foundation.NSDictionary userInfo, System.Action<WKBackgroundFetchResult> completionHandler); public virtual void DidRegisterForRemoteNotifications (Foundation.NSData deviceToken); public virtual void HandleActiveWorkoutRecovery (); public virtual void HandleActivity (Foundation.NSUserActivity userActivity); public virtual void HandleBackgroundTasks (Foundation.NSSet<WKRefreshBackgroundTask> backgroundTasks); public virtual void HandleExtendedRuntimeSession (WKExtendedRuntimeSession extendedRuntimeSession); public virtual void HandleIntent (Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler); public virtual void HandleRemoteNowPlayingActivity (); public virtual void HandleUserActivity (Foundation.NSDictionary userInfo); public virtual void HandleWorkoutConfiguration (HealthKit.HKWorkoutConfiguration workoutConfiguration); public virtual void UserDidAcceptCloudKitShare (CloudKit.CKShareMetadata cloudKitShareMetadata); } ``` #### New Type: WatchKit.WKApplicationDelegate_Extensions ```csharp public static class WKApplicationDelegate_Extensions { // methods public static void ApplicationDidBecomeActive (this IWKApplicationDelegate This); public static void ApplicationDidEnterBackground (this IWKApplicationDelegate This); public static void ApplicationDidFinishLaunching (this IWKApplicationDelegate This); public static void ApplicationWillEnterForeground (this IWKApplicationDelegate This); public static void ApplicationWillResignActive (this IWKApplicationDelegate This); public static void DeviceOrientationDidChange (this IWKApplicationDelegate This); public static void DidFailToRegisterForRemoteNotifications (this IWKApplicationDelegate This, Foundation.NSError error); public static void DidReceiveRemoteNotification (this IWKApplicationDelegate This, Foundation.NSDictionary userInfo, System.Action<WKBackgroundFetchResult> completionHandler); public static void DidRegisterForRemoteNotifications (this IWKApplicationDelegate This, Foundation.NSData deviceToken); public static void HandleActiveWorkoutRecovery (this IWKApplicationDelegate This); public static void HandleActivity (this IWKApplicationDelegate This, Foundation.NSUserActivity userActivity); public static void HandleBackgroundTasks (this IWKApplicationDelegate This, Foundation.NSSet<WKRefreshBackgroundTask> backgroundTasks); public static void HandleExtendedRuntimeSession (this IWKApplicationDelegate This, WKExtendedRuntimeSession extendedRuntimeSession); public static void HandleIntent (this IWKApplicationDelegate This, Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler); public static void HandleRemoteNowPlayingActivity (this IWKApplicationDelegate This); public static void HandleUserActivity (this IWKApplicationDelegate This, Foundation.NSDictionary userInfo); public static void HandleWorkoutConfiguration (this IWKApplicationDelegate This, HealthKit.HKWorkoutConfiguration workoutConfiguration); public static void UserDidAcceptCloudKitShare (this IWKApplicationDelegate This, CloudKit.CKShareMetadata cloudKitShareMetadata); } ``` #### New Type: WatchKit.WKBluetoothAlertRefreshBackgroundTask ```csharp public class WKBluetoothAlertRefreshBackgroundTask : WatchKit.WKRefreshBackgroundTask { // constructors public WKBluetoothAlertRefreshBackgroundTask (); protected WKBluetoothAlertRefreshBackgroundTask (Foundation.NSObjectFlag t); protected WKBluetoothAlertRefreshBackgroundTask (IntPtr handle); // properties public override IntPtr ClassHandle { get; } } ``` ### New Namespace CallKit #### New Type: CallKit.CXAction ```csharp public class CXAction : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CXAction (); public CXAction (Foundation.NSCoder coder); protected CXAction (Foundation.NSObjectFlag t); protected CXAction (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool Complete { get; } public virtual Foundation.NSDate TimeoutDate { get; } public virtual Foundation.NSUuid Uuid { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); public virtual void Fail (); public virtual void Fulfill (); } ``` #### New Type: CallKit.CXAnswerCallAction ```csharp public class CXAnswerCallAction : CallKit.CXCallAction { // constructors public CXAnswerCallAction (Foundation.NSCoder coder); protected CXAnswerCallAction (Foundation.NSObjectFlag t); public CXAnswerCallAction (Foundation.NSUuid callUuid); protected CXAnswerCallAction (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual void Fulfill (Foundation.NSDate dateConnected); } ``` #### New Type: CallKit.CXCall ```csharp public class CXCall : Foundation.NSObject { // constructors protected CXCall (Foundation.NSObjectFlag t); protected CXCall (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool HasConnected { get; } public virtual bool HasEnded { get; } public virtual bool OnHold { get; } public virtual bool Outgoing { get; } public virtual Foundation.NSUuid Uuid { get; } // methods public virtual bool IsEqual (CXCall call); } ``` #### New Type: CallKit.CXCallAction ```csharp public class CXCallAction : CallKit.CXAction { // constructors public CXCallAction (Foundation.NSCoder coder); protected CXCallAction (Foundation.NSObjectFlag t); public CXCallAction (Foundation.NSUuid callUuid); protected CXCallAction (IntPtr handle); // properties public virtual Foundation.NSUuid CallUuid { get; } public override IntPtr ClassHandle { get; } } ``` #### New Type: CallKit.CXCallController ```csharp public class CXCallController : Foundation.NSObject { // constructors public CXCallController (); public CXCallController (CoreFoundation.DispatchQueue queue); protected CXCallController (Foundation.NSObjectFlag t); protected CXCallController (IntPtr handle); // properties public virtual CXCallObserver CallObserver { get; } public override IntPtr ClassHandle { get; } // methods public virtual void RequestTransaction (CXAction action, System.Action<Foundation.NSError> completion); public virtual void RequestTransaction (CXAction[] actions, System.Action<Foundation.NSError> completion); public virtual void RequestTransaction (CXTransaction transaction, System.Action<Foundation.NSError> completion); public virtual System.Threading.Tasks.Task RequestTransactionAsync (CXAction action); public virtual System.Threading.Tasks.Task RequestTransactionAsync (CXAction[] actions); public virtual System.Threading.Tasks.Task RequestTransactionAsync (CXTransaction transaction); } ``` #### New Type: CallKit.CXCallEndedReason ```csharp [Serializable] public enum CXCallEndedReason { AnsweredElsewhere = 4, DeclinedElsewhere = 5, Failed = 1, RemoteEnded = 2, Unanswered = 3, } ``` #### New Type: CallKit.CXCallObserver ```csharp public class CXCallObserver : Foundation.NSObject { // constructors public CXCallObserver (); protected CXCallObserver (Foundation.NSObjectFlag t); protected CXCallObserver (IntPtr handle); // properties public virtual CXCall[] Calls { get; } public override IntPtr ClassHandle { get; } // methods public virtual void SetDelegate (ICXCallObserverDelegate aDelegate, CoreFoundation.DispatchQueue queue); } ``` #### New Type: CallKit.CXCallObserverDelegate ```csharp public abstract class CXCallObserverDelegate : Foundation.NSObject, ICXCallObserverDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CXCallObserverDelegate (); protected CXCallObserverDelegate (Foundation.NSObjectFlag t); protected CXCallObserverDelegate (IntPtr handle); // methods public virtual void CallChanged (CXCallObserver callObserver, CXCall call); } ``` #### New Type: CallKit.CXCallUpdate ```csharp public class CXCallUpdate : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CXCallUpdate (); protected CXCallUpdate (Foundation.NSObjectFlag t); protected CXCallUpdate (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual bool HasVideo { get; set; } public virtual string LocalizedCallerName { get; set; } public virtual CXHandle RemoteHandle { get; set; } public virtual bool SupportsDtmf { get; set; } public virtual bool SupportsGrouping { get; set; } public virtual bool SupportsHolding { get; set; } public virtual bool SupportsUngrouping { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: CallKit.CXEndCallAction ```csharp public class CXEndCallAction : CallKit.CXCallAction { // constructors public CXEndCallAction (Foundation.NSCoder coder); protected CXEndCallAction (Foundation.NSObjectFlag t); public CXEndCallAction (Foundation.NSUuid callUuid); protected CXEndCallAction (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual void Fulfill (Foundation.NSDate dateEnded); } ``` #### New Type: CallKit.CXErrorCode ```csharp [Serializable] public enum CXErrorCode { InvalidArgument = 2, MissingVoIPBackgroundMode = 3, Unentitled = 1, Unknown = 0, } ``` #### New Type: CallKit.CXErrorCodeCallDirectoryManagerError ```csharp [Serializable] public enum CXErrorCodeCallDirectoryManagerError { CurrentlyLoading = 7, DuplicateEntries = 4, EntriesOutOfOrder = 3, ExtensionDisabled = 6, LoadingInterrupted = 2, MaximumEntriesExceeded = 5, NoExtensionFound = 1, UnexpectedIncrementalRemoval = 8, Unknown = 0, } ``` #### New Type: CallKit.CXErrorCodeCallDirectoryManagerErrorExtensions ```csharp public static class CXErrorCodeCallDirectoryManagerErrorExtensions { // methods public static Foundation.NSString GetDomain (this CXErrorCodeCallDirectoryManagerError self); } ``` #### New Type: CallKit.CXErrorCodeExtensions ```csharp public static class CXErrorCodeExtensions { // methods public static Foundation.NSString GetDomain (this CXErrorCode self); } ``` #### New Type: CallKit.CXErrorCodeIncomingCallError ```csharp [Serializable] public enum CXErrorCodeIncomingCallError { CallUuidAlreadyExists = 2, FilteredByBlockList = 4, FilteredByDoNotDisturb = 3, Unentitled = 1, Unknown = 0, } ``` #### New Type: CallKit.CXErrorCodeIncomingCallErrorExtensions ```csharp public static class CXErrorCodeIncomingCallErrorExtensions { // methods public static Foundation.NSString GetDomain (this CXErrorCodeIncomingCallError self); } ``` #### New Type: CallKit.CXErrorCodeNotificationServiceExtensionError ```csharp [Serializable] public enum CXErrorCodeNotificationServiceExtensionError { InvalidClientProcess = 1, MissingNotificationFilteringEntitlement = 2, Unknown = 0, } ``` #### New Type: CallKit.CXErrorCodeNotificationServiceExtensionErrorExtensions ```csharp public static class CXErrorCodeNotificationServiceExtensionErrorExtensions { // methods public static Foundation.NSString GetDomain (this CXErrorCodeNotificationServiceExtensionError self); } ``` #### New Type: CallKit.CXErrorCodeRequestTransactionError ```csharp [Serializable] public enum CXErrorCodeRequestTransactionError { CallUuidAlreadyExists = 5, EmptyTransaction = 3, InvalidAction = 6, MaximumCallGroupsReached = 7, Unentitled = 1, Unknown = 0, UnknownCallProvider = 2, UnknownCallUuid = 4, } ``` #### New Type: CallKit.CXErrorCodeRequestTransactionErrorExtensions ```csharp public static class CXErrorCodeRequestTransactionErrorExtensions { // methods public static Foundation.NSString GetDomain (this CXErrorCodeRequestTransactionError self); } ``` #### New Type: CallKit.CXHandle ```csharp public class CXHandle : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CXHandle (Foundation.NSCoder coder); protected CXHandle (Foundation.NSObjectFlag t); protected CXHandle (IntPtr handle); public CXHandle (CXHandleType type, string value); // properties public override IntPtr ClassHandle { get; } public virtual CXHandleType Type { get; } public virtual string Value { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); public virtual bool IsEqual (CXHandle handle); } ``` #### New Type: CallKit.CXHandleType ```csharp [Serializable] public enum CXHandleType { EmailAddress = 3, Generic = 1, PhoneNumber = 2, } ``` #### New Type: CallKit.CXPlayDtmfCallAction ```csharp public class CXPlayDtmfCallAction : CallKit.CXCallAction { // constructors public CXPlayDtmfCallAction (Foundation.NSCoder coder); protected CXPlayDtmfCallAction (Foundation.NSObjectFlag t); protected CXPlayDtmfCallAction (IntPtr handle); public CXPlayDtmfCallAction (Foundation.NSUuid callUuid, string digits, CXPlayDtmfCallActionType type); // properties public override IntPtr ClassHandle { get; } public virtual string Digits { get; set; } public virtual CXPlayDtmfCallActionType Type { get; set; } } ``` #### New Type: CallKit.CXPlayDtmfCallActionType ```csharp [Serializable] public enum CXPlayDtmfCallActionType { HardPause = 3, SingleTone = 1, SoftPause = 2, } ``` #### New Type: CallKit.CXProvider ```csharp public class CXProvider : Foundation.NSObject { // constructors public CXProvider (CXProviderConfiguration configuration); protected CXProvider (Foundation.NSObjectFlag t); protected CXProvider (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual CXProviderConfiguration Configuration { get; set; } public virtual CXTransaction[] PendingTransactions { get; } // methods public CXCallAction[] GetPendingCallActions<T> (Foundation.NSUuid callUuid); public virtual CXCallAction[] GetPendingCallActions (ObjCRuntime.Class callActionClass, Foundation.NSUuid callUuid); public virtual void Invalidate (); public virtual void ReportCall (Foundation.NSUuid uuid, CXCallUpdate update); public virtual void ReportCall (Foundation.NSUuid uuid, Foundation.NSDate dateEnded, CXCallEndedReason endedReason); public virtual void ReportConnectedOutgoingCall (Foundation.NSUuid uuid, Foundation.NSDate dateConnected); public virtual void ReportConnectingOutgoingCall (Foundation.NSUuid uuid, Foundation.NSDate dateStartedConnecting); public virtual void ReportNewIncomingCall (Foundation.NSUuid uuid, CXCallUpdate update, System.Action<Foundation.NSError> completion); public virtual System.Threading.Tasks.Task ReportNewIncomingCallAsync (Foundation.NSUuid uuid, CXCallUpdate update); public virtual void SetDelegate (ICXProviderDelegate aDelegate, CoreFoundation.DispatchQueue queue); } ``` #### New Type: CallKit.CXProviderConfiguration ```csharp public class CXProviderConfiguration : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CXProviderConfiguration (); protected CXProviderConfiguration (Foundation.NSObjectFlag t); protected CXProviderConfiguration (IntPtr handle); public CXProviderConfiguration (string localizedName); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSData IconTemplateImageData { get; set; } public virtual bool IncludesCallsInRecents { get; set; } public virtual string LocalizedName { get; } public virtual nuint MaximumCallGroups { get; set; } public virtual nuint MaximumCallsPerCallGroup { get; set; } public virtual string RingtoneSound { get; set; } public virtual Foundation.NSSet<Foundation.NSNumber> SupportedHandleTypes { get; set; } public virtual bool SupportsVideo { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: CallKit.CXProviderDelegate ```csharp public abstract class CXProviderDelegate : Foundation.NSObject, ICXProviderDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CXProviderDelegate (); protected CXProviderDelegate (Foundation.NSObjectFlag t); protected CXProviderDelegate (IntPtr handle); // methods public virtual void DidActivateAudioSession (CXProvider provider, AVFoundation.AVAudioSession audioSession); public virtual void DidBegin (CXProvider provider); public virtual void DidDeactivateAudioSession (CXProvider provider, AVFoundation.AVAudioSession audioSession); public virtual void DidReset (CXProvider provider); public virtual bool ExecuteTransaction (CXProvider provider, CXTransaction transaction); public virtual void PerformAnswerCallAction (CXProvider provider, CXAnswerCallAction action); public virtual void PerformEndCallAction (CXProvider provider, CXEndCallAction action); public virtual void PerformPlayDtmfCallAction (CXProvider provider, CXPlayDtmfCallAction action); public virtual void PerformSetGroupCallAction (CXProvider provider, CXSetGroupCallAction action); public virtual void PerformSetHeldCallAction (CXProvider provider, CXSetHeldCallAction action); public virtual void PerformSetMutedCallAction (CXProvider provider, CXSetMutedCallAction action); public virtual void PerformStartCallAction (CXProvider provider, CXStartCallAction action); public virtual void TimedOutPerformingAction (CXProvider provider, CXAction action); } ``` #### New Type: CallKit.CXProviderDelegate_Extensions ```csharp public static class CXProviderDelegate_Extensions { // methods public static void DidActivateAudioSession (this ICXProviderDelegate This, CXProvider provider, AVFoundation.AVAudioSession audioSession); public static void DidBegin (this ICXProviderDelegate This, CXProvider provider); public static void DidDeactivateAudioSession (this ICXProviderDelegate This, CXProvider provider, AVFoundation.AVAudioSession audioSession); public static bool ExecuteTransaction (this ICXProviderDelegate This, CXProvider provider, CXTransaction transaction); public static void PerformAnswerCallAction (this ICXProviderDelegate This, CXProvider provider, CXAnswerCallAction action); public static void PerformEndCallAction (this ICXProviderDelegate This, CXProvider provider, CXEndCallAction action); public static void PerformPlayDtmfCallAction (this ICXProviderDelegate This, CXProvider provider, CXPlayDtmfCallAction action); public static void PerformSetGroupCallAction (this ICXProviderDelegate This, CXProvider provider, CXSetGroupCallAction action); public static void PerformSetHeldCallAction (this ICXProviderDelegate This, CXProvider provider, CXSetHeldCallAction action); public static void PerformSetMutedCallAction (this ICXProviderDelegate This, CXProvider provider, CXSetMutedCallAction action); public static void PerformStartCallAction (this ICXProviderDelegate This, CXProvider provider, CXStartCallAction action); public static void TimedOutPerformingAction (this ICXProviderDelegate This, CXProvider provider, CXAction action); } ``` #### New Type: CallKit.CXSetGroupCallAction ```csharp public class CXSetGroupCallAction : CallKit.CXCallAction { // constructors public CXSetGroupCallAction (Foundation.NSCoder coder); protected CXSetGroupCallAction (Foundation.NSObjectFlag t); protected CXSetGroupCallAction (IntPtr handle); public CXSetGroupCallAction (Foundation.NSUuid callUuid, Foundation.NSUuid callUuidToGroupWith); // properties public virtual Foundation.NSUuid CallUuidToGroupWith { get; set; } public override IntPtr ClassHandle { get; } } ``` #### New Type: CallKit.CXSetHeldCallAction ```csharp public class CXSetHeldCallAction : CallKit.CXCallAction { // constructors public CXSetHeldCallAction (Foundation.NSCoder coder); protected CXSetHeldCallAction (Foundation.NSObjectFlag t); protected CXSetHeldCallAction (IntPtr handle); public CXSetHeldCallAction (Foundation.NSUuid callUuid, bool onHold); // properties public override IntPtr ClassHandle { get; } public virtual bool OnHold { get; set; } } ``` #### New Type: CallKit.CXSetMutedCallAction ```csharp public class CXSetMutedCallAction : CallKit.CXCallAction { // constructors public CXSetMutedCallAction (Foundation.NSCoder coder); protected CXSetMutedCallAction (Foundation.NSObjectFlag t); protected CXSetMutedCallAction (IntPtr handle); public CXSetMutedCallAction (Foundation.NSUuid callUuid, bool muted); // properties public override IntPtr ClassHandle { get; } public virtual bool Muted { get; set; } } ``` #### New Type: CallKit.CXStartCallAction ```csharp public class CXStartCallAction : CallKit.CXCallAction { // constructors public CXStartCallAction (Foundation.NSCoder coder); protected CXStartCallAction (Foundation.NSObjectFlag t); protected CXStartCallAction (IntPtr handle); public CXStartCallAction (Foundation.NSUuid callUuid, CXHandle callHandle); // properties public virtual CXHandle CallHandle { get; set; } public override IntPtr ClassHandle { get; } public virtual string ContactIdentifier { get; set; } public virtual bool Video { get; set; } // methods public virtual void Fulfill (Foundation.NSDate dateStarted); } ``` #### New Type: CallKit.CXTransaction ```csharp public class CXTransaction : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CXTransaction (CXAction action); public CXTransaction (CXAction[] actions); public CXTransaction (Foundation.NSCoder coder); protected CXTransaction (Foundation.NSObjectFlag t); protected CXTransaction (IntPtr handle); // properties public virtual CXAction[] Actions { get; } public override IntPtr ClassHandle { get; } public virtual bool Complete { get; } public virtual Foundation.NSUuid Uuid { get; } // methods public virtual void AddAction (CXAction action); public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: CallKit.ICXCallObserverDelegate ```csharp public interface ICXCallObserverDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void CallChanged (CXCallObserver callObserver, CXCall call); } ``` #### New Type: CallKit.ICXProviderDelegate ```csharp public interface ICXProviderDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void DidReset (CXProvider provider); } ``` ### New Namespace DeviceCheck #### New Type: DeviceCheck.DCAppAttestService ```csharp public class DCAppAttestService : Foundation.NSObject { // constructors protected DCAppAttestService (Foundation.NSObjectFlag t); protected DCAppAttestService (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public static DCAppAttestService SharedService { get; } public virtual bool Supported { get; } // methods public virtual void AttestKey (string keyId, Foundation.NSData clientDataHash, System.Action<Foundation.NSData,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task<Foundation.NSData> AttestKeyAsync (string keyId, Foundation.NSData clientDataHash); public virtual void GenerateAssertion (string keyId, Foundation.NSData clientDataHash, System.Action<Foundation.NSData,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task<Foundation.NSData> GenerateAssertionAsync (string keyId, Foundation.NSData clientDataHash); public virtual void GenerateKey (System.Action<System.String,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task<string> GenerateKeyAsync (); } ``` #### New Type: DeviceCheck.DCDevice ```csharp public class DCDevice : Foundation.NSObject { // constructors protected DCDevice (Foundation.NSObjectFlag t); protected DCDevice (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public static DCDevice CurrentDevice { get; } public virtual bool Supported { get; } // methods public virtual void GenerateToken (DCDeviceGenerateTokenCompletionHandler completion); public virtual System.Threading.Tasks.Task<Foundation.NSData> GenerateTokenAsync (); } ``` #### New Type: DeviceCheck.DCDeviceGenerateTokenCompletionHandler ```csharp public sealed delegate DCDeviceGenerateTokenCompletionHandler : System.MulticastDelegate { // constructors public DCDeviceGenerateTokenCompletionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (Foundation.NSData token, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (Foundation.NSData token, Foundation.NSError error); } ``` #### New Type: DeviceCheck.DCError ```csharp [Serializable] public enum DCError { FeatureUnsupported = 1, InvalidInput = 2, InvalidKey = 3, ServerUnavailable = 4, UnknownSystemFailure = 0, } ``` #### New Type: DeviceCheck.DCErrorExtensions ```csharp public static class DCErrorExtensions { // methods public static Foundation.NSString GetDomain (this DCError self); } ```