/Microsoft.iOS.md Secret
Created
February 16, 2024 04:04
Revisions
-
vs-mobiletools-engineering-service2 created this gist
Feb 16, 2024 .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,2317 @@ # API diff: Microsoft.iOS.dll ## Microsoft.iOS.dll ### Namespace AVFoundation #### Type Changed: AVFoundation.AVAssetDownloadDelegate Added methods: ```csharp public virtual void DidReceiveInformationalResponse (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, Foundation.NSHttpUrlResponse response); public virtual void NeedNewBodyStream (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, long offset, System.Action<Foundation.NSInputStream> completionHandler); ``` ### Namespace AudioToolbox #### Type Changed: AudioToolbox.MusicPlayer Modified methods: ```diff -protected virtual void Dispose (bool disposing) +protected override void Dispose (bool disposing) ``` Added methods: ```csharp public MusicPlayerStatus GetTime (out double time); public MusicPlayerStatus SetTime (double time); ``` ### Namespace CoreMidi #### Type Changed: CoreMidi.MidiPacket Obsoleted properties: ```diff [Obsolete ("This property may return a pointer to a managed object, and this pointer is never safe to use. Use ByteArray or BytePointer instead.")] public IntPtr Bytes { get; } ``` ### Namespace CoreText #### Type Changed: CoreText.CTFontDescriptor Obsoleted methods: ```diff [Obsolete ("Use 'MatchFontDescriptors (CTFontDescriptor[], NSSet, CTFontDescriptorProgressHandler)' instead.")] public static bool MatchFontDescriptors (CTFontDescriptor[] descriptors, Foundation.NSSet mandatoryAttributes, System.Func<CTFontDescriptorMatchingState,System.IntPtr,System.Boolean> progressHandler); ``` Added method: ```csharp public static bool MatchFontDescriptors (CTFontDescriptor[] descriptors, Foundation.NSSet mandatoryAttributes, CTFontDescriptor.CTFontDescriptorProgressHandler progressHandler); ``` #### Type Changed: CoreText.CTFontDescriptorAttributes Added property: ```csharp public bool? WeakEnabled { get; set; } ``` #### New Type: CoreText.CTFontDescriptorMatchingProgress ```csharp public class CTFontDescriptorMatchingProgress : Foundation.DictionaryContainer { // constructors public CTFontDescriptorMatchingProgress (); public CTFontDescriptorMatchingProgress (Foundation.NSDictionary dictionary); // properties public long? CurrentAssetSize { get; } public CTFontDescriptor[] Descriptors { get; } public Foundation.NSError Error { get; } public double? Percentage { get; } public CTFontDescriptor[] Result { get; } public CTFontDescriptor SourceDescriptor { get; } public long? TotalAssetSize { get; } public long? TotalDownloadedSize { get; } } ``` ### Namespace Foundation #### Type Changed: Foundation.DictionaryContainer Added methods: ```csharp protected UIKit.UIEdgeInsets? GetUIEdgeInsets (NSString key); protected void SetUIEdgeInsets (NSString key, UIKit.UIEdgeInsets? value); ``` #### Type Changed: Foundation.NSAttributedStringDocumentAttributes Obsoleted properties: ```diff [Obsolete ("Use 'CharacterEncoding' instead.")] public NSStringEncoding? StringEncoding { get; set; } ``` Added properties: ```csharp public NSStringEncoding? CharacterEncoding { get; set; } public float? CocoaVersion { get; set; } public NSAttributedStringDocumentAttributes DefaultAttributes { get; set; } public UIKit.NSTextScalingType? SourceTextScaling { get; set; } public UIKit.NSTextScalingType? TextScaling { get; set; } ``` #### Type Changed: Foundation.NSAttributedStringNameKey Added values: ```csharp InflectionAgreementArgument = 10, InflectionAgreementConcept = 11, InflectionReferentConcept = 12, ``` #### Type Changed: Foundation.NSBundle Added property: ```csharp public static NSString BundleDidLoadNotification { get; } ``` #### Type Changed: Foundation.NSDataWritingOptions Added value: ```csharp FileProtectionCompleteWhenUserInactive = 1342177280, ``` #### Type Changed: Foundation.NSDate Added property: ```csharp public static NSString SystemClockDidChangeNotification { get; } ``` #### Type Changed: Foundation.NSError Added property: ```csharp public static NSString NSNetServicesErrorCode { get; } ``` #### Type Changed: Foundation.NSFileProtectionType Added value: ```csharp CompleteWhenUserInactive = 4, ``` #### Type Changed: Foundation.NSLocale Added properties: ```csharp public virtual string LanguageIdentifier { get; } public virtual string RegionCode { get; } ``` #### Type Changed: Foundation.NSMorphology Added properties: ```csharp public virtual NSGrammaticalDefiniteness Definiteness { get; set; } public virtual NSGrammaticalDetermination Determination { get; set; } public virtual NSGrammaticalCase GrammaticalCase { get; set; } public virtual NSGrammaticalPerson GrammaticalPerson { get; set; } public virtual NSGrammaticalPronounType PronounType { get; set; } ``` #### Type Changed: Foundation.NSPort Added property: ```csharp public static NSString PortDidBecomeInvalidNotification { get; } ``` #### Type Changed: Foundation.NSThread Added properties: ```csharp public static NSString ThreadWillExitNotification { get; } public static NSString WillBecomeMultiThreadedNotification { get; } ``` #### Type Changed: Foundation.NSTimeZone Added property: ```csharp public static NSString SystemTimeZoneDidChangeNotification { get; } ``` #### Type Changed: Foundation.NSUrl Added properties: ```csharp public static NSString DirectoryEntryCountKey { get; } public static NSString FileProtectionCompleteWhenUserInactive { get; } ``` Added method: ```csharp public static NSUrl FromString (string url, bool encodingInvalidCharacters); ``` #### Type Changed: Foundation.NSUrlComponents Added method: ```csharp public static NSUrlComponents FromString (string url, bool encodingInvalidCharacters); ``` #### Type Changed: Foundation.NSUrlSession Added methods: ```csharp public virtual NSUrlSessionUploadTask CreateUploadTask (NSData resumeData); public virtual NSUrlSessionUploadTask CreateUploadTask (NSData resumeData, System.Action<NSData,Foundation.NSUrlResponse,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task<NSUrlSessionUploadTaskResumeRequest> CreateUploadTaskAsync (NSData resumeData); public virtual System.Threading.Tasks.Task<NSUrlSessionUploadTaskResumeRequest> CreateUploadTaskAsync (NSData resumeData, out NSUrlSessionUploadTask result); ``` #### Type Changed: Foundation.NSUrlSessionConfiguration Added property: ```csharp public Network.NWProxyConfig[] ProxyConfigurations { get; set; } ``` #### Type Changed: Foundation.NSUrlSessionTaskDelegate Added methods: ```csharp public virtual void DidReceiveInformationalResponse (NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response); public virtual void NeedNewBodyStream (NSUrlSession session, NSUrlSessionTask task, long offset, System.Action<NSInputStream> completionHandler); ``` #### Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions Added methods: ```csharp public static void DidReceiveInformationalResponse (this INSUrlSessionTaskDelegate This, NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response); public static void NeedNewBodyStream (this INSUrlSessionTaskDelegate This, NSUrlSession session, NSUrlSessionTask task, long offset, System.Action<NSInputStream> completionHandler); ``` #### Type Changed: Foundation.NSUrlSessionUploadTask Added property: ```csharp public static NSString ResumeDataKey { get; } ``` Added methods: ```csharp public virtual void CancelByProducingResumeData (System.Action<NSData> completionHandler); public virtual System.Threading.Tasks.Task<NSData> CancelByProducingResumeDataAsync (); ``` #### New Type: Foundation.NSGrammaticalCase ```csharp [Serializable] public enum NSGrammaticalCase { Ablative = 6, Accusative = 2, Adessive = 7, Allative = 8, Dative = 3, Elative = 9, Essive = 11, Genitive = 4, Illative = 10, Inessive = 12, Locative = 13, Nominative = 1, NotSet = 0, Prepositional = 5, Translative = 14, } ``` #### New Type: Foundation.NSGrammaticalDefiniteness ```csharp [Serializable] public enum NSGrammaticalDefiniteness { Definite = 2, Indefinite = 1, NotSet = 0, } ``` #### New Type: Foundation.NSGrammaticalDetermination ```csharp [Serializable] public enum NSGrammaticalDetermination { Dependent = 2, Independent = 1, NotSet = 0, } ``` #### New Type: Foundation.NSGrammaticalPerson ```csharp [Serializable] public enum NSGrammaticalPerson { First = 1, NotSet = 0, Second = 2, Third = 3, } ``` #### New Type: Foundation.NSGrammaticalPronounType ```csharp [Serializable] public enum NSGrammaticalPronounType { NotSet = 0, Personal = 1, Possessive = 3, Reflexive = 2, } ``` #### New Type: Foundation.NSMorphologyPronoun ```csharp public class NSMorphologyPronoun : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSMorphologyPronoun (NSCoder coder); protected NSMorphologyPronoun (NSObjectFlag t); protected NSMorphologyPronoun (ObjCRuntime.NativeHandle handle); public NSMorphologyPronoun (string pronoun, NSMorphology morphology, NSMorphology dependentMorphology); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual NSMorphology DependentMorphology { get; } public virtual NSMorphology Morphology { get; } public virtual string Pronoun { get; } // methods public virtual NSObject Copy (NSZone zone); public virtual void EncodeTo (NSCoder encoder); } ``` #### New Type: Foundation.NSTermOfAddress ```csharp public class NSTermOfAddress : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSTermOfAddress (NSCoder coder); protected NSTermOfAddress (NSObjectFlag t); protected NSTermOfAddress (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public static NSTermOfAddress Feminine { get; } public virtual string LanguageIdentifier { get; } public static NSTermOfAddress Masculine { get; } public static NSTermOfAddress Neutral { get; } public virtual NSMorphologyPronoun[] Pronouns { get; } // methods public virtual NSObject Copy (NSZone zone); public virtual void EncodeTo (NSCoder encoder); public static NSTermOfAddress GetLocalized (string language, NSMorphologyPronoun[] pronouns); } ``` #### New Type: Foundation.NSUrlSessionUploadTaskResumeRequest ```csharp public class NSUrlSessionUploadTaskResumeRequest { // constructors public NSUrlSessionUploadTaskResumeRequest (NSData arg1, NSUrlResponse arg2); // properties public NSData Arg1 { get; set; } public NSUrlResponse Arg2 { get; set; } } ``` ### Namespace GameKit #### Type Changed: GameKit.GKAchievement Added methods: ```csharp public virtual UIKit.UIViewController ChallengeComposeControllerWithMessage (string message, GKPlayer[] players, GKChallengeComposeHandler2 completionHandler); public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players); public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players, out UIKit.UIViewController result); ``` #### Type Changed: GameKit.GKAchievementDescription Added property: ```csharp public virtual Foundation.NSNumber RarityPercent { get; } ``` #### Type Changed: GameKit.GKLeaderboardEntry Added methods: ```csharp public virtual UIKit.UIViewController ChallengeComposeControllerWithMessage (string message, GKPlayer[] players, GKChallengeComposeHandler2 completionHandler); public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players); public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players, out UIKit.UIViewController result); ``` #### Type Changed: GameKit.GKVoiceChat Added property: ```csharp public virtual System.Action<GKPlayer,GameKit.GKVoiceChatPlayerState> PlayerVoiceChatStateDidChangeHandler { get; } ``` #### New Type: GameKit.GKChallengeComposeControllerResult ```csharp public class GKChallengeComposeControllerResult { // constructors public GKChallengeComposeControllerResult (UIKit.UIViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers); // properties public UIKit.UIViewController ComposeController { get; set; } public bool IssuedChallenge { get; set; } public GKPlayer[] SentPlayers { get; set; } } ``` #### New Type: GameKit.GKChallengeComposeHandler2 ```csharp public sealed delegate GKChallengeComposeHandler2 : System.MulticastDelegate { // constructors public GKChallengeComposeHandler2 (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (UIKit.UIViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (UIKit.UIViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers); } ``` ### Namespace Metal #### Type Changed: Metal.IMTLAccelerationStructure Added property: ```csharp public virtual MTLResourceId GpuResourceId { get; } ``` #### Type Changed: Metal.IMTLDevice Added properties: ```csharp public virtual ulong RecommendedMaxWorkingSetSize { get; } public virtual bool SupportsBCTextureCompression { get; } ``` #### Type Changed: Metal.IMTLRenderPipelineState Added properties: ```csharp public virtual MTLResourceId GpuResourceId { get; } public virtual UIntPtr MaxTotalThreadgroupsPerMeshGrid { get; } public virtual UIntPtr MeshThreadExecutionWidth { get; } ``` #### Type Changed: Metal.MTLAccelerationStructureGeometryDescriptor Added properties: ```csharp public virtual IMTLBuffer PrimitiveDataBuffer { get; set; } public virtual UIntPtr PrimitiveDataBufferOffset { get; set; } public virtual UIntPtr PrimitiveDataElementSize { get; set; } public virtual UIntPtr PrimitiveDataStride { get; set; } ``` #### Type Changed: Metal.MTLAccelerationStructureInstanceDescriptorType Added values: ```csharp Indirect = 3, IndirectMotion = 4, ``` #### Type Changed: Metal.MTLAccelerationStructureMotionTriangleGeometryDescriptor Added properties: ```csharp public virtual IMTLBuffer TransformationMatrixBuffer { get; set; } public virtual UIntPtr TransformationMatrixBufferOffset { get; set; } public virtual MTLAttributeFormat VertexFormat { get; set; } ``` #### Type Changed: Metal.MTLAccelerationStructureTriangleGeometryDescriptor Added properties: ```csharp public virtual IMTLBuffer TransformationMatrixBuffer { get; set; } public virtual UIntPtr TransformationMatrixBufferOffset { get; set; } public virtual MTLAttributeFormat VertexFormat { get; set; } ``` #### Type Changed: Metal.MTLAttributeFormat Added values: ```csharp FloatRG11B10 = 54, FloatRGB9E5 = 55, ``` #### Type Changed: Metal.MTLBinaryArchiveError Added value: ```csharp InternalError = 4, ``` #### Type Changed: Metal.MTLCompileOptions Added properties: ```csharp public virtual bool AllowReferencingUndefinedSymbols { get; set; } public virtual MTLCompileSymbolVisibility CompileSymbolVisibility { get; set; } public virtual UIntPtr MaxTotalThreadsPerThreadgroup { get; set; } public virtual MTLLibraryOptimizationLevel OptimizationLevel { get; set; } ``` #### Type Changed: Metal.MTLComputePipelineReflection Added property: ```csharp public virtual IMTLBinding[] Bindings { get; } ``` #### Type Changed: Metal.MTLDataType Added values: ```csharp BFloat = 121, BFloat2 = 122, BFloat3 = 123, BFloat4 = 124, ``` #### Type Changed: Metal.MTLDevice_Extensions Added methods: ```csharp public static IMTLArgumentEncoder CreateArgumentEncoder (this IMTLDevice This, IMTLBufferBinding bufferBinding); public static void CreateRenderPipelineState (this IMTLDevice This, MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler); public static IMTLRenderPipelineState CreateRenderPipelineState (this IMTLDevice This, MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error); public static MTLArchitecture GetArchitecture (this IMTLDevice This); public static MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (this IMTLDevice This, MTLAccelerationStructureDescriptor descriptor); public static MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (this IMTLDevice This, UIntPtr size); public static MTLSize GetSparseTileSize (this IMTLDevice This, MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount, MTLSparsePageSize sparsePageSize); public static UIntPtr GetSparseTileSizeInBytes (this IMTLDevice This, MTLSparsePageSize sparsePageSize); ``` #### Type Changed: Metal.MTLFunctionOptions Added value: ```csharp StoreFunctionInMetalScript = 2, ``` #### Type Changed: Metal.MTLFunctionType Added values: ```csharp Mesh = 7, Object = 8, ``` #### Type Changed: Metal.MTLGpuFamily Added values: ```csharp Apple8 = 1008, Apple9 = 1009, Metal3 = 5001, ``` #### Type Changed: Metal.MTLHeapDescriptor Added property: ```csharp public virtual MTLSparsePageSize SparsePageSize { get; set; } ``` #### Type Changed: Metal.MTLIndirectCommandBufferDescriptor Added properties: ```csharp public virtual UIntPtr MaxKernelThreadgroupMemoryBindCount { get; set; } public virtual UIntPtr MaxMeshBufferBindCount { get; set; } public virtual UIntPtr MaxObjectBufferBindCount { get; set; } public virtual UIntPtr MaxObjectThreadgroupMemoryBindCount { get; set; } public virtual bool SupportDynamicAttributeStride { get; set; } public virtual bool SupportRayTracing { get; set; } ``` #### Type Changed: Metal.MTLIndirectCommandType Added values: ```csharp DrawMeshThreadgroups = 128, DrawMeshThreads = 256, ``` #### Type Changed: Metal.MTLIntersectionFunctionSignature Added values: ```csharp CurveData = 128, MaxLevels = 64, ``` #### Type Changed: Metal.MTLLanguageVersion Added values: ```csharp v3_0 = 196608, v3_1 = 196609, ``` #### Type Changed: Metal.MTLRenderPipelineReflection Added properties: ```csharp public virtual IMTLBinding[] FragmentBindings { get; } public virtual IMTLBinding[] MeshBindings { get; } public virtual IMTLBinding[] ObjectBindings { get; } public virtual IMTLBinding[] TileBindings { get; } public virtual IMTLBinding[] VertexBindings { get; } ``` #### Type Changed: Metal.MTLRenderStages Added values: ```csharp Mesh = 16, Object = 8, ``` #### Type Changed: Metal.MTLResourceStateCommandEncoder_Extensions Added method: ```csharp public static void MoveTextureMappings (this IMTLResourceStateCommandEncoder This, IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin); ``` #### Type Changed: Metal.MTLTextureUsage Added value: ```csharp ShaderAtomic = 32, ``` #### Type Changed: Metal.MTLVertexFormat Added values: ```csharp FloatRG11B10 = 54, FloatRgb9E5 = 55, ``` #### New Type: Metal.IMTLBinding ```csharp public interface IMTLBinding : ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual MTLBindingAccess Access { get; } public virtual bool Argument { get; } public virtual UIntPtr Index { get; } public virtual string Name { get; } public virtual MTLBindingType Type { get; } public virtual bool Used { get; } } ``` #### New Type: Metal.IMTLBufferBinding ```csharp public interface IMTLBufferBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual UIntPtr BufferAlignment { get; } public virtual UIntPtr BufferDataSize { get; } public virtual MTLDataType BufferDataType { get; } public virtual MTLPointerType BufferPointerType { get; } public virtual MTLStructType BufferStructType { get; } } ``` #### New Type: Metal.IMTLObjectPayloadBinding ```csharp public interface IMTLObjectPayloadBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual UIntPtr ObjectPayloadAlignment { get; } public virtual UIntPtr ObjectPayloadDataSize { get; } } ``` #### New Type: Metal.IMTLTextureBinding ```csharp public interface IMTLTextureBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual UIntPtr ArrayLength { get; } public virtual bool DepthTexture { get; } public virtual MTLDataType TextureDataType { get; } public virtual MTLTextureType TextureType { get; } } ``` #### New Type: Metal.IMTLThreadgroupBinding ```csharp public interface IMTLThreadgroupBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual UIntPtr ThreadgroupMemoryAlignment { get; } public virtual UIntPtr ThreadgroupMemoryDataSize { get; } } ``` #### New Type: Metal.MTLAccelerationStructureCommandEncoder_Extensions ```csharp public static class MTLAccelerationStructureCommandEncoder_Extensions { // methods public static void RefitAccelerationStructure (this IMTLAccelerationStructureCommandEncoder This, IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset, MTLAccelerationStructureRefitOptions options); } ``` #### New Type: Metal.MTLAccelerationStructureCurveGeometryDescriptor ```csharp public class MTLAccelerationStructureCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor { // constructors public MTLAccelerationStructureCurveGeometryDescriptor (); protected MTLAccelerationStructureCurveGeometryDescriptor (Foundation.NSObjectFlag t); protected MTLAccelerationStructureCurveGeometryDescriptor (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual IMTLBuffer ControlPointBuffer { get; set; } public virtual UIntPtr ControlPointBufferOffset { get; set; } public virtual UIntPtr ControlPointCount { get; set; } public virtual MTLAttributeFormat ControlPointFormat { get; set; } public virtual UIntPtr ControlPointStride { get; set; } public virtual MTLCurveBasis CurveBasis { get; set; } public virtual MTLCurveEndCaps CurveEndCaps { get; set; } public virtual MTLCurveType CurveType { get; set; } public virtual IMTLBuffer IndexBuffer { get; set; } public virtual UIntPtr IndexBufferOffset { get; set; } public virtual MTLIndexType IndexType { get; set; } public virtual IMTLBuffer RadiusBuffer { get; set; } public virtual UIntPtr RadiusBufferOffset { get; set; } public virtual MTLAttributeFormat RadiusFormat { get; set; } public virtual UIntPtr RadiusStride { get; set; } public virtual UIntPtr SegmentControlPointCount { get; set; } public virtual UIntPtr SegmentCount { get; set; } // methods public static MTLAccelerationStructureCurveGeometryDescriptor GetDescriptor (); } ``` #### New Type: Metal.MTLAccelerationStructureMotionCurveGeometryDescriptor ```csharp public class MTLAccelerationStructureMotionCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor { // constructors public MTLAccelerationStructureMotionCurveGeometryDescriptor (); protected MTLAccelerationStructureMotionCurveGeometryDescriptor (Foundation.NSObjectFlag t); protected MTLAccelerationStructureMotionCurveGeometryDescriptor (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MTLMotionKeyframeData[] ControlPointBuffers { get; set; } public virtual UIntPtr ControlPointCount { get; set; } public virtual MTLAttributeFormat ControlPointFormat { get; set; } public virtual UIntPtr ControlPointStride { get; set; } public virtual MTLCurveBasis CurveBasis { get; set; } public virtual MTLCurveEndCaps CurveEndCaps { get; set; } public virtual MTLCurveType CurveType { get; set; } public virtual IMTLBuffer IndexBuffer { get; set; } public virtual UIntPtr IndexBufferOffset { get; set; } public virtual MTLIndexType IndexType { get; set; } public virtual MTLMotionKeyframeData[] RadiusBuffers { get; set; } public virtual MTLAttributeFormat RadiusFormat { get; set; } public virtual UIntPtr RadiusStride { get; set; } public virtual UIntPtr SegmentControlPointCount { get; set; } public virtual UIntPtr SegmentCount { get; set; } // methods public static MTLAccelerationStructureMotionCurveGeometryDescriptor GetDescriptor (); } ``` #### New Type: Metal.MTLAccelerationStructurePassDescriptor ```csharp public class MTLAccelerationStructurePassDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MTLAccelerationStructurePassDescriptor (); protected MTLAccelerationStructurePassDescriptor (Foundation.NSObjectFlag t); protected MTLAccelerationStructurePassDescriptor (ObjCRuntime.NativeHandle handle); // properties public static MTLAccelerationStructurePassDescriptor AccelerationStructurePassDescriptor { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray SampleBufferAttachments { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: Metal.MTLAccelerationStructurePassSampleBufferAttachmentDescriptor ```csharp public class MTLAccelerationStructurePassSampleBufferAttachmentDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (); protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (Foundation.NSObjectFlag t); protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual UIntPtr EndOfEncoderSampleIndex { get; set; } public virtual IMTLCounterSampleBuffer SampleBuffer { get; set; } public virtual UIntPtr StartOfEncoderSampleIndex { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: Metal.MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray ```csharp public class MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray : Foundation.NSObject { // constructors public MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray (); protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray (Foundation.NSObjectFlag t); protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual MTLAccelerationStructurePassSampleBufferAttachmentDescriptor GetObject (UIntPtr attachmentIndex); public virtual void SetObject (MTLAccelerationStructurePassSampleBufferAttachmentDescriptor attachment, UIntPtr attachmentIndex); } ``` #### New Type: Metal.MTLAccelerationStructureRefitOptions ```csharp [Serializable] [Flags] public enum MTLAccelerationStructureRefitOptions { PerPrimitiveData = 2, VertexData = 1, } ``` #### New Type: Metal.MTLArchitecture ```csharp public class MTLArchitecture : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MTLArchitecture (); protected MTLArchitecture (Foundation.NSObjectFlag t); protected MTLArchitecture (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Name { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: Metal.MTLBindingAccess ```csharp [Serializable] public enum MTLBindingAccess { ReadOnly = 0, ReadWrite = 1, WriteOnly = 2, } ``` #### New Type: Metal.MTLBindingType ```csharp [Serializable] public enum MTLBindingType { Buffer = 0, Imageblock = 17, ImageblockData = 16, InstanceAccelerationStructure = 26, IntersectionFunctionTable = 27, ObjectPayload = 34, PrimitiveAccelerationStructure = 25, Sampler = 3, Texture = 2, ThreadgroupMemory = 1, VisibleFunctionTable = 24, } ``` #### New Type: Metal.MTLBuffer_Extensions ```csharp public static class MTLBuffer_Extensions { // methods public static ulong GetGpuAddress (this IMTLBuffer This); } ``` #### New Type: Metal.MTLCommandBuffer_Extensions ```csharp public static class MTLCommandBuffer_Extensions { // methods public static IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (this IMTLCommandBuffer This, MTLAccelerationStructurePassDescriptor descriptor); } ``` #### New Type: Metal.MTLCompileSymbolVisibility ```csharp [Serializable] public enum MTLCompileSymbolVisibility { Default = 0, Hidden = 1, } ``` #### New Type: Metal.MTLComputeCommandEncoder_Extensions ```csharp public static class MTLComputeCommandEncoder_Extensions { // methods public static void SetBuffer (this IMTLComputeCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index); public static void SetBufferOffset (this IMTLComputeCommandEncoder This, UIntPtr offset, UIntPtr stride, UIntPtr index); public static void SetBuffers (this IMTLComputeCommandEncoder This, IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range); public static void SetBytes (this IMTLComputeCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index); } ``` #### New Type: Metal.MTLComputePipelineState_Extensions ```csharp public static class MTLComputePipelineState_Extensions { // methods public static MTLResourceId GetGpuResourceId (this IMTLComputePipelineState This); } ``` #### New Type: Metal.MTLCurveBasis ```csharp [Serializable] public enum MTLCurveBasis { BSpline = 0, Bezier = 3, CatmullRom = 1, Linear = 2, } ``` #### New Type: Metal.MTLCurveEndCaps ```csharp [Serializable] public enum MTLCurveEndCaps { Disk = 1, None = 0, Sphere = 2, } ``` #### New Type: Metal.MTLCurveType ```csharp [Serializable] public enum MTLCurveType { Flat = 1, Round = 0, } ``` #### New Type: Metal.MTLHeap_Extensions ```csharp public static class MTLHeap_Extensions { // methods public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor); public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, UIntPtr size); public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor, UIntPtr offset); public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, UIntPtr size, UIntPtr offset); } ``` #### New Type: Metal.MTLIOCommandQueueType ```csharp [Serializable] public enum MTLIOCommandQueueType { Concurrent = 0, Serial = 1, } ``` #### New Type: Metal.MTLIOCompressionContext ```csharp public class MTLIOCompressionContext : ObjCRuntime.DisposableObject { // properties public static IntPtr DefaultChunkSize { get; } // methods public void AppendData (Foundation.NSData data); public void AppendData (byte[] data); public void AppendData (System.ReadOnlySpan<byte> data); public static MTLIOCompressionContext Create (string path, MTLIOCompressionMethod type, long chunkSize); protected override void Dispose (bool disposing); public MTLIOCompressionStatus FlushAndDestroy (); } ``` #### New Type: Metal.MTLIOCompressionMethod ```csharp [Serializable] public enum MTLIOCompressionMethod { Lz4 = 2, LzBitmap = 4, Lzfse = 1, Lzma = 3, Zlib = 0, } ``` #### New Type: Metal.MTLIOCompressionStatus ```csharp [Serializable] public enum MTLIOCompressionStatus { Complete = 0, Error = 1, } ``` #### New Type: Metal.MTLIOError ```csharp [Serializable] public enum MTLIOError { Internal = 2, UrlInvalid = 1, } ``` #### New Type: Metal.MTLIOErrorExtensions ```csharp public static class MTLIOErrorExtensions { // methods public static Foundation.NSString GetDomain (this MTLIOError self); } ``` #### New Type: Metal.MTLIOPriority ```csharp [Serializable] public enum MTLIOPriority { High = 0, Low = 2, Normal = 1, } ``` #### New Type: Metal.MTLIOStatus ```csharp [Serializable] public enum MTLIOStatus { Cancelled = 1, Complete = 3, Error = 2, Pending = 0, } ``` #### New Type: Metal.MTLIndirectCommandBuffer_Extensions ```csharp public static class MTLIndirectCommandBuffer_Extensions { // methods public static MTLResourceId GetGpuResourceID (this IMTLIndirectCommandBuffer This); } ``` #### New Type: Metal.MTLIndirectComputeCommand_Extensions ```csharp public static class MTLIndirectComputeCommand_Extensions { // methods public static void SetKernelBuffer (this IMTLIndirectComputeCommand This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index); } ``` #### New Type: Metal.MTLIndirectInstanceAccelerationStructureDescriptor ```csharp public class MTLIndirectInstanceAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor { // constructors public MTLIndirectInstanceAccelerationStructureDescriptor (); protected MTLIndirectInstanceAccelerationStructureDescriptor (Foundation.NSObjectFlag t); protected MTLIndirectInstanceAccelerationStructureDescriptor (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual IMTLBuffer InstanceCountBuffer { get; set; } public virtual UIntPtr InstanceCountBufferOffset { get; set; } public virtual IMTLBuffer InstanceDescriptorBuffer { get; set; } public virtual UIntPtr InstanceDescriptorBufferOffset { get; set; } public virtual UIntPtr InstanceDescriptorStride { get; set; } public virtual MTLAccelerationStructureInstanceDescriptorType InstanceDescriptorType { get; set; } public virtual UIntPtr MaxInstanceCount { get; set; } public virtual UIntPtr MaxMotionTransformCount { get; set; } public virtual IMTLBuffer MotionTransformBuffer { get; set; } public virtual UIntPtr MotionTransformBufferOffset { get; set; } public virtual IMTLBuffer MotionTransformCountBuffer { get; set; } public virtual UIntPtr MotionTransformCountBufferOffset { get; set; } // methods public static MTLIndirectInstanceAccelerationStructureDescriptor GetDescriptor (); } ``` #### New Type: Metal.MTLIndirectRenderCommand_Extensions ```csharp public static class MTLIndirectRenderCommand_Extensions { // methods public static void ClearBarrier (this IMTLIndirectRenderCommand This); public static void DrawMeshThreadgroups (this IMTLIndirectRenderCommand This, MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public static void DrawMeshThreads (this IMTLIndirectRenderCommand This, MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public static void SetBarrier (this IMTLIndirectRenderCommand This); public static void SetMeshBuffer (this IMTLIndirectRenderCommand This, IMTLBuffer buffer, UIntPtr offset, UIntPtr index); public static void SetObjectBuffer (this IMTLIndirectRenderCommand This, IMTLBuffer buffer, UIntPtr offset, UIntPtr index); public static void SetObjectThreadgroupMemoryLength (this IMTLIndirectRenderCommand This, UIntPtr length, UIntPtr index); public static void SetVertexBuffer (this IMTLIndirectRenderCommand This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index); } ``` #### New Type: Metal.MTLIntersectionFunctionTable_Extensions ```csharp public static class MTLIntersectionFunctionTable_Extensions { // methods public static MTLResourceId GetGpuResourceId (this IMTLIntersectionFunctionTable This); public static void SetOpaqueCurveIntersectionFunction (this IMTLIntersectionFunctionTable This, MTLIntersectionFunctionSignature signature, Foundation.NSRange range); public static void SetOpaqueCurveIntersectionFunction (this IMTLIntersectionFunctionTable This, MTLIntersectionFunctionSignature signature, UIntPtr index); } ``` #### New Type: Metal.MTLLibraryOptimizationLevel ```csharp [Serializable] public enum MTLLibraryOptimizationLevel { Default = 0, Size = 1, } ``` #### New Type: Metal.MTLMeshRenderPipelineDescriptor ```csharp public class MTLMeshRenderPipelineDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MTLMeshRenderPipelineDescriptor (); protected MTLMeshRenderPipelineDescriptor (Foundation.NSObjectFlag t); protected MTLMeshRenderPipelineDescriptor (ObjCRuntime.NativeHandle handle); // properties public virtual bool AlphaToCoverageEnabled { get; set; } public virtual bool AlphaToOneEnabled { get; set; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MTLRenderPipelineColorAttachmentDescriptorArray ColorAttachments { get; } public virtual MTLPixelFormat DepthAttachmentPixelFormat { get; set; } public virtual MTLPipelineBufferDescriptorArray FragmentBuffers { get; } public virtual IMTLFunction FragmentFunction { get; set; } public virtual MTLLinkedFunctions FragmentLinkedFunctions { get; set; } public virtual string Label { get; set; } public virtual UIntPtr MaxTotalThreadgroupsPerMeshGrid { get; set; } public virtual UIntPtr MaxTotalThreadsPerMeshThreadgroup { get; set; } public virtual UIntPtr MaxTotalThreadsPerObjectThreadgroup { get; set; } public virtual UIntPtr MaxVertexAmplificationCount { get; set; } public virtual MTLPipelineBufferDescriptorArray MeshBuffers { get; } public virtual IMTLFunction MeshFunction { get; set; } public virtual MTLLinkedFunctions MeshLinkedFunctions { get; set; } public virtual bool MeshThreadgroupSizeIsMultipleOfThreadExecutionWidth { get; set; } public virtual MTLPipelineBufferDescriptorArray ObjectBuffers { get; } public virtual IMTLFunction ObjectFunction { get; set; } public virtual MTLLinkedFunctions ObjectLinkedFunctions { get; set; } public virtual bool ObjectThreadgroupSizeIsMultipleOfThreadExecutionWidth { get; set; } public virtual UIntPtr PayloadMemoryLength { get; set; } public virtual UIntPtr RasterSampleCount { get; set; } public virtual bool RasterizationEnabled { get; set; } public virtual MTLPixelFormat StencilAttachmentPixelFormat { get; set; } public virtual bool SupportIndirectCommandBuffers { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void Reset (); } ``` #### New Type: Metal.MTLRenderCommandEncoder_Extensions ```csharp public static class MTLRenderCommandEncoder_Extensions { // methods public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public static void DrawMeshThreads (this IMTLRenderCommandEncoder This, MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public static void MemoryBarrier (this IMTLRenderCommandEncoder This, MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before); public static void MemoryBarrier (this IMTLRenderCommandEncoder This, IMTLResource[] resources, UIntPtr count, MTLRenderStages after, MTLRenderStages before); public static void SetMeshBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr index); public static void SetMeshBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr index); public static void SetMeshBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range); public static void SetMeshBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr index); public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, UIntPtr index); public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index); public static void SetMeshSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, Foundation.NSRange range); public static void SetMeshSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range); public static void SetMeshTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, UIntPtr index); public static void SetMeshTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range); public static void SetObjectBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr index); public static void SetObjectBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr index); public static void SetObjectBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range); public static void SetObjectBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr index); public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, UIntPtr index); public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index); public static void SetObjectSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, Foundation.NSRange range); public static void SetObjectSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range); public static void SetObjectTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, UIntPtr index); public static void SetObjectTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range); public static void SetObjectThreadgroupMemoryLength (this IMTLRenderCommandEncoder This, UIntPtr length, UIntPtr index); public static void SetVertexBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index); public static void SetVertexBufferOffset (this IMTLRenderCommandEncoder This, UIntPtr offset, UIntPtr stride, UIntPtr index); public static void SetVertexBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range); public static void SetVertexBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index); } ``` #### New Type: Metal.MTLRenderPipelineState_Extensions ```csharp public static class MTLRenderPipelineState_Extensions { // methods public static UIntPtr GetMaxTotalThreadsPerMeshThreadgroup (this IMTLRenderPipelineState This); public static UIntPtr GetMaxTotalThreadsPerObjectThreadgroup (this IMTLRenderPipelineState This); public static UIntPtr GetObjectThreadExecutionWidth (this IMTLRenderPipelineState This); } ``` #### New Type: Metal.MTLResourceId ```csharp public struct MTLResourceId { // fields public ulong Impl; } ``` #### New Type: Metal.MTLSamplerState_Extensions ```csharp public static class MTLSamplerState_Extensions { // methods public static MTLResourceId GetGpuResourceId (this IMTLSamplerState This); } ``` #### New Type: Metal.MTLSparsePageSize ```csharp [Serializable] public enum MTLSparsePageSize { Size16 = 101, Size256 = 103, Size64 = 102, } ``` #### New Type: Metal.MTLTexture_Extensions ```csharp public static class MTLTexture_Extensions { // methods public static MTLResourceId GetGpuResourceId (this IMTLTexture This); } ``` #### New Type: Metal.MTLVisibleFunctionTable_Extensions ```csharp public static class MTLVisibleFunctionTable_Extensions { // methods public static MTLResourceId GetGpuResourceId (this IMTLVisibleFunctionTable This); } ``` ### Namespace MetalPerformanceShaders #### Type Changed: MetalPerformanceShaders.MPSCommandBuffer Added method: ```csharp public virtual Metal.IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (Metal.MTLAccelerationStructurePassDescriptor descriptor); ``` ### Namespace ModelIO #### Type Changed: ModelIO.MDLMaterial Added properties: ```csharp public MDLMaterialProperty Item { get; } public MDLMaterialProperty Item { get; } ``` ### Namespace Network #### Type Changed: Network.NWPrivacyContext Added methods: ```csharp public void AddProxy (NWProxyConfig proxyConfig); public void ClearProxies (); ``` #### New Type: Network.NWProxyConfig ```csharp public class NWProxyConfig : CoreFoundation.NativeObject { // properties public bool FailoverAllowed { get; set; } // methods public void AddExcludedDomain (string domain); public void AddMatchDomain (string domain); public void ClearExcludedDomains (); public void ClearMatchDomains (); public static NWProxyConfig CreateHttpConnect (NWEndpoint proxyEndpoint, NWProtocolTlsOptions options); public static NWProxyConfig CreateObliviousHttp (NWRelayHop hop, string relaysResourcePath, byte[] gatewayKeyConfig); public static NWProxyConfig CreateRelay (NWRelayHop firstHop, NWRelayHop secondHop); public static NWProxyConfig CreateSocksV5 (NWEndpoint endpoint); public void EnumerateExcludedDomains (System.Action<string> handler); public void EnumerateMatchDomains (System.Action<string> handler); public void SetUsernameAndPassword (string username, string password); } ``` #### New Type: Network.NWRelayHop ```csharp public class NWRelayHop : CoreFoundation.NativeObject { // methods public void AddAdditionalHttpHeaderField (string fieldName, string fieldValue); public static NWRelayHop Create (NWEndpoint http3RelayEndpoint, NWEndpoint http2RelayEndpoint, NWProtocolOptions relayTlsOptions); } ``` ### Namespace ObjCRuntime #### Type Changed: ObjCRuntime.Constants Modified fields: ```diff -public const string Version = "17.2.0"; +public const string Version = "17.3.0"; ``` #### Type Changed: ObjCRuntime.DisposableObject Added method: ```csharp protected void ClearHandle (); ``` ### Namespace UIKit #### Type Changed: UIKit.UITextView Obsoleted properties: ```diff [Obsolete ("Use 'TypingAttributes2' instead, because this property will return null instead of an empty dictionary.")] public virtual Foundation.NSDictionary TypingAttributes { get; set; } ``` Added property: ```csharp public Foundation.NSDictionary TypingAttributes2 { get; set; } ``` #### New Type: UIKit.NSAttributedStringDocumentReadingOptions ```csharp public class NSAttributedStringDocumentReadingOptions : Foundation.DictionaryContainer { // constructors public NSAttributedStringDocumentReadingOptions (); public NSAttributedStringDocumentReadingOptions (Foundation.NSDictionary dictionary); // properties public Foundation.NSStringEncoding? CharacterEncoding { get; set; } public Foundation.NSDictionary DefaultAttributes { get; set; } public NSAttributedStringDocumentType? DocumentType { get; set; } public NSTextScalingType? SourceTextScaling { get; set; } public NSTextScalingType? TargetTextScaling { get; set; } } ``` #### New Type: UIKit.NSAttributedStringDocumentType ```csharp [Serializable] public enum NSAttributedStringDocumentType { DocFormat = 5, Html = 3, MacSimple = 4, OfficeOpenXml = 7, OpenDocument = 9, Plain = 0, Rtf = 1, Rtfd = 2, Unknown = -1, WebArchive = 8, WordML = 6, } ``` #### New Type: UIKit.NSAttributedStringDocumentTypeExtensions ```csharp public static class NSAttributedStringDocumentTypeExtensions { // methods public static Foundation.NSString GetConstant (this NSAttributedStringDocumentType self); public static NSAttributedStringDocumentType GetValue (Foundation.NSString constant); } ``` ### Namespace Vision #### Type Changed: Vision.VNBarcodeObservation Added properties: ```csharp public virtual bool IsColorInverted { get; } public virtual bool IsGS1DataCarrier { get; } public virtual Foundation.NSData PayloadData { get; } public virtual VNBarcodeCompositeType SupplementalCompositeType { get; } public virtual Foundation.NSData SupplementalPayloadData { get; } public virtual string SupplementalPayloadString { get; } ``` #### Type Changed: Vision.VNBarcodeSymbology Added value: ```csharp MsiPlessey = 23, ``` #### Type Changed: Vision.VNClassifyImageRequestRevision Added value: ```csharp Two = 2, ``` #### Type Changed: Vision.VNDetectBarcodesRequest Added property: ```csharp public virtual bool CoalesceCompositeSymbologies { get; set; } ``` #### Type Changed: Vision.VNDetectBarcodesRequestRevision Added values: ```csharp Four = 4, Three = 3, ``` #### Type Changed: Vision.VNDetectFaceCaptureQualityRequestRevision Added value: ```csharp Three = 3, ``` #### Type Changed: Vision.VNDetectHumanBodyPoseRequest Added methods: ```csharp public virtual VNHumanBodyPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error); public virtual VNHumanBodyPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error); ``` #### Type Changed: Vision.VNDetectHumanHandPoseRequest Added methods: ```csharp public virtual VNHumanHandPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error); public virtual VNHumanHandPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error); ``` #### Type Changed: Vision.VNErrorCode Added values: ```csharp UnsupportedComputeDevice = 22, UnsupportedComputeStage = 21, ``` #### Type Changed: Vision.VNGenerateAttentionBasedSaliencyImageRequestRevision Added value: ```csharp Two = 2, ``` #### Type Changed: Vision.VNGenerateImageFeaturePrintRequestRevision Added value: ```csharp Two = 2, ``` #### Type Changed: Vision.VNGenerateObjectnessBasedSaliencyImageRequestRevision Added value: ```csharp Two = 2, ``` #### Type Changed: Vision.VNImageRequestHandler Added constructors: ```csharp public VNImageRequestHandler (CoreMedia.CMSampleBuffer sampleBuffer, AVFoundation.AVDepthData depthData, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options); public VNImageRequestHandler (CoreVideo.CVPixelBuffer pixelBuffer, AVFoundation.AVDepthData depthData, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options); ``` #### Type Changed: Vision.VNRectangleObservation Added method: ```csharp public static VNRectangleObservation FromRectangleObservation (VNRectangleObservationRequestRevision requestRevision, CoreGraphics.CGPoint topLeft, CoreGraphics.CGPoint topRight, CoreGraphics.CGPoint bottomRight, CoreGraphics.CGPoint bottomLeft); ``` #### Type Changed: Vision.VNRequest Added methods: ```csharp public virtual CoreML.IMLComputeDeviceProtocol GetComputeDevice (string computeStage); public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray<CoreML.IMLComputeDeviceProtocol>> GetSupportedComputeDevices (out Foundation.NSError error); public virtual void SetComputeDevice (CoreML.IMLComputeDeviceProtocol computeDevice, string computeStage); ``` #### Type Changed: Vision.VNTrackingRequest Added method: ```csharp public virtual UIntPtr GetSupportedNumberOfTrackers (out Foundation.NSError error); ``` #### New Type: Vision.VNAnimalBodyPoseObservation ```csharp public class VNAnimalBodyPoseObservation : Vision.VNRecognizedPointsObservation { // constructors public VNAnimalBodyPoseObservation (Foundation.NSCoder coder); protected VNAnimalBodyPoseObservation (Foundation.NSObjectFlag t); protected VNAnimalBodyPoseObservation (ObjCRuntime.NativeHandle handle); // properties public virtual VNAnimalBodyPoseObservationJointsGroupName[] AvailableJointGroupNames { get; } public virtual VNAnimalBodyPoseObservationJointName[] AvailableJointNames { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual VNRecognizedPoint GetRecognizedPoint (VNAnimalBodyPoseObservationJointName jointName, out Foundation.NSError error); public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint> GetRecognizedPoints (VNAnimalBodyPoseObservationJointsGroupName jointsGroupName, out Foundation.NSError error); } ``` #### New Type: Vision.VNAnimalBodyPoseObservationJointName ```csharp [Serializable] public enum VNAnimalBodyPoseObservationJointName { LeftBackElbow = 17, LeftBackKnee = 19, LeftBackPaw = 21, LeftEarBottom = 5, LeftEarMiddle = 3, LeftEarTop = 1, LeftEye = 7, LeftFrontElbow = 11, LeftFrontKnee = 13, LeftFrontPaw = 15, Neck = 10, None = 0, Nose = 9, RightBackElbow = 18, RightBackKnee = 20, RightBackPaw = 22, RightEarBottom = 6, RightEarMiddle = 4, RightEarTop = 2, RightEye = 8, RightFrontElbow = 12, RightFrontKnee = 14, RightFrontPaw = 16, TailBottom = 25, TailMiddle = 24, TailTop = 23, } ``` #### New Type: Vision.VNAnimalBodyPoseObservationJointNameExtensions ```csharp public static class VNAnimalBodyPoseObservationJointNameExtensions { // methods public static Foundation.NSString GetConstant (this VNAnimalBodyPoseObservationJointName self); public static VNAnimalBodyPoseObservationJointName GetValue (Foundation.NSString constant); } ``` #### New Type: Vision.VNAnimalBodyPoseObservationJointsGroupName ```csharp [Serializable] public enum VNAnimalBodyPoseObservationJointsGroupName { All = 6, Forelegs = 3, Head = 1, Hindlegs = 4, None = 0, Tail = 5, Trunk = 2, } ``` #### New Type: Vision.VNAnimalBodyPoseObservationJointsGroupNameExtensions ```csharp public static class VNAnimalBodyPoseObservationJointsGroupNameExtensions { // methods public static Foundation.NSString GetConstant (this VNAnimalBodyPoseObservationJointsGroupName self); public static VNAnimalBodyPoseObservationJointsGroupName GetValue (Foundation.NSString constant); } ``` #### New Type: Vision.VNBarcodeCompositeType ```csharp [Serializable] public enum VNBarcodeCompositeType { Gs1TypeA = 2, Gs1TypeB = 3, Gs1TypeC = 4, Linked = 1, None = 0, } ``` #### New Type: Vision.VNComputeStage ```csharp [Serializable] public enum VNComputeStage { Main = 1, None = 0, PostProcessing = 2, } ``` #### New Type: Vision.VNComputeStageExtensions ```csharp public static class VNComputeStageExtensions { // methods public static Foundation.NSString GetConstant (this VNComputeStage self); public static VNComputeStage GetValue (Foundation.NSString constant); } ``` #### New Type: Vision.VNDetectAnimalBodyPoseRequest ```csharp public class VNDetectAnimalBodyPoseRequest : Vision.VNImageBasedRequest { // constructors protected VNDetectAnimalBodyPoseRequest (Foundation.NSObjectFlag t); protected VNDetectAnimalBodyPoseRequest (ObjCRuntime.NativeHandle handle); public VNDetectAnimalBodyPoseRequest (VNRequestCompletionHandler completionHandler); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual VNAnimalBodyPoseObservation[] Results { get; } // methods public virtual VNAnimalBodyPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error); public virtual VNAnimalBodyPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error); } ``` #### New Type: Vision.VNDetectHumanBodyPose3DRequest ```csharp public class VNDetectHumanBodyPose3DRequest : Vision.VNStatefulRequest { // constructors public VNDetectHumanBodyPose3DRequest (); protected VNDetectHumanBodyPose3DRequest (Foundation.NSObjectFlag t); protected VNDetectHumanBodyPose3DRequest (ObjCRuntime.NativeHandle handle); public VNDetectHumanBodyPose3DRequest (VNRequestCompletionHandler completionHandler); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public static VNDetectHumanBodyPose3DRequestRevision CurrentRevision { get; } public static VNDetectHumanBodyPose3DRequestRevision DefaultRevision { get; } public virtual VNHumanBodyPose3DObservation[] Results { get; } public virtual VNDetectHumanBodyPose3DRequestRevision Revision { get; set; } public static VNDetectHumanBodyPose3DRequestRevision[] SupportedRevisions { get; } public static Foundation.NSIndexSet WeakSupportedRevisions { get; } // methods public virtual VNHumanBodyPose3DObservationJointName[] GetSupportedJointNames (out Foundation.NSError error); public virtual VNHumanBodyPose3DObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error); } ``` #### New Type: Vision.VNDetectHumanBodyPose3DRequestRevision ```csharp [Serializable] public enum VNDetectHumanBodyPose3DRequestRevision { One = 1, } ``` #### New Type: Vision.VNGenerateForegroundInstanceMaskRequest ```csharp public class VNGenerateForegroundInstanceMaskRequest : Vision.VNImageBasedRequest { // constructors protected VNGenerateForegroundInstanceMaskRequest (Foundation.NSObjectFlag t); protected VNGenerateForegroundInstanceMaskRequest (ObjCRuntime.NativeHandle handle); public VNGenerateForegroundInstanceMaskRequest (VNRequestCompletionHandler completionHandler); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual VNInstanceMaskObservation[] Results { get; } } ``` #### New Type: Vision.VNGeneratePersonInstanceMaskRequest ```csharp public class VNGeneratePersonInstanceMaskRequest : Vision.VNImageBasedRequest { // constructors protected VNGeneratePersonInstanceMaskRequest (Foundation.NSObjectFlag t); protected VNGeneratePersonInstanceMaskRequest (ObjCRuntime.NativeHandle handle); public VNGeneratePersonInstanceMaskRequest (VNRequestCompletionHandler completionHandler); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual VNInstanceMaskObservation[] Results { get; } } ``` #### New Type: Vision.VNHumanBodyPose3DObservation ```csharp public class VNHumanBodyPose3DObservation : Vision.VNRecognizedPoints3DObservation { // constructors public VNHumanBodyPose3DObservation (Foundation.NSCoder coder); protected VNHumanBodyPose3DObservation (Foundation.NSObjectFlag t); protected VNHumanBodyPose3DObservation (ObjCRuntime.NativeHandle handle); // properties public virtual VNHumanBodyPose3DObservationJointName[] AvailableJointNames { get; } public virtual VNHumanBodyPose3DObservationJointsGroupName[] AvailableJointsGroupNames { get; } public virtual float BodyHeight { get; } public virtual CoreGraphics.NMatrix4 CameraOriginMatrix { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual VNHumanBodyPose3DObservationHeightEstimation HeightEstimation { get; } // methods public virtual bool GetCameraRelativePosition (out CoreGraphics.NMatrix4 modelPositionOut, VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error); public virtual VNHumanBodyPose3DObservationJointName GetParentJointName (VNHumanBodyPose3DObservationJointName jointName); public virtual VNPoint GetPointInImage (VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error); public virtual VNHumanBodyRecognizedPoint3D GetRecognizedPoint (VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error); public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNHumanBodyRecognizedPoint3D> GetRecognizedPoints (VNHumanBodyPose3DObservationJointsGroupName jointName, out Foundation.NSError error); } ``` #### New Type: Vision.VNHumanBodyPose3DObservationHeightEstimation ```csharp [Serializable] public enum VNHumanBodyPose3DObservationHeightEstimation { Measured = 1, Reference = 0, } ``` #### New Type: Vision.VNHumanBodyPose3DObservationJointName ```csharp [Serializable] public enum VNHumanBodyPose3DObservationJointName { CenterHead = 11, CenterShoulder = 10, LeftAnkle = 8, LeftElbow = 14, LeftHip = 6, LeftKnee = 7, LeftShoulder = 13, LeftWrist = 15, None = 0, RightAnkle = 4, RightElbow = 16, RightHip = 2, RightKnee = 3, RightShoulder = 5, RightWrist = 17, Root = 1, Spine = 9, TopHead = 12, } ``` #### New Type: Vision.VNHumanBodyPose3DObservationJointNameExtensions ```csharp public static class VNHumanBodyPose3DObservationJointNameExtensions { // methods public static Foundation.NSString GetConstant (this VNHumanBodyPose3DObservationJointName self); public static VNHumanBodyPose3DObservationJointName GetValue (Foundation.NSString constant); } ``` #### New Type: Vision.VNHumanBodyPose3DObservationJointsGroupName ```csharp [Serializable] public enum VNHumanBodyPose3DObservationJointsGroupName { All = 7, Head = 1, LeftArm = 3, LeftLeg = 5, None = 0, RightArm = 4, RightLeg = 6, Torso = 2, } ``` #### New Type: Vision.VNHumanBodyPose3DObservationJointsGroupNameExtensions ```csharp public static class VNHumanBodyPose3DObservationJointsGroupNameExtensions { // methods public static Foundation.NSString GetConstant (this VNHumanBodyPose3DObservationJointsGroupName self); public static VNHumanBodyPose3DObservationJointsGroupName GetValue (Foundation.NSString constant); } ``` #### New Type: Vision.VNHumanBodyRecognizedPoint3D ```csharp public class VNHumanBodyRecognizedPoint3D : Vision.VNRecognizedPoint3D { // constructors public VNHumanBodyRecognizedPoint3D (CoreGraphics.NMatrix4 position); public VNHumanBodyRecognizedPoint3D (Foundation.NSCoder coder); protected VNHumanBodyRecognizedPoint3D (Foundation.NSObjectFlag t); protected VNHumanBodyRecognizedPoint3D (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual CoreGraphics.NMatrix4 LocalPosition { get; } public virtual VNHumanBodyPose3DObservationJointName ParentJoint { get; } } ``` #### New Type: Vision.VNInstanceMaskObservation ```csharp public class VNInstanceMaskObservation : Vision.VNObservation { // constructors public VNInstanceMaskObservation (Foundation.NSCoder coder); protected VNInstanceMaskObservation (Foundation.NSObjectFlag t); protected VNInstanceMaskObservation (ObjCRuntime.NativeHandle handle); // properties public virtual Foundation.NSIndexSet AllInstances { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual CoreVideo.CVPixelBuffer InstanceMask { get; } // methods public virtual CoreVideo.CVPixelBuffer GenerateMask (Foundation.NSIndexSet instances, out Foundation.NSError error); public virtual CoreVideo.CVPixelBuffer GenerateMaskedImage (Foundation.NSIndexSet instances, VNImageRequestHandler requestHandler, bool cropResult, out Foundation.NSError error); public virtual CoreVideo.CVPixelBuffer GenerateScaledMask (Foundation.NSIndexSet instances, VNImageRequestHandler requestHandler, out Foundation.NSError error); } ``` #### New Type: Vision.VNPoint3D ```csharp public class VNPoint3D : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public VNPoint3D (CoreGraphics.NMatrix4 position); public VNPoint3D (Foundation.NSCoder coder); protected VNPoint3D (Foundation.NSObjectFlag t); protected VNPoint3D (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual CoreGraphics.NMatrix4 Position { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: Vision.VNRecognizedPoint3D ```csharp public class VNRecognizedPoint3D : Vision.VNPoint3D { // constructors public VNRecognizedPoint3D (CoreGraphics.NMatrix4 position); public VNRecognizedPoint3D (Foundation.NSCoder coder); protected VNRecognizedPoint3D (Foundation.NSObjectFlag t); protected VNRecognizedPoint3D (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public static Foundation.NSString GroupKeyAll { get; } public virtual string Identifier { get; } } ``` #### New Type: Vision.VNRecognizedPoints3DObservation ```csharp public class VNRecognizedPoints3DObservation : Vision.VNObservation { // constructors public VNRecognizedPoints3DObservation (Foundation.NSCoder coder); protected VNRecognizedPoints3DObservation (Foundation.NSObjectFlag t); protected VNRecognizedPoints3DObservation (ObjCRuntime.NativeHandle handle); // properties public virtual Foundation.NSString[] AvailableGroupKeys { get; } public virtual Foundation.NSString[] AvailableKeys { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual VNRecognizedPoint3D GetRecognizedPoint (Foundation.NSString pointKey, out Foundation.NSError error); public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint3D> GetRecognizedPoints (Foundation.NSString groupKey, out Foundation.NSError error); } ``` #### New Type: Vision.VNTrackHomographicImageRegistrationRequest ```csharp public class VNTrackHomographicImageRegistrationRequest : Vision.VNStatefulRequest { // constructors public VNTrackHomographicImageRegistrationRequest (); protected VNTrackHomographicImageRegistrationRequest (Foundation.NSObjectFlag t); protected VNTrackHomographicImageRegistrationRequest (ObjCRuntime.NativeHandle handle); public VNTrackHomographicImageRegistrationRequest (VNRequestCompletionHandler completionHandler); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public static VNTrackHomographicImageRegistrationRequestRevision CurrentRevision { get; } public static VNTrackHomographicImageRegistrationRequestRevision DefaultRevision { get; } public virtual VNImageHomographicAlignmentObservation[] Results { get; } public virtual VNTrackHomographicImageRegistrationRequestRevision Revision { get; set; } public static VNTrackHomographicImageRegistrationRequestRevision[] SupportedRevisions { get; } public static Foundation.NSIndexSet WeakSupportedRevisions { get; } } ``` #### New Type: Vision.VNTrackHomographicImageRegistrationRequestRevision ```csharp [Serializable] public enum VNTrackHomographicImageRegistrationRequestRevision { One = 1, } ``` #### New Type: Vision.VNTrackOpticalFlowRequest ```csharp public class VNTrackOpticalFlowRequest : Vision.VNStatefulRequest { // constructors public VNTrackOpticalFlowRequest (); protected VNTrackOpticalFlowRequest (Foundation.NSObjectFlag t); protected VNTrackOpticalFlowRequest (ObjCRuntime.NativeHandle handle); public VNTrackOpticalFlowRequest (VNRequestCompletionHandler completionHandler); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual VNTrackOpticalFlowRequestComputationAccuracy ComputationAccuracy { get; set; } public virtual bool KeepNetworkOutput { get; set; } public virtual uint OutputPixelFormat { get; set; } public virtual VNPixelBufferObservation[] Results { get; } } ``` #### New Type: Vision.VNTrackOpticalFlowRequestComputationAccuracy ```csharp [Serializable] public enum VNTrackOpticalFlowRequestComputationAccuracy { High = 2, Low = 0, Medium = 1, VeryHigh = 3, } ``` #### New Type: Vision.VNTrackOpticalFlowRequestRevision ```csharp [Serializable] public enum VNTrackOpticalFlowRequestRevision { One = 1, } ``` #### New Type: Vision.VNTrackTranslationalImageRegistrationRequest ```csharp public class VNTrackTranslationalImageRegistrationRequest : Vision.VNStatefulRequest { // constructors public VNTrackTranslationalImageRegistrationRequest (); protected VNTrackTranslationalImageRegistrationRequest (Foundation.NSObjectFlag t); protected VNTrackTranslationalImageRegistrationRequest (ObjCRuntime.NativeHandle handle); public VNTrackTranslationalImageRegistrationRequest (VNRequestCompletionHandler completionHandler); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public static VNTrackTranslationalImageRegistrationRequestRevision CurrentRevision { get; } public static VNTrackTranslationalImageRegistrationRequestRevision DefaultRevision { get; } public virtual VNImageTranslationAlignmentObservation[] Results { get; } public virtual VNTrackTranslationalImageRegistrationRequestRevision Revision { get; set; } public static VNTrackTranslationalImageRegistrationRequestRevision[] SupportedRevisions { get; } public static Foundation.NSIndexSet WeakSupportedRevisions { get; } } ``` #### New Type: Vision.VNTrackTranslationalImageRegistrationRequestRevision ```csharp [Serializable] public enum VNTrackTranslationalImageRegistrationRequestRevision { One = 1, } ``` ### Namespace WebKit #### Type Changed: WebKit.WKHttpCookieStore Added methods: ```csharp public virtual void GetCookiePolicy (System.Action<WKCookiePolicy> completionHandler); public virtual System.Threading.Tasks.Task<WKCookiePolicy> GetCookiePolicyAsync (); public virtual void SetCookiePolicy (WKCookiePolicy policy, System.Action completionHandler); public virtual System.Threading.Tasks.Task SetCookiePolicyAsync (WKCookiePolicy policy); ``` #### Type Changed: WebKit.WKPdfConfiguration Added property: ```csharp public virtual bool AllowTransparentBackground { get; set; } ``` #### Type Changed: WebKit.WKPreferences Added property: ```csharp public virtual WKInactiveSchedulingPolicy InactiveSchedulingPolicy { get; set; } ``` #### Type Changed: WebKit.WKWebViewConfiguration Added property: ```csharp public virtual bool AllowsInlinePredictions { get; set; } ``` #### Type Changed: WebKit.WKWebsiteDataStore Added property: ```csharp public virtual Foundation.NSUuid Identifier { get; } ``` Added methods: ```csharp public static WKWebsiteDataStore Create (Foundation.NSUuid identifier); public static void FetchAllDataStoreIdentifiers (System.Action<Foundation.NSArray<Foundation.NSUuid>> completionHandler); public static System.Threading.Tasks.Task<Foundation.NSArray<Foundation.NSUuid>> FetchAllDataStoreIdentifiersAsync (); public static void Remove (Foundation.NSUuid identifier, System.Action<Foundation.NSError> completionHandler); public static System.Threading.Tasks.Task RemoveAsync (Foundation.NSUuid identifier); ``` #### Type Changed: WebKit.WKWebsiteDataType Added properties: ```csharp public static Foundation.NSString HashSalt { get; } public static Foundation.NSString MediaKeys { get; } public static Foundation.NSString SearchFieldRecentSearches { get; } ``` #### New Type: WebKit.WKCookiePolicy ```csharp [Serializable] public enum WKCookiePolicy { Allow = 0, Disallow = 1, } ``` #### New Type: WebKit.WKInactiveSchedulingPolicy ```csharp [Serializable] public enum WKInactiveSchedulingPolicy { None = 2, Suspend = 0, Throttle = 1, } ```