# API diff: Microsoft.MacCatalyst.dll ## Microsoft.MacCatalyst.dll <h4>Assembly Version Changed: 17.2.0.0 -> 18.0.0.0</h4> ### 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); ``` #### Type Changed: AVFoundation.AVAudioEnvironmentNode Added property: ```csharp public virtual bool ListenerHeadTrackingEnabled { get; set; } ``` #### Type Changed: AVFoundation.AVAudioFile Added property: ```csharp public virtual bool IsOpen { get; } ``` Added method: ```csharp public virtual void Close (); ``` #### Type Changed: AVFoundation.AVAudioSessionInterruptionReason Added value: ```csharp RouteDisconnected = 4, ``` #### Type Changed: AVFoundation.AVAudioSourceNode Obsoleted constructors: ```diff [Obsolete ("Use the overload that takes a delegate that does not take a 'ref AudioBuffers' instead. Assigning a value to the 'inputData' parameter in the callback has no effect.")] public AVAudioSourceNode (AVAudioSourceNodeRenderHandler renderHandler); [Obsolete ("Use the overload that takes a delegate that does not take a 'ref AudioBuffers' instead. Assigning a value to the 'inputData' parameter in the callback has no effect.")] public AVAudioSourceNode (AVAudioFormat format, AVAudioSourceNodeRenderHandler renderHandler); ``` Added constructors: ```csharp public AVAudioSourceNode (AVAudioSourceNodeRenderHandler3 renderHandler); public AVAudioSourceNode (AVAudioSourceNodeRenderHandlerRaw renderHandler); public AVAudioSourceNode (AVAudioFormat format, AVAudioSourceNodeRenderHandler3 renderHandler); public AVAudioSourceNode (AVAudioFormat format, AVAudioSourceNodeRenderHandlerRaw renderHandler); ``` #### Type Changed: AVFoundation.AVPlayerItemErrorLogEvent Added property: ```csharp public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> AllHttpResponseHeaderFields { get; } ``` #### Type Changed: AVFoundation.AVSpeechSynthesizer Obsoleted methods: ```diff [Obsolete ("Do not use this API, it doesn't work correctly. Use the non-Async version (WriteUtterance) instead.")] public virtual System.Threading.Tasks.Task<AVAudioBuffer> WriteUtteranceAsync (AVSpeechUtterance utterance); ``` #### Type Changed: AVFoundation.IAVAssetDownloadDelegate Added methods: ```csharp public virtual void DidCompleteForMediaSelection (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, AVMediaSelection mediaSelection); public virtual void DidFinishDownloadingToUrl (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, Foundation.NSUrl location); public virtual void DidLoadTimeRange (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, CoreMedia.CMTimeRange timeRange, Foundation.NSValue[] loadedTimeRanges, CoreMedia.CMTimeRange timeRangeExpectedToLoad); public virtual void DidLoadTimeRange (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, CoreMedia.CMTimeRange timeRange, Foundation.NSValue[] loadedTimeRanges, CoreMedia.CMTimeRange timeRangeExpectedToLoad, AVMediaSelection mediaSelection); public virtual void DidResolveMediaSelection (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVMediaSelection resolvedMediaSelection); public virtual void WillDownloadToUrl (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, Foundation.NSUrl location); public virtual void WillDownloadVariants (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVAssetVariant[] variants); ``` #### Type Changed: AVFoundation.IAVAssetResourceLoaderDelegate Added methods: ```csharp public virtual void DidCancelAuthenticationChallenge (AVAssetResourceLoader resourceLoader, Foundation.NSUrlAuthenticationChallenge authenticationChallenge); public virtual void DidCancelLoadingRequest (AVAssetResourceLoader resourceLoader, AVAssetResourceLoadingRequest loadingRequest); public virtual bool ShouldWaitForLoadingOfRequestedResource (AVAssetResourceLoader resourceLoader, AVAssetResourceLoadingRequest loadingRequest); public virtual bool ShouldWaitForRenewalOfRequestedResource (AVAssetResourceLoader resourceLoader, AVAssetResourceRenewalRequest renewalRequest); public virtual bool ShouldWaitForResponseToAuthenticationChallenge (AVAssetResourceLoader resourceLoader, Foundation.NSUrlAuthenticationChallenge authenticationChallenge); ``` #### Type Changed: AVFoundation.IAVAssetWriterDelegate Added methods: ```csharp public virtual void DidOutputSegmentData (AVAssetWriter writer, Foundation.NSData segmentData, AVAssetSegmentType segmentType); public virtual void DidOutputSegmentData (AVAssetWriter writer, Foundation.NSData segmentData, AVAssetSegmentType segmentType, AVAssetSegmentReport segmentReport); ``` #### Type Changed: AVFoundation.IAVAsynchronousKeyValueLoading Modified methods: ```diff -public abstract AVKeyValueStatus GetStatusOfValue (string forKey, out Foundation.NSError error) +public virtual AVKeyValueStatus GetStatusOfValue (string forKey, out Foundation.NSError error) -public abstract void LoadValuesAsynchronously (string[] keys, System.Action handler) +public virtual void LoadValuesAsynchronously (string[] keys, System.Action handler) ``` #### Type Changed: AVFoundation.IAVAudio3DMixing Modified properties: ```diff -public abstract float Obstruction { get; set; } +public virtual float Obstruction { get; set; } -public abstract float Occlusion { get; set; } +public virtual float Occlusion { get; set; } -public abstract AVAudio3DMixingPointSourceInHeadMode PointSourceInHeadMode { get; set; } +public virtual AVAudio3DMixingPointSourceInHeadMode PointSourceInHeadMode { get; set; } -public abstract System.Numerics.Vector3 Position { get; set; } +public virtual System.Numerics.Vector3 Position { get; set; } -public abstract float Rate { get; set; } +public virtual float Rate { get; set; } -public abstract AVAudio3DMixingRenderingAlgorithm RenderingAlgorithm { get; set; } +public virtual AVAudio3DMixingRenderingAlgorithm RenderingAlgorithm { get; set; } -public abstract float ReverbBlend { get; set; } +public virtual float ReverbBlend { get; set; } -public abstract AVAudio3DMixingSourceMode SourceMode { get; set; } +public virtual AVAudio3DMixingSourceMode SourceMode { get; set; } ``` #### Type Changed: AVFoundation.IAVAudioMixing Modified properties: ```diff -public abstract float Volume { get; set; } +public virtual float Volume { get; set; } ``` Modified methods: ```diff -public abstract AVAudioMixingDestination DestinationForMixer (AVAudioNode mixer, UIntPtr bus) +public virtual AVAudioMixingDestination DestinationForMixer (AVAudioNode mixer, UIntPtr bus) ``` #### Type Changed: AVFoundation.IAVAudioPlayerDelegate Added methods: ```csharp public virtual void BeginInterruption (AVAudioPlayer player); public virtual void DecoderError (AVAudioPlayer player, Foundation.NSError error); public virtual void EndInterruption (AVAudioPlayer player); public virtual void EndInterruption (AVAudioPlayer player, AVAudioSessionInterruptionOptions flags); public virtual void FinishedPlaying (AVAudioPlayer player, bool flag); ``` #### Type Changed: AVFoundation.IAVAudioRecorderDelegate Added methods: ```csharp public virtual void BeginInterruption (AVAudioRecorder recorder); public virtual void EncoderError (AVAudioRecorder recorder, Foundation.NSError error); public virtual void EndInterruption (AVAudioRecorder recorder); public virtual void EndInterruption (AVAudioRecorder recorder, AVAudioSessionInterruptionOptions flags); public virtual void FinishedRecording (AVAudioRecorder recorder, bool flag); ``` #### Type Changed: AVFoundation.IAVAudioSessionDelegate Added methods: ```csharp public virtual void BeginInterruption (); public virtual void EndInterruption (); public virtual void EndInterruption (AVAudioSessionInterruptionOptions flags); public virtual void InputIsAvailableChanged (bool isInputAvailable); ``` #### Type Changed: AVFoundation.IAVAudioStereoMixing Modified properties: ```diff -public abstract float Pan { get; set; } +public virtual float Pan { get; set; } ``` #### Type Changed: AVFoundation.IAVCaptureAudioDataOutputSampleBufferDelegate Added method: ```csharp public virtual void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection); ``` #### Type Changed: AVFoundation.IAVCaptureDataOutputSynchronizerDelegate Modified methods: ```diff -public abstract void DidOutputSynchronizedDataCollection (AVCaptureDataOutputSynchronizer synchronizer, AVCaptureSynchronizedDataCollection synchronizedDataCollection) +public virtual void DidOutputSynchronizedDataCollection (AVCaptureDataOutputSynchronizer synchronizer, AVCaptureSynchronizedDataCollection synchronizedDataCollection) ``` #### Type Changed: AVFoundation.IAVCaptureDepthDataOutputDelegate Added methods: ```csharp public virtual void DidDropDepthData (AVCaptureDepthDataOutput output, AVDepthData depthData, CoreMedia.CMTime timestamp, AVCaptureConnection connection, AVCaptureOutputDataDroppedReason reason); public virtual void DidOutputDepthData (AVCaptureDepthDataOutput output, AVDepthData depthData, CoreMedia.CMTime timestamp, AVCaptureConnection connection); ``` #### Type Changed: AVFoundation.IAVCaptureFileOutputRecordingDelegate Modified methods: ```diff -public abstract void FinishedRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, Foundation.NSObject[] connections, Foundation.NSError error) +public virtual void FinishedRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, Foundation.NSObject[] connections, Foundation.NSError error) ``` Added method: ```csharp public virtual void DidStartRecording (AVCaptureFileOutput captureOutput, Foundation.NSUrl outputFileUrl, Foundation.NSObject[] connections); ``` #### Type Changed: AVFoundation.IAVCaptureMetadataOutputObjectsDelegate Added method: ```csharp public virtual void DidOutputMetadataObjects (AVCaptureMetadataOutput captureOutput, AVMetadataObject[] metadataObjects, AVCaptureConnection connection); ``` #### Type Changed: AVFoundation.IAVCapturePhotoCaptureDelegate Added methods: ```csharp public virtual void DidCapturePhoto (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings); public virtual void DidFinishCapture (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings, Foundation.NSError error); public virtual void DidFinishProcessingLivePhotoMovie (AVCapturePhotoOutput captureOutput, Foundation.NSUrl outputFileUrl, CoreMedia.CMTime duration, CoreMedia.CMTime photoDisplayTime, AVCaptureResolvedPhotoSettings resolvedSettings, Foundation.NSError error); public virtual void DidFinishProcessingPhoto (AVCapturePhotoOutput output, AVCapturePhoto photo, Foundation.NSError error); public virtual void DidFinishProcessingPhoto (AVCapturePhotoOutput captureOutput, CoreMedia.CMSampleBuffer photoSampleBuffer, CoreMedia.CMSampleBuffer previewPhotoSampleBuffer, AVCaptureResolvedPhotoSettings resolvedSettings, AVCaptureBracketedStillImageSettings bracketSettings, Foundation.NSError error); public virtual void DidFinishProcessingRawPhoto (AVCapturePhotoOutput captureOutput, CoreMedia.CMSampleBuffer rawSampleBuffer, CoreMedia.CMSampleBuffer previewPhotoSampleBuffer, AVCaptureResolvedPhotoSettings resolvedSettings, AVCaptureBracketedStillImageSettings bracketSettings, Foundation.NSError error); public virtual void DidFinishRecordingLivePhotoMovie (AVCapturePhotoOutput captureOutput, Foundation.NSUrl outputFileUrl, AVCaptureResolvedPhotoSettings resolvedSettings); public virtual void WillBeginCapture (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings); public virtual void WillCapturePhoto (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings); ``` #### Type Changed: AVFoundation.IAVCapturePhotoFileDataRepresentationCustomizer Added methods: ```csharp public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetReplacementAppleProRawCompressionSettings (AVCapturePhoto photo, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> defaultSettings, IntPtr maximumBitDepth); public virtual AVDepthData GetReplacementDepthData (AVCapturePhoto photo); public virtual CoreVideo.CVPixelBuffer GetReplacementEmbeddedThumbnail (out Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> replacementEmbeddedThumbnailPhotoFormatOut, AVCapturePhoto photo); public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetReplacementMetadata (AVCapturePhoto photo); public virtual AVPortraitEffectsMatte GetReplacementPortraitEffectsMatte (AVCapturePhoto photo); public virtual AVSemanticSegmentationMatte GetReplacementSemanticSegmentationMatte (Foundation.NSString semanticSegmentationMatteType, AVCapturePhoto photo); ``` #### Type Changed: AVFoundation.IAVCaptureVideoDataOutputSampleBufferDelegate Added methods: ```csharp public virtual void DidDropSampleBuffer (AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection); public virtual void DidOutputSampleBuffer (AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection); ``` #### Type Changed: AVFoundation.IAVContentKeyRecipient Modified properties: ```diff -public abstract bool MayRequireContentKeysForMediaDataProcessing { get; } +public virtual bool MayRequireContentKeysForMediaDataProcessing { get; } ``` Added method: ```csharp public virtual void DidProvideContentKey (AVContentKeySession contentKeySession, AVContentKey contentKey); ``` #### Type Changed: AVFoundation.IAVContentKeySessionDelegate Modified methods: ```diff -public abstract void DidProvideContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest) +public virtual void DidProvideContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest) ``` Added methods: ```csharp public virtual void DidChange (AVContentKeySession session); public virtual void DidFail (AVContentKeySession session, AVContentKeyRequest keyRequest, Foundation.NSError err); public virtual void DidGenerateExpiredSessionReport (AVContentKeySession session); public virtual void DidProvidePersistableContentKeyRequest (AVContentKeySession session, AVPersistableContentKeyRequest keyRequest); public virtual void DidProvideRenewingContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest); public virtual void DidSucceed (AVContentKeySession session, AVContentKeyRequest keyRequest); public virtual void DidUpdate (AVContentKeySession session, Foundation.NSData persistableContentKey, Foundation.NSObject keyIdentifier); public virtual bool ShouldRetryContentKeyRequest (AVContentKeySession session, AVContentKeyRequest keyRequest, string retryReason); ``` #### Type Changed: AVFoundation.IAVFragmentMinding Modified methods: ```diff -public abstract bool IsAssociatedWithFragmentMinder () +public virtual bool IsAssociatedWithFragmentMinder () ``` #### Type Changed: AVFoundation.IAVPlaybackCoordinatorPlaybackControlDelegate Modified methods: ```diff -public abstract void DidIssueBufferingCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorBufferingCommand bufferingCommand, System.Action completionHandler) +public virtual void DidIssueBufferingCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorBufferingCommand bufferingCommand, System.Action completionHandler) -public abstract void DidIssuePauseCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPauseCommand pauseCommand, System.Action completionHandler) +public virtual void DidIssuePauseCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPauseCommand pauseCommand, System.Action completionHandler) -public abstract void DidIssuePlayCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPlayCommand playCommand, System.Action completionHandler) +public virtual void DidIssuePlayCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPlayCommand playCommand, System.Action completionHandler) -public abstract void DidIssueSeekCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorSeekCommand seekCommand, System.Action completionHandler) +public virtual void DidIssueSeekCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorSeekCommand seekCommand, System.Action completionHandler) ``` #### Type Changed: AVFoundation.IAVPlayerItemLegibleOutputPushDelegate Added method: ```csharp public virtual void DidOutputAttributedStrings (AVPlayerItemLegibleOutput output, Foundation.NSAttributedString[] strings, CoreMedia.CMSampleBuffer[] nativeSamples, CoreMedia.CMTime itemTime); ``` #### Type Changed: AVFoundation.IAVPlayerItemMetadataCollectorPushDelegate Modified methods: ```diff -public abstract void DidCollectDateRange (AVPlayerItemMetadataCollector metadataCollector, AVDateRangeMetadataGroup[] metadataGroups, Foundation.NSIndexSet indexesOfNewGroups, Foundation.NSIndexSet indexesOfModifiedGroups) +public virtual void DidCollectDateRange (AVPlayerItemMetadataCollector metadataCollector, AVDateRangeMetadataGroup[] metadataGroups, Foundation.NSIndexSet indexesOfNewGroups, Foundation.NSIndexSet indexesOfModifiedGroups) ``` #### Type Changed: AVFoundation.IAVPlayerItemMetadataOutputPushDelegate Added method: ```csharp public virtual void DidOutputTimedMetadataGroups (AVPlayerItemMetadataOutput output, AVTimedMetadataGroup[] groups, AVPlayerItemTrack track); ``` #### Type Changed: AVFoundation.IAVPlayerItemOutputPullDelegate Added methods: ```csharp public virtual void OutputMediaDataWillChange (AVPlayerItemOutput sender); public virtual void OutputSequenceWasFlushed (AVPlayerItemOutput output); ``` #### Type Changed: AVFoundation.IAVPlayerItemOutputPushDelegate Added method: ```csharp public virtual void OutputSequenceWasFlushed (AVPlayerItemOutput output); ``` #### Type Changed: AVFoundation.IAVPlayerPlaybackCoordinatorDelegate Added methods: ```csharp public virtual string GetIdentifier (AVPlayerPlaybackCoordinator coordinator, AVPlayerItem playerItem); public virtual Foundation.NSValue[] GetInterstitialTimeRanges (AVPlayerPlaybackCoordinator coordinator, AVPlayerItem playerItem); ``` #### Type Changed: AVFoundation.IAVQueuedSampleBufferRendering Modified properties: ```diff -public abstract bool HasSufficientMediaDataForReliablePlaybackStart { get; } +public virtual bool HasSufficientMediaDataForReliablePlaybackStart { get; } -public abstract bool ReadyForMoreMediaData { get; } +public virtual bool ReadyForMoreMediaData { get; } -public abstract CoreMedia.CMTimebase Timebase { get; } +public virtual CoreMedia.CMTimebase Timebase { get; } ``` Modified methods: ```diff -public abstract void Enqueue (CoreMedia.CMSampleBuffer sampleBuffer) +public virtual void Enqueue (CoreMedia.CMSampleBuffer sampleBuffer) -public abstract void Flush () +public virtual void Flush () -public abstract void RequestMediaData (CoreFoundation.DispatchQueue queue, System.Action handler) +public virtual void RequestMediaData (CoreFoundation.DispatchQueue queue, System.Action handler) -public abstract void StopRequestingMediaData () +public virtual void StopRequestingMediaData () ``` #### Type Changed: AVFoundation.IAVSpeechSynthesizerDelegate Added methods: ```csharp public virtual void DidCancelSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance); public virtual void DidContinueSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance); public virtual void DidFinishSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance); public virtual void DidPauseSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance); public virtual void DidStartSpeechUtterance (AVSpeechSynthesizer synthesizer, AVSpeechUtterance utterance); public virtual void WillSpeakRangeOfSpeechString (AVSpeechSynthesizer synthesizer, Foundation.NSRange characterRange, AVSpeechUtterance utterance); ``` #### Type Changed: AVFoundation.IAVVideoCompositing Added properties: ```csharp public virtual bool CanConformColorOfSourceFrames { get; } public virtual bool SupportsHdrSourceFrames { get; } public virtual bool SupportsWideColorSourceFrames { get; } ``` Modified methods: ```diff -public abstract void RenderContextChanged (AVVideoCompositionRenderContext newRenderContext) +public virtual void RenderContextChanged (AVVideoCompositionRenderContext newRenderContext) -public abstract Foundation.NSDictionary RequiredPixelBufferAttributesForRenderContext () +public virtual Foundation.NSDictionary RequiredPixelBufferAttributesForRenderContext () -public abstract Foundation.NSDictionary SourcePixelBufferAttributes () +public virtual Foundation.NSDictionary SourcePixelBufferAttributes () -public abstract void StartVideoCompositionRequest (AVAsynchronousVideoCompositionRequest asyncVideoCompositionRequest) +public virtual void StartVideoCompositionRequest (AVAsynchronousVideoCompositionRequest asyncVideoCompositionRequest) ``` Added methods: ```csharp public virtual void AnticipateRendering (AVVideoCompositionRenderHint renderHint); public virtual void CancelAllPendingVideoCompositionRequests (); public virtual void PrerollForRendering (AVVideoCompositionRenderHint renderHint); ``` #### Type Changed: AVFoundation.IAVVideoCompositionValidationHandling Added methods: ```csharp public virtual bool ShouldContinueValidatingAfterFindingEmptyTimeRange (AVVideoComposition videoComposition, CoreMedia.CMTimeRange timeRange); public virtual bool ShouldContinueValidatingAfterFindingInvalidTimeRangeInInstruction (AVVideoComposition videoComposition, AVVideoCompositionInstruction videoCompositionInstruction); public virtual bool ShouldContinueValidatingAfterFindingInvalidTrackIDInInstruction (AVVideoComposition videoComposition, AVVideoCompositionInstruction videoCompositionInstruction, AVVideoCompositionLayerInstruction layerInstruction, AVAsset asset); public virtual bool ShouldContinueValidatingAfterFindingInvalidValueForKey (AVVideoComposition videoComposition, string key); ``` #### New Type: AVFoundation.AVAudioSourceNodeRenderHandler3 ```csharp public sealed delegate AVAudioSourceNodeRenderHandler3 : System.MulticastDelegate { // constructors public AVAudioSourceNodeRenderHandler3 (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers outputData, System.AsyncCallback callback, object object); public virtual int EndInvoke (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, System.IAsyncResult result); public virtual int Invoke (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers outputData); } ``` #### New Type: AVFoundation.AVAudioSourceNodeRenderHandlerRaw ```csharp public sealed delegate AVAudioSourceNodeRenderHandlerRaw : System.MulticastDelegate { // constructors public AVAudioSourceNodeRenderHandlerRaw (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData, System.AsyncCallback callback, object object); public virtual int EndInvoke (System.IAsyncResult result); public virtual int Invoke (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData); } ``` #### New Type: AVFoundation.AVSampleCursor ```csharp public class AVSampleCursor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected AVSampleCursor (Foundation.NSObjectFlag t); protected AVSampleCursor (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual AVSampleCursorChunkInfo CurrentChunkInfo { get; } public virtual AVSampleCursorStorageRange CurrentChunkStorageRange { get; } public virtual Foundation.NSUrl CurrentChunkStorageUrl { get; } public virtual AVSampleCursorAudioDependencyInfo CurrentSampleAudioDependencyInfo { get; } public virtual Foundation.NSDictionary CurrentSampleDependencyAttachments { get; } public AVSampleCursorDependencyInfo CurrentSampleDependencyInfo2 { get; } public virtual CoreMedia.CMTime CurrentSampleDuration { get; } public virtual long CurrentSampleIndexInChunk { get; } public virtual AVSampleCursorStorageRange CurrentSampleStorageRange { get; } public virtual AVSampleCursorSyncInfo CurrentSampleSyncInfo { get; } public virtual CoreMedia.CMTime DecodeTimeStamp { get; } public virtual CoreMedia.CMTime PresentationTimeStamp { get; } public virtual IntPtr SamplesRequiredForDecoderRefresh { get; } // methods public virtual Foundation.NSComparisonResult ComparePositionInDecodeOrder (AVSampleCursor positionOfCursor); public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual CoreMedia.CMFormatDescription CopyCurrentSampleFormatDescription (); public virtual bool SamplesWithEarlierDecodeTimeStampsMayHaveLaterPresentationTimeStampsThan (AVSampleCursor positionOfCursor); public virtual bool SamplesWithLaterDecodeTimeStampsMayHaveEarlierPresentationTimeStampsThan (AVSampleCursor positionOfCursor); public virtual CoreMedia.CMTime StepByDecodeTime (CoreMedia.CMTime deltaDecodeTime, out bool wasPinned); public virtual CoreMedia.CMTime StepByPresentationTime (CoreMedia.CMTime deltaPresentationTime, out bool wasPinned); public virtual long StepInDecodeOrder (long stepCount); public virtual long StepInPresentationOrder (long stepCount); } ``` #### New Type: AVFoundation.AVSampleCursorChunkInfo ```csharp public struct AVSampleCursorChunkInfo { // fields public bool HasUniformFormatDescriptions; public bool HasUniformSampleDurations; public bool HasUniformSampleSizes; public long SampleCount; } ``` #### New Type: AVFoundation.AVSampleCursorDependencyInfo ```csharp public struct AVSampleCursorDependencyInfo { // fields public bool DependsOnOthers; public bool HasDependentSamples; public bool HasRedundantCoding; public bool IndicatesWhetherItDependsOnOthers; public bool IndicatesWhetherItHasDependentSamples; public bool IndicatesWhetherItHasRedundantCoding; } ``` #### New Type: AVFoundation.AVSampleCursorStorageRange ```csharp public struct AVSampleCursorStorageRange { // fields public long Length; public long Offset; } ``` #### New Type: AVFoundation.AVSampleCursorSyncInfo ```csharp public struct AVSampleCursorSyncInfo { // fields public bool IsDroppable; public bool IsFullSync; public bool IsPartialSync; } ``` ### Namespace AVKit #### Type Changed: AVKit.AVKitError Added value: ```csharp RecordingFailed = -1200, ``` #### Type Changed: AVKit.AVPlayerViewController Added properties: ```csharp public virtual UIKit.UIAction ToggleLookupAction { get; } public virtual AVVideoFrameAnalysisType VideoFrameAnalysisTypes { get; set; } ``` #### Type Changed: AVKit.IAVCustomRoutingControllerDelegate Modified methods: ```diff -public abstract void HandleEvent (AVRouting.AVCustomRoutingController controller, AVRouting.AVCustomRoutingEvent event, AVCustomRoutingControllerDelegateCompletionHandler completionHandler) +public virtual void HandleEvent (AVRouting.AVCustomRoutingController controller, AVRouting.AVCustomRoutingEvent event, AVCustomRoutingControllerDelegateCompletionHandler completionHandler) ``` Added methods: ```csharp public virtual void DidSelectItem (AVRouting.AVCustomRoutingController controller, AVRouting.AVCustomRoutingActionItem customActionItem); public virtual void EventDidTimeOut (AVRouting.AVCustomRoutingController controller, AVRouting.AVCustomRoutingEvent event); ``` #### Type Changed: AVKit.IAVPictureInPictureControllerDelegate Added methods: ```csharp public virtual void DidStartPictureInPicture (AVPictureInPictureController pictureInPictureController); public virtual void DidStopPictureInPicture (AVPictureInPictureController pictureInPictureController); public virtual void FailedToStartPictureInPicture (AVPictureInPictureController pictureInPictureController, Foundation.NSError error); public virtual void RestoreUserInterfaceForPictureInPicture (AVPictureInPictureController pictureInPictureController, System.Action<bool> completionHandler); public virtual void WillStartPictureInPicture (AVPictureInPictureController pictureInPictureController); public virtual void WillStopPictureInPicture (AVPictureInPictureController pictureInPictureController); ``` #### Type Changed: AVKit.IAVPictureInPictureSampleBufferPlaybackDelegate Modified methods: ```diff -public abstract void DidTransitionToRenderSize (AVPictureInPictureController pictureInPictureController, CoreMedia.CMVideoDimensions newRenderSize) +public virtual void DidTransitionToRenderSize (AVPictureInPictureController pictureInPictureController, CoreMedia.CMVideoDimensions newRenderSize) -public abstract CoreMedia.CMTimeRange GetTimeRange (AVPictureInPictureController pictureInPictureController) +public virtual CoreMedia.CMTimeRange GetTimeRange (AVPictureInPictureController pictureInPictureController) -public abstract bool IsPlaybackPaused (AVPictureInPictureController pictureInPictureController) +public virtual bool IsPlaybackPaused (AVPictureInPictureController pictureInPictureController) -public abstract void SetPlaying (AVPictureInPictureController pictureInPictureController, bool playing) +public virtual void SetPlaying (AVPictureInPictureController pictureInPictureController, bool playing) -public abstract void SkipByInterval (AVPictureInPictureController pictureInPictureController, CoreMedia.CMTime skipInterval, System.Action completionHandler) +public virtual void SkipByInterval (AVPictureInPictureController pictureInPictureController, CoreMedia.CMTime skipInterval, System.Action completionHandler) ``` Added method: ```csharp public virtual bool ShouldProhibitBackgroundAudioPlayback (AVPictureInPictureController pictureInPictureController); ``` #### Type Changed: AVKit.IAVPlayerViewControllerDelegate Added methods: ```csharp public virtual void DidStartPictureInPicture (AVPlayerViewController playerViewController); public virtual void DidStopPictureInPicture (AVPlayerViewController playerViewController); public virtual void FailedToStartPictureInPicture (AVPlayerViewController playerViewController, Foundation.NSError error); public virtual void RestoreUserInterfaceForFullScreenExit (AVPlayerViewController playerViewController, System.Action<bool> completionHandler); public virtual void RestoreUserInterfaceForPictureInPicture (AVPlayerViewController playerViewController, System.Action<bool> completionHandler); public virtual bool ShouldAutomaticallyDismissAtPictureInPictureStart (AVPlayerViewController playerViewController); public virtual void WillBeginFullScreenPresentation (AVPlayerViewController playerViewController, UIKit.IUIViewControllerTransitionCoordinator coordinator); public virtual void WillEndFullScreenPresentation (AVPlayerViewController playerViewController, UIKit.IUIViewControllerTransitionCoordinator coordinator); public virtual void WillStartPictureInPicture (AVPlayerViewController playerViewController); public virtual void WillStopPictureInPicture (AVPlayerViewController playerViewController); ``` #### Type Changed: AVKit.IAVRoutePickerViewDelegate Added methods: ```csharp public virtual void DidEndPresentingRoutes (AVRoutePickerView routePickerView); public virtual void WillBeginPresentingRoutes (AVRoutePickerView routePickerView); ``` #### New Type: AVKit.AVVideoFrameAnalysisType ```csharp [Serializable] public enum AVVideoFrameAnalysisType { AVVideoFrameAnalysisTypeDefault = 1, AVVideoFrameAnalysisTypeMachineReadableCode = 16, AVVideoFrameAnalysisTypeNone = 0, AVVideoFrameAnalysisTypeSubject = 4, AVVideoFrameAnalysisTypeText = 2, AVVideoFrameAnalysisTypeVisualSearch = 8, } ``` ### Namespace Accessibility #### Type Changed: Accessibility.AXHearingUtilities Added method: ```csharp public static byte AXSupportsBidirectionalAXMFiHearingDeviceStreaming (); ``` #### Type Changed: Accessibility.IAXBrailleMapRenderer Added properties: ```csharp public virtual CoreGraphics.CGRect AccessibilityBrailleMapRenderRegion { get; set; } public virtual System.Action<AXBrailleMap> AccessibilityBrailleMapRenderer { get; set; } ``` #### Type Changed: Accessibility.IAXChart Modified properties: ```diff -public abstract AXChartDescriptor AccessibilityChartDescriptor { get; set; } +public virtual AXChartDescriptor AccessibilityChartDescriptor { get; set; } ``` #### Type Changed: Accessibility.IAXCustomContentProvider Modified properties: ```diff -public abstract AXCustomContent[] AccessibilityCustomContent { get; set; } +public virtual AXCustomContent[] AccessibilityCustomContent { get; set; } ``` Added property: ```csharp public virtual System.Func<AXCustomContent[]> AccessibilityCustomContentHandler { get; set; } ``` #### Type Changed: Accessibility.IAXDataAxisDescriptor Modified properties: ```diff -public abstract Foundation.NSAttributedString AttributedTitle { get; set; } +public virtual Foundation.NSAttributedString AttributedTitle { get; set; } -public abstract string Title { get; set; } +public virtual string Title { get; set; } ``` ### Namespace AppKit #### Type Changed: AppKit.INSAccessibilityColor Modified properties: ```diff -public abstract string AccessibilityName { get; } +public virtual string AccessibilityName { get; } ``` #### Type Changed: AppKit.INSToolbarDelegate Added methods: ```csharp public virtual string[] AllowedItemIdentifiers (NSToolbar toolbar); public virtual string[] DefaultItemIdentifiers (NSToolbar toolbar); public virtual void DidRemoveItem (Foundation.NSNotification notification); public virtual bool GetItemCanBeInsertedAt (NSToolbar toolbar, string itemIdentifier, IntPtr index); public virtual Foundation.NSSet<Foundation.NSString> GetToolbarImmovableItemIdentifiers (NSToolbar toolbar); public virtual string[] SelectableItemIdentifiers (NSToolbar toolbar); public virtual void WillAddItem (Foundation.NSNotification notification); public virtual NSToolbarItem WillInsertItem (NSToolbar toolbar, string itemIdentifier, bool willBeInserted); ``` #### Type Changed: AppKit.INSTouchBarDelegate Added method: ```csharp public virtual NSTouchBarItem MakeItem (NSTouchBar touchBar, string identifier); ``` #### Type Changed: AppKit.INSTouchBarProvider Modified properties: ```diff -public abstract NSTouchBar TouchBar { get; } +public virtual NSTouchBar TouchBar { get; } ``` ### Namespace AudioToolbox #### Type Changed: AudioToolbox.AudioConverter Added methods: ```csharp public static AudioConverter Create (AudioStreamBasicDescription sourceFormat, AudioStreamBasicDescription destinationFormat, AudioConverterOptions options); public static AudioConverter Create (AudioStreamBasicDescription sourceFormat, AudioStreamBasicDescription destinationFormat, AudioConverterOptions options, out AudioConverterError error); public static void Prepare (AudioConverter.PrepareCompletionCallback completionCallback); public static void Prepare (uint flags, IntPtr ioReserved, AudioConverter.PrepareCompletionCallback completionCallback); ``` #### Type Changed: AudioToolbox.AudioFile Added methods: ```csharp public int CountUserData (AudioFileChunkType chunkType); public AudioFileError GetUserData (AudioFileChunkType chunkType, int index, ref int size, IntPtr userData); public AudioFileError GetUserData (AudioFileChunkType chunkType, int index, long offset, byte[] data, out int size); public AudioFileError GetUserData (AudioFileChunkType chunkType, int index, long offset, ref int size, IntPtr userData); public AudioFileError GetUserData (uint userDataId, int index, long offset, byte[] data, out int size); public AudioFileError GetUserData (uint userDataId, int index, long offset, ref int size, IntPtr userData); public int GetUserDataSize (AudioFileChunkType chunkType, int index); public AudioFileError GetUserDataSize (AudioFileChunkType chunkType, int index, out ulong size); public AudioFileError GetUserDataSize (uint userDataId, int index, out ulong size); ``` #### 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); ``` #### New Type: AudioToolbox.AUVoiceIOOtherAudioDuckingLevel ```csharp [Serializable] public enum AUVoiceIOOtherAudioDuckingLevel { Default = 0, Max = 30, Mid = 20, Min = 10, } ``` #### New Type: AudioToolbox.AudioConverterOptions ```csharp [Serializable] [Flags] public enum AudioConverterOptions { None = 0, Unbuffered = 65536, } ``` ### Namespace AudioUnit #### Type Changed: AudioUnit.AUAudioUnit Added property: ```csharp public virtual Foundation.NSData[] MigrateFromPlugin { get; } ``` #### Type Changed: AudioUnit.AudioComponentDescription Modified fields: ```diff ---[MarshalAs]--- public AudioComponentManufacturerType ComponentManufacturer; ---[MarshalAs]--- public AudioUnitSubType ComponentSubType; ---[MarshalAs]--- public AudioComponentType ComponentType; ``` #### Type Changed: AudioUnit.IAUAudioUnitFactory Modified methods: ```diff -public abstract AUAudioUnit CreateAudioUnit (AudioComponentDescription desc, out Foundation.NSError error) +public virtual AUAudioUnit CreateAudioUnit (AudioComponentDescription desc, out Foundation.NSError error) ``` ### Namespace AuthenticationServices #### Type Changed: AuthenticationServices.ASAuthorizationAppleIdCredential Added property: ```csharp public virtual ASUserAgeRange UserAgeRange { get; } ``` #### Type Changed: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput Added constructor: ```csharp public ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput (Foundation.NSCoder coder); ``` Added interfaces: ```csharp Foundation.INSCoding Foundation.INSCopying Foundation.INSSecureCoding ObjCRuntime.INativeObject System.IDisposable ``` Added methods: ```csharp public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); ``` #### Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertion Added property: ```csharp public virtual bool AppId { get; } ``` #### Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest Added property: ```csharp public virtual string AppId { get; set; } ``` #### Type Changed: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialRegistration Added property: ```csharp public virtual ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport[] Transports { get; } ``` Added method: ```csharp protected override void Dispose (bool disposing); ``` #### Type Changed: AuthenticationServices.ASCredentialIdentityStore Added methods: ```csharp public virtual void GetCredentialIdentities (ASCredentialServiceIdentifier serviceIdentifier, ASCredentialIdentityTypes credentialIdentityTypes, ASCredentialIdentityStoreGetCredentialIdentitiesHandler completion); public virtual System.Threading.Tasks.Task<IASCredentialIdentity[]> GetCredentialIdentitiesAsync (ASCredentialServiceIdentifier serviceIdentifier, ASCredentialIdentityTypes credentialIdentityTypes); ``` #### Type Changed: AuthenticationServices.ASWebAuthenticationSession Added constructor: ```csharp public ASWebAuthenticationSession (Foundation.NSUrl url, ASWebAuthenticationSessionCallback callback, ASWebAuthenticationSessionCompletionHandler completionHandler); ``` Added property: ```csharp public virtual Foundation.NSDictionary AdditionalHeaderFields { get; set; } ``` #### Type Changed: AuthenticationServices.ASWebAuthenticationSessionRequest Added properties: ```csharp public virtual Foundation.NSDictionary AdditionalHeaderFields { get; } public virtual ASWebAuthenticationSessionCallback Callback { get; } ``` #### Type Changed: AuthenticationServices.IASAccountAuthenticationModificationControllerDelegate Added methods: ```csharp public virtual void DidFailRequest (ASAccountAuthenticationModificationController controller, ASAccountAuthenticationModificationRequest request, Foundation.NSError error); public virtual void DidSuccessfullyCompleteRequest (ASAccountAuthenticationModificationController controller, ASAccountAuthenticationModificationRequest request, Foundation.NSDictionary userInfo); ``` #### Type Changed: AuthenticationServices.IASAccountAuthenticationModificationControllerPresentationContextProviding Modified methods: ```diff -public abstract UIKit.UIWindow GetPresentationAnchor (ASAccountAuthenticationModificationController controller) +public virtual UIKit.UIWindow GetPresentationAnchor (ASAccountAuthenticationModificationController controller) ``` #### Type Changed: AuthenticationServices.IASAuthorizationControllerDelegate Added methods: ```csharp public virtual void DidComplete (ASAuthorizationController controller, ASAuthorization authorization); public virtual void DidComplete (ASAuthorizationController controller, Foundation.NSError error); ``` #### Type Changed: AuthenticationServices.IASAuthorizationControllerPresentationContextProviding Modified methods: ```diff -public abstract UIKit.UIWindow GetPresentationAnchor (ASAuthorizationController controller) +public virtual UIKit.UIWindow GetPresentationAnchor (ASAuthorizationController controller) ``` #### Type Changed: AuthenticationServices.IASAuthorizationProviderExtensionAuthorizationRequestHandler Modified methods: ```diff -public abstract void BeginAuthorization (ASAuthorizationProviderExtensionAuthorizationRequest request) +public virtual void BeginAuthorization (ASAuthorizationProviderExtensionAuthorizationRequest request) ``` Added method: ```csharp public virtual void CancelAuthorization (ASAuthorizationProviderExtensionAuthorizationRequest request); ``` #### Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialAssertion Modified properties: ```diff -public abstract Foundation.NSData RawAuthenticatorData { get; } +public virtual Foundation.NSData RawAuthenticatorData { get; } -public abstract Foundation.NSData Signature { get; } +public virtual Foundation.NSData Signature { get; } -public abstract Foundation.NSData UserId { get; } +public virtual Foundation.NSData UserId { get; } ``` #### Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialAssertionRequest Modified properties: ```diff -public abstract IASAuthorizationPublicKeyCredentialDescriptor[] AllowedCredentials { get; set; } +public virtual IASAuthorizationPublicKeyCredentialDescriptor[] AllowedCredentials { get; set; } -public abstract Foundation.NSData Challenge { get; set; } +public virtual Foundation.NSData Challenge { get; set; } -public abstract string RelyingPartyIdentifier { get; set; } +public virtual string RelyingPartyIdentifier { get; set; } -public abstract Foundation.NSString UserVerificationPreference { get; set; } +public virtual Foundation.NSString UserVerificationPreference { get; set; } ``` #### Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialDescriptor Modified properties: ```diff -public abstract Foundation.NSData CredentialId { get; set; } +public virtual Foundation.NSData CredentialId { get; set; } ``` #### Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialRegistration Modified properties: ```diff -public abstract Foundation.NSData RawAttestationObject { get; } +public virtual Foundation.NSData RawAttestationObject { get; } ``` #### Type Changed: AuthenticationServices.IASAuthorizationPublicKeyCredentialRegistrationRequest Modified properties: ```diff -public abstract Foundation.NSString AttestationPreference { get; set; } +public virtual Foundation.NSString AttestationPreference { get; set; } -public abstract Foundation.NSData Challenge { get; set; } +public virtual Foundation.NSData Challenge { get; set; } -public abstract string DisplayName { get; set; } +public virtual string DisplayName { get; set; } -public abstract string Name { get; set; } +public virtual string Name { get; set; } -public abstract string RelyingPartyIdentifier { get; } +public virtual string RelyingPartyIdentifier { get; } -public abstract Foundation.NSData UserId { get; set; } +public virtual Foundation.NSData UserId { get; set; } -public abstract Foundation.NSString UserVerificationPreference { get; set; } +public virtual Foundation.NSString UserVerificationPreference { get; set; } ``` #### Type Changed: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest Modified properties: ```diff -public abstract ASPublicKeyCredentialClientData ClientData { get; } +public virtual ASPublicKeyCredentialClientData ClientData { get; } -public abstract bool ShouldShowHybridTransport { get; set; } +public virtual bool ShouldShowHybridTransport { get; set; } ``` #### Type Changed: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider Modified methods: ```diff -public abstract ASAuthorizationPlatformPublicKeyCredentialAssertionRequest CreateCredentialAssertionRequest (ASPublicKeyCredentialClientData clientData) +public virtual ASAuthorizationPlatformPublicKeyCredentialAssertionRequest CreateCredentialAssertionRequest (ASPublicKeyCredentialClientData clientData) -public abstract ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest CreateCredentialRegistrationRequest (ASPublicKeyCredentialClientData clientData, string name, Foundation.NSData userId) +public virtual ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest CreateCredentialRegistrationRequest (ASPublicKeyCredentialClientData clientData, string name, Foundation.NSData userId) ``` #### Type Changed: AuthenticationServices.IASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest Modified properties: ```diff -public abstract ASPublicKeyCredentialClientData ClientData { get; } +public virtual ASPublicKeyCredentialClientData ClientData { get; } -public abstract ASAuthorizationPlatformPublicKeyCredentialDescriptor[] ExcludedCredentials { get; set; } +public virtual ASAuthorizationPlatformPublicKeyCredentialDescriptor[] ExcludedCredentials { get; set; } -public abstract bool ShouldShowHybridTransport { get; set; } +public virtual bool ShouldShowHybridTransport { get; set; } ``` #### Type Changed: AuthenticationServices.IASCredentialIdentity Modified properties: ```diff -public abstract IntPtr Rank { get; set; } +public virtual IntPtr Rank { get; set; } -public abstract string RecordIdentifier { get; } +public virtual string RecordIdentifier { get; } -public abstract ASCredentialServiceIdentifier ServiceIdentifier { get; } +public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; } -public abstract string User { get; } +public virtual string User { get; } ``` #### Type Changed: AuthenticationServices.IASCredentialRequest Modified properties: ```diff -public abstract IASCredentialIdentity CredentialIdentity { get; } +public virtual IASCredentialIdentity CredentialIdentity { get; } -public abstract ASCredentialRequestType Type { get; } +public virtual ASCredentialRequestType Type { get; } ``` #### Type Changed: AuthenticationServices.IASPublicKeyCredential Modified properties: ```diff -public abstract Foundation.NSData CredentialId { get; } +public virtual Foundation.NSData CredentialId { get; } -public abstract Foundation.NSData RawClientDataJson { get; } +public virtual Foundation.NSData RawClientDataJson { get; } ``` #### Type Changed: AuthenticationServices.IASWebAuthenticationPresentationContextProviding Modified methods: ```diff -public abstract UIKit.UIWindow GetPresentationAnchor (ASWebAuthenticationSession session) +public virtual UIKit.UIWindow GetPresentationAnchor (ASWebAuthenticationSession session) ``` #### Type Changed: AuthenticationServices.IASWebAuthenticationSessionRequestDelegate Added methods: ```csharp public virtual void DidCancel (ASWebAuthenticationSessionRequest authenticationSessionRequest, Foundation.NSError error); public virtual void DidComplete (ASWebAuthenticationSessionRequest authenticationSessionRequest, Foundation.NSUrl callbackUrl); ``` #### New Type: AuthenticationServices.ASCredentialIdentityStoreGetCredentialIdentitiesHandler ```csharp public sealed delegate ASCredentialIdentityStoreGetCredentialIdentitiesHandler : System.MulticastDelegate { // constructors public ASCredentialIdentityStoreGetCredentialIdentitiesHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (IASCredentialIdentity[] credentialIdentities, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (IASCredentialIdentity[] credentialIdentities); } ``` #### New Type: AuthenticationServices.ASCredentialIdentityTypes ```csharp [Serializable] [Flags] public enum ASCredentialIdentityTypes { All = 0, Passkey = 2, Password = 1, } ``` #### New Type: AuthenticationServices.ASUserAgeRange ```csharp [Serializable] public enum ASUserAgeRange { Child = 1, NotChild = 2, Unknown = 0, } ``` #### New Type: AuthenticationServices.ASWebAuthenticationSessionCallback ```csharp public class ASWebAuthenticationSessionCallback : Foundation.NSObject { // constructors protected ASWebAuthenticationSessionCallback (Foundation.NSObjectFlag t); protected ASWebAuthenticationSessionCallback (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public static ASWebAuthenticationSessionCallback Create (string customScheme); public static ASWebAuthenticationSessionCallback Create (string httpsHost, string path); public virtual bool MatchesUrl (Foundation.NSUrl url); } ``` #### New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialAssertionRequest ```csharp public interface IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialAssertionRequest : ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual ASPublicKeyCredentialClientData ClientData { get; } } ``` #### New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialProvider ```csharp public interface IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialProvider : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest CreateCredentialAssertionRequest (ASPublicKeyCredentialClientData clientData); public virtual ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest CreateCredentialRegistrationRequest (ASPublicKeyCredentialClientData clientData, string displayName, string name, Foundation.NSData userId); } ``` #### New Type: AuthenticationServices.IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialRegistrationRequest ```csharp public interface IASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialRegistrationRequest : ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual ASPublicKeyCredentialClientData ClientData { get; } } ``` ### Namespace AutomaticAssessmentConfiguration #### Type Changed: AutomaticAssessmentConfiguration.AEAssessmentApplication Added constructor: ```csharp public AEAssessmentApplication (string bundleIdentifier); ``` #### Type Changed: AutomaticAssessmentConfiguration.AEAssessmentErrorCode Added values: ```csharp ConfigurationUpdatesNotSupported = 4, MultipleParticipantsNotSupported = 3, ``` #### Type Changed: AutomaticAssessmentConfiguration.AEAssessmentParticipantConfiguration Added property: ```csharp public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> ConfigurationInfo { get; set; } ``` #### Type Changed: AutomaticAssessmentConfiguration.AEAssessmentSession Added properties: ```csharp public static bool SupportsConfigurationUpdates { get; } public static bool SupportsMultipleParticipants { get; } ``` #### Type Changed: AutomaticAssessmentConfiguration.IAEAssessmentSessionDelegate Added methods: ```csharp public virtual void DidBegin (AEAssessmentSession session); public virtual void DidEnd (AEAssessmentSession session); public virtual void DidUpdate (AEAssessmentSession session); public virtual void FailedToBegin (AEAssessmentSession session, Foundation.NSError error); public virtual void FailedToUpdate (AEAssessmentSession session, AEAssessmentConfiguration configuration, Foundation.NSError error); public virtual void WasInterrupted (AEAssessmentSession session, Foundation.NSError error); ``` ### Namespace BackgroundAssets #### Type Changed: BackgroundAssets.IBADownloadManagerDelegate Added methods: ```csharp public virtual void DidBegin (BADownload download); public virtual void DidPause (BADownload download); public virtual void DidReceiveChallenge (BADownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler); public virtual void DidWriteBytes (BADownload download, long bytesWritten, long totalBytesWritten, long totalExpectedBytes); public virtual void Failed (BADownload download, Foundation.NSError error); public virtual void Finished (BADownload download, Foundation.NSUrl fileUrl); ``` #### Type Changed: BackgroundAssets.IBADownloaderExtension Added methods: ```csharp public virtual void DidReceiveChallenge (BADownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler); public virtual void Failed (BADownload download, Foundation.NSError error); public virtual void Finished (BADownload download, Foundation.NSUrl fileUrl); public virtual Foundation.NSSet<BADownload> GetDownloads (BAContentRequest contentRequest, Foundation.NSUrl manifestUrl, BAAppExtensionInfo extensionInfo); public virtual void WillTerminate (); ``` ### Namespace CallKit #### Type Changed: CallKit.CXErrorCodeIncomingCallError Added value: ```csharp CallIsProtected = 6, ``` #### Type Changed: CallKit.CXErrorCodeRequestTransactionError Added value: ```csharp CallIsProtected = 8, ``` #### Type Changed: CallKit.ICXCallDirectoryExtensionContextDelegate Modified methods: ```diff -public abstract void RequestFailed (CXCallDirectoryExtensionContext extensionContext, Foundation.NSError error) +public virtual void RequestFailed (CXCallDirectoryExtensionContext extensionContext, Foundation.NSError error) ``` #### Type Changed: CallKit.ICXCallObserverDelegate Modified methods: ```diff -public abstract void CallChanged (CXCallObserver callObserver, CXCall call) +public virtual void CallChanged (CXCallObserver callObserver, CXCall call) ``` #### Type Changed: CallKit.ICXProviderDelegate Modified methods: ```diff -public abstract void DidReset (CXProvider provider) +public virtual void DidReset (CXProvider provider) ``` Added methods: ```csharp 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 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); ``` ### Namespace ClassKit #### Type Changed: ClassKit.ICLSContextProvider Modified methods: ```diff -public abstract void UpdateDescendants (CLSContext context, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completion) +public virtual void UpdateDescendants (CLSContext context, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completion) ``` #### Type Changed: ClassKit.ICLSDataStoreDelegate Modified methods: ```diff -public abstract CLSContext CreateContext (string identifier, CLSContext parentContext, string[] parentIdentifierPath) +public virtual CLSContext CreateContext (string identifier, CLSContext parentContext, string[] parentIdentifierPath) ``` ### Namespace CloudKit #### Type Changed: CloudKit.CKShareParticipant Added property: ```csharp public virtual string ParticipantId { get; } ``` #### Type Changed: CloudKit.ICKSyncEngineDelegate Modified methods: ```diff -public abstract void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event) +public virtual void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event) -public abstract CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context) +public virtual CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context) ``` Added method: ```csharp public virtual CKSyncEngineFetchChangesOptions SyncEngine (CKSyncEngine syncEngine, CKSyncEngineFetchChangesContext context); ``` ### Namespace Compression #### Type Changed: Compression.CompressionAlgorithm Added values: ```csharp Brotli = 2818, LZBitmap = 1794, ``` ### Namespace Contacts #### Type Changed: Contacts.CNAuthorizationStatus Added value: ```csharp Limited = 4, ``` #### Type Changed: Contacts.ICNChangeHistoryEventVisitor Modified methods: ```diff -public abstract void AddContact (CNChangeHistoryAddContactEvent event) +public virtual void AddContact (CNChangeHistoryAddContactEvent event) -public abstract void DeleteContact (CNChangeHistoryDeleteContactEvent event) +public virtual void DeleteContact (CNChangeHistoryDeleteContactEvent event) -public abstract void DropEverything (CNChangeHistoryDropEverythingEvent event) +public virtual void DropEverything (CNChangeHistoryDropEverythingEvent event) -public abstract void UpdateContact (CNChangeHistoryUpdateContactEvent event) +public virtual void UpdateContact (CNChangeHistoryUpdateContactEvent event) ``` Added methods: ```csharp public virtual void AddGroup (CNChangeHistoryAddGroupEvent event); public virtual void AddMemberToGroup (CNChangeHistoryAddMemberToGroupEvent event); public virtual void AddSubgroupToGroup (CNChangeHistoryAddSubgroupToGroupEvent event); public virtual void DeleteGroup (CNChangeHistoryDeleteGroupEvent event); public virtual void RemoveMemberFromGroup (CNChangeHistoryRemoveMemberFromGroupEvent event); public virtual void RemoveSubgroupFromGroup (CNChangeHistoryRemoveSubgroupFromGroupEvent event); public virtual void UpdateGroup (CNChangeHistoryUpdateGroupEvent event); ``` ### Namespace ContactsUI #### Type Changed: ContactsUI.ICNContactPickerDelegate Added methods: ```csharp public virtual void ContactPickerDidCancel (CNContactPickerViewController picker); public virtual void DidSelectContact (CNContactPickerViewController picker, Contacts.CNContact contact); public virtual void DidSelectContactProperties (CNContactPickerViewController picker, Contacts.CNContactProperty[] contactProperties); public virtual void DidSelectContactProperty (CNContactPickerViewController picker, Contacts.CNContactProperty contactProperty); public virtual void DidSelectContacts (CNContactPickerViewController picker, Contacts.CNContact[] contacts); ``` #### Type Changed: ContactsUI.ICNContactViewControllerDelegate Added methods: ```csharp public virtual void DidComplete (CNContactViewController viewController, Contacts.CNContact contact); public virtual bool ShouldPerformDefaultAction (CNContactViewController viewController, Contacts.CNContactProperty property); ``` ### Namespace CoreAnimation #### Type Changed: CoreAnimation.CAEdrMetadata Added method: ```csharp public static CAEdrMetadata GetHlgMetadata (Foundation.NSData ambientViewingEnvironmentData); ``` #### Type Changed: CoreAnimation.CALayer Added properties: ```csharp public virtual CAToneMapMode ToneMapMode { get; set; } public virtual bool WantsExtendedDynamicRangeContent { get; set; } ``` #### Type Changed: CoreAnimation.CASpringAnimation Added constructor: ```csharp public CASpringAnimation (double perceptualDuration, System.Runtime.InteropServices.NFloat bounce); ``` Added properties: ```csharp public virtual bool AllowsOverdamping { get; set; } public virtual System.Runtime.InteropServices.NFloat Bounce { get; } public virtual double PerceptualDuration { get; } ``` #### Type Changed: CoreAnimation.ICAAction Modified methods: ```diff -public abstract void RunAction (string eventKey, Foundation.NSObject obj, Foundation.NSDictionary arguments) +public virtual void RunAction (string eventKey, Foundation.NSObject obj, Foundation.NSDictionary arguments) ``` #### Type Changed: CoreAnimation.ICAAnimationDelegate Added methods: ```csharp public virtual void AnimationStarted (CAAnimation anim); public virtual void AnimationStopped (CAAnimation anim, bool finished); ``` #### Type Changed: CoreAnimation.ICALayerDelegate Added methods: ```csharp public virtual Foundation.NSObject ActionForLayer (CALayer layer, string eventKey); public virtual void DisplayLayer (CALayer layer); public virtual void DrawLayer (CALayer layer, CoreGraphics.CGContext context); public virtual void LayoutSublayersOfLayer (CALayer layer); public virtual void WillDrawLayer (CALayer layer); ``` #### Type Changed: CoreAnimation.ICAMediaTiming Modified properties: ```diff -public abstract bool AutoReverses { get; set; } +public virtual bool AutoReverses { get; set; } -public abstract double BeginTime { get; set; } +public virtual double BeginTime { get; set; } -public abstract double Duration { get; set; } +public virtual double Duration { get; set; } -public abstract string FillMode { get; set; } +public virtual string FillMode { get; set; } -public abstract float RepeatCount { get; set; } +public virtual float RepeatCount { get; set; } -public abstract double RepeatDuration { get; set; } +public virtual double RepeatDuration { get; set; } -public abstract float Speed { get; set; } +public virtual float Speed { get; set; } -public abstract double TimeOffset { get; set; } +public virtual double TimeOffset { get; set; } ``` #### Type Changed: CoreAnimation.ICAMetalDrawable Modified properties: ```diff -public abstract CAMetalLayer Layer { get; } +public virtual CAMetalLayer Layer { get; } -public abstract Metal.IMTLTexture Texture { get; } +public virtual Metal.IMTLTexture Texture { get; } ``` #### New Type: CoreAnimation.CAMetalDisplayLink ```csharp public class CAMetalDisplayLink : Foundation.NSObject { // constructors public CAMetalDisplayLink (CAMetalLayer layer); protected CAMetalDisplayLink (Foundation.NSObjectFlag t); protected CAMetalDisplayLink (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public ICAMetalDisplayLinkDelegate Delegate { get; set; } public virtual bool Paused { get; set; } public virtual float PreferredFrameLatency { get; set; } public virtual CAFrameRateRange PreferredFrameRateRange { get; set; } public virtual Foundation.NSObject WeakDelegate { get; set; } // methods public virtual void AddToRunLoop (Foundation.NSRunLoop runloop, Foundation.NSRunLoopMode mode); protected override void Dispose (bool disposing); public virtual void Invalidate (); public virtual void RemoveFromRunLoop (Foundation.NSRunLoop runloop, Foundation.NSRunLoopMode mode); } ``` #### New Type: CoreAnimation.CAMetalDisplayLinkDelegate ```csharp public abstract class CAMetalDisplayLinkDelegate : Foundation.NSObject, ICAMetalDisplayLinkDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected CAMetalDisplayLinkDelegate (); protected CAMetalDisplayLinkDelegate (Foundation.NSObjectFlag t); protected CAMetalDisplayLinkDelegate (ObjCRuntime.NativeHandle handle); // methods public virtual void NeedsUpdate (CAMetalDisplayLink link, CAMetalDisplayLinkUpdate update); } ``` #### New Type: CoreAnimation.CAMetalDisplayLinkUpdate ```csharp public class CAMetalDisplayLinkUpdate : Foundation.NSObject { // constructors protected CAMetalDisplayLinkUpdate (Foundation.NSObjectFlag t); protected CAMetalDisplayLinkUpdate (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual ICAMetalDrawable Drawable { get; } public virtual double TargetPresentationTimestamp { get; } public virtual double TargetTimestamp { get; } } ``` #### New Type: CoreAnimation.CARenderer ```csharp public class CARenderer : Foundation.NSObject { // constructors public CARenderer (); protected CARenderer (Foundation.NSObjectFlag t); protected CARenderer (ObjCRuntime.NativeHandle handle); // properties public virtual CoreGraphics.CGRect Bounds { get; set; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual CALayer Layer { get; set; } // methods public virtual void AddUpdate (CoreGraphics.CGRect r); public void BeginFrame (double timeInSeconds); public virtual void BeginFrame (double timeInSeconds, ref Foundation.NSObject ts); public static CARenderer Create (Metal.IMTLTexture tex, CARendererOptions options); public static CARenderer Create (Metal.IMTLTexture tex, Foundation.NSDictionary dict); public virtual void EndFrame (); public virtual double GetNextFrameTime (); public virtual void Render (); public virtual void SetDestination (Metal.IMTLTexture tex); public virtual CoreGraphics.CGRect UpdateBounds (); } ``` #### New Type: CoreAnimation.CARendererOptions ```csharp public class CARendererOptions : Foundation.DictionaryContainer { // constructors public CARendererOptions (); public CARendererOptions (Foundation.NSDictionary dictionary); // properties public CoreGraphics.CGColorSpace ColorSpace { get; set; } } ``` #### New Type: CoreAnimation.CAToneMapMode ```csharp [Serializable] public enum CAToneMapMode { Automatic = 0, IfSupported = 2, Never = 1, } ``` #### New Type: CoreAnimation.CAToneMapModeExtensions ```csharp public static class CAToneMapModeExtensions { // methods public static Foundation.NSString GetConstant (this CAToneMapMode self); public static CAToneMapMode GetValue (Foundation.NSString constant); } ``` #### New Type: CoreAnimation.ICAMetalDisplayLinkDelegate ```csharp public interface ICAMetalDisplayLinkDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void NeedsUpdate (CAMetalDisplayLink link, CAMetalDisplayLinkUpdate update); } ``` ### Namespace CoreBluetooth #### Type Changed: CoreBluetooth.CBUUID Added property: ```csharp public static Foundation.NSString CharacteristicObservationScheduleString { get; } ``` #### Type Changed: CoreBluetooth.ICBCentralManagerDelegate Modified methods: ```diff -public abstract void UpdatedState (CBCentralManager central) +public virtual void UpdatedState (CBCentralManager central) ``` Added methods: ```csharp public virtual void ConnectedPeripheral (CBCentralManager central, CBPeripheral peripheral); public virtual void ConnectionEventDidOccur (CBCentralManager central, CBConnectionEvent connectionEvent, CBPeripheral peripheral); public virtual void DidDisconnectPeripheral (CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error); public virtual void DidUpdateAncsAuthorization (CBCentralManager central, CBPeripheral peripheral); public virtual void DisconnectedPeripheral (CBCentralManager central, CBPeripheral peripheral, Foundation.NSError error); public virtual void DiscoveredPeripheral (CBCentralManager central, CBPeripheral peripheral, Foundation.NSDictionary advertisementData, Foundation.NSNumber RSSI); public virtual void FailedToConnectPeripheral (CBCentralManager central, CBPeripheral peripheral, Foundation.NSError error); public virtual void WillRestoreState (CBCentralManager central, Foundation.NSDictionary dict); ``` #### Type Changed: CoreBluetooth.ICBPeripheralDelegate Added methods: ```csharp public virtual void DidOpenL2CapChannel (CBPeripheral peripheral, CBL2CapChannel channel, Foundation.NSError error); public virtual void DiscoveredCharacteristics (CBPeripheral peripheral, CBService service, Foundation.NSError error); public virtual void DiscoveredDescriptor (CBPeripheral peripheral, CBCharacteristic characteristic, Foundation.NSError error); public virtual void DiscoveredIncludedService (CBPeripheral peripheral, CBService service, Foundation.NSError error); public virtual void DiscoveredService (CBPeripheral peripheral, Foundation.NSError error); public virtual void IsReadyToSendWriteWithoutResponse (CBPeripheral peripheral); public virtual void ModifiedServices (CBPeripheral peripheral, CBService[] services); public virtual void RssiRead (CBPeripheral peripheral, Foundation.NSNumber rssi, Foundation.NSError error); public virtual void RssiUpdated (CBPeripheral peripheral, Foundation.NSError error); public virtual void UpdatedCharacterteristicValue (CBPeripheral peripheral, CBCharacteristic characteristic, Foundation.NSError error); public virtual void UpdatedName (CBPeripheral peripheral); public virtual void UpdatedNotificationState (CBPeripheral peripheral, CBCharacteristic characteristic, Foundation.NSError error); public virtual void UpdatedValue (CBPeripheral peripheral, CBDescriptor descriptor, Foundation.NSError error); public virtual void WroteCharacteristicValue (CBPeripheral peripheral, CBCharacteristic characteristic, Foundation.NSError error); public virtual void WroteDescriptorValue (CBPeripheral peripheral, CBDescriptor descriptor, Foundation.NSError error); ``` #### Type Changed: CoreBluetooth.ICBPeripheralManagerDelegate Modified methods: ```diff -public abstract void StateUpdated (CBPeripheralManager peripheral) +public virtual void StateUpdated (CBPeripheralManager peripheral) ``` Added methods: ```csharp public virtual void AdvertisingStarted (CBPeripheralManager peripheral, Foundation.NSError error); public virtual void CharacteristicSubscribed (CBPeripheralManager peripheral, CBCentral central, CBCharacteristic characteristic); public virtual void CharacteristicUnsubscribed (CBPeripheralManager peripheral, CBCentral central, CBCharacteristic characteristic); public virtual void DidOpenL2CapChannel (CBPeripheralManager peripheral, CBL2CapChannel channel, Foundation.NSError error); public virtual void DidPublishL2CapChannel (CBPeripheralManager peripheral, ushort psm, Foundation.NSError error); public virtual void DidUnpublishL2CapChannel (CBPeripheralManager peripheral, ushort psm, Foundation.NSError error); public virtual void ReadRequestReceived (CBPeripheralManager peripheral, CBATTRequest request); public virtual void ReadyToUpdateSubscribers (CBPeripheralManager peripheral); public virtual void ServiceAdded (CBPeripheralManager peripheral, CBService service, Foundation.NSError error); public virtual void WillRestoreState (CBPeripheralManager peripheral, Foundation.NSDictionary dict); public virtual void WriteRequestsReceived (CBPeripheralManager peripheral, CBATTRequest[] requests); ``` ### Namespace CoreData #### Type Changed: CoreData.INSFetchedResultsControllerDelegate Added methods: ```csharp public virtual void DidChangeContent (NSFetchedResultsController controller); public virtual void DidChangeObject (NSFetchedResultsController controller, Foundation.NSObject anObject, Foundation.NSIndexPath indexPath, NSFetchedResultsChangeType type, Foundation.NSIndexPath newIndexPath); public virtual void DidChangeSection (NSFetchedResultsController controller, INSFetchedResultsSectionInfo sectionInfo, UIntPtr sectionIndex, NSFetchedResultsChangeType type); public virtual string SectionFor (NSFetchedResultsController controller, string sectionName); public virtual void WillChangeContent (NSFetchedResultsController controller); ``` #### Type Changed: CoreData.INSFetchedResultsSectionInfo Modified properties: ```diff -public abstract IntPtr Count { get; } +public virtual IntPtr Count { get; } -public abstract string IndexTitle { get; } +public virtual string IndexTitle { get; } -public abstract string Name { get; } +public virtual string Name { get; } -public abstract Foundation.NSObject[] Objects { get; } +public virtual Foundation.NSObject[] Objects { get; } ``` ### Namespace CoreGraphics #### Type Changed: CoreGraphics.CGEvent Modified properties: ```diff -public long MouseEventButtonNumber { get; set; } +public long MouseEventButtonNumber { get; } -public long MouseEventClickState { get; set; } +public long MouseEventClickState { get; } -public long MouseEventDeltaX { get; set; } +public long MouseEventDeltaX { get; } -public long MouseEventDeltaY { get; set; } +public long MouseEventDeltaY { get; } -public bool MouseEventInstantMouser { get; set; } +public bool MouseEventInstantMouser { get; } -public long MouseEventNumber { get; set; } +public long MouseEventNumber { get; } -public double MouseEventPressure { get; set; } +public double MouseEventPressure { get; } -public long MouseEventSubtype { get; set; } +public long MouseEventSubtype { get; } ``` Added methods: ```csharp public static CoreFoundation.CFMachPort CreateTap (int pid, CGEventTapPlacement place, CGEventTapOptions options, CGEventMask mask, CGEvent.CGEventTapCallback callback, IntPtr data); public double GetDoubleValueField (CGEventField field); public long GetLongValueField (CGEventField field); public void PostToPSN (IntPtr processSerialNumber); public void PostToPid (int pid); public static void PostToPid (CGEvent evt, int pid); public void SetValueField (CGEventField field, double value); public void SetValueField (CGEventField field, long value); ``` #### New Type: CoreGraphics.CGEventField ```csharp [Serializable] public enum CGEventField { EventSourceGroupId = 44, EventSourceStateId = 45, EventSourceUnixProcessId = 41, EventSourceUserData = 42, EventSourceUserId = 43, EventTargetProcessSerialNumber = 39, EventTargetUnixProcessId = 40, EventUnacceleratedPointerMovementX = 170, EventUnacceleratedPointerMovementY = 171, EventWindowUnderMousePointer = 91, EventWindowUnderMousePointerThatCanHandleThisEvent = 92, KeyboardEventAutorepeat = 8, KeyboardEventKeyboardType = 10, KeyboardEventKeycode = 9, MouseEventButtonNumber = 3, MouseEventClickState = 1, MouseEventDeltaX = 4, MouseEventDeltaY = 5, MouseEventInstantMouser = 6, MouseEventNumber = 0, MouseEventPressure = 2, MouseEventSubtype = 7, ScrollWheelEventDeltaAxis1 = 11, ScrollWheelEventDeltaAxis2 = 12, ScrollWheelEventDeltaAxis3 = 13, ScrollWheelEventFixedPtDeltaAxis1 = 93, ScrollWheelEventFixedPtDeltaAxis2 = 94, ScrollWheelEventFixedPtDeltaAxis3 = 95, ScrollWheelEventInstantMouser = 14, ScrollWheelEventIsContinuous = 88, ScrollWheelEventMomentumPhase = 123, ScrollWheelEventPointDeltaAxis1 = 96, ScrollWheelEventPointDeltaAxis2 = 97, ScrollWheelEventPointDeltaAxis3 = 98, ScrollWheelEventScrollCount = 100, ScrollWheelEventScrollPhase = 99, TabletEventDeviceId = 24, TabletEventPointButtons = 18, TabletEventPointPressure = 19, TabletEventPointX = 15, TabletEventPointY = 16, TabletEventPointZ = 17, TabletEventRotation = 22, TabletEventTangentialPressure = 23, TabletEventTiltX = 20, TabletEventTiltY = 21, TabletEventVendor1 = 25, TabletEventVendor2 = 26, TabletEventVendor3 = 27, TabletProximityEventCapabilityMask = 36, TabletProximityEventDeviceId = 31, TabletProximityEventEnterProximity = 38, TabletProximityEventPointerId = 30, TabletProximityEventPointerType = 37, TabletProximityEventSystemTabletId = 32, TabletProximityEventTabletId = 29, TabletProximityEventVendorId = 28, TabletProximityEventVendorPointerSerialNumber = 34, TabletProximityEventVendorPointerType = 33, TabletProximityEventVendorUniqueId = 35, } ``` #### New Type: CoreGraphics.CGSession ```csharp public static class CGSession { // methods public static CGSessionProperties GetProperties (); } ``` #### New Type: CoreGraphics.CGSessionKeys ```csharp public static class CGSessionKeys { // properties public static Foundation.NSString ConsoleSetKey { get; } public static Foundation.NSString LoginDoneKey { get; } public static Foundation.NSString OnConsoleKey { get; } public static Foundation.NSString UserIdKey { get; } public static Foundation.NSString UserNameKey { get; } } ``` #### New Type: CoreGraphics.CGSessionProperties ```csharp public class CGSessionProperties : Foundation.DictionaryContainer { // constructors public CGSessionProperties (); public CGSessionProperties (Foundation.NSDictionary dictionary); // properties public uint? ConsoleSet { get; } public bool? LoginDone { get; } public bool? OnConsole { get; } public uint? UserId { get; } public string UserName { get; } } ``` ### Namespace CoreHaptics #### Type Changed: CoreHaptics.ICHHapticAdvancedPatternPlayer Modified properties: ```diff -public abstract System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% CompletionHandler { get; set; } +public virtual System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% CompletionHandler { get; set; } -public abstract bool IsMuted { get; set; } +public virtual bool IsMuted { get; set; } -public abstract bool LoopEnabled { get; set; } +public virtual bool LoopEnabled { get; set; } -public abstract double LoopEnd { get; set; } +public virtual double LoopEnd { get; set; } -public abstract float PlaybackRate { get; set; } +public virtual float PlaybackRate { get; set; } ``` Modified methods: ```diff -public abstract bool Pause (double time, out Foundation.NSError outError) +public virtual bool Pause (double time, out Foundation.NSError outError) -public abstract bool Resume (double time, out Foundation.NSError outError) +public virtual bool Resume (double time, out Foundation.NSError outError) -public abstract bool Seek (double offsetTime, out Foundation.NSError outError) +public virtual bool Seek (double offsetTime, out Foundation.NSError outError) ``` #### Type Changed: CoreHaptics.ICHHapticDeviceCapability Modified properties: ```diff -public abstract bool SupportsAudio { get; } +public virtual bool SupportsAudio { get; } -public abstract bool SupportsHaptics { get; } +public virtual bool SupportsHaptics { get; } ``` Modified methods: ```diff -public abstract ICHHapticParameterAttributes GetAttributes (Foundation.NSString eventParameter, out Foundation.NSError outError) +public virtual ICHHapticParameterAttributes GetAttributes (Foundation.NSString eventParameter, out Foundation.NSError outError) -public abstract ICHHapticParameterAttributes GetAttributes (Foundation.NSString eventParameter, string type, out Foundation.NSError outError) +public virtual ICHHapticParameterAttributes GetAttributes (Foundation.NSString eventParameter, string type, out Foundation.NSError outError) ``` #### Type Changed: CoreHaptics.ICHHapticParameterAttributes Modified properties: ```diff -public abstract float DefaultValue { get; } +public virtual float DefaultValue { get; } -public abstract float MaxValue { get; } +public virtual float MaxValue { get; } -public abstract float MinValue { get; } +public virtual float MinValue { get; } ``` #### Type Changed: CoreHaptics.ICHHapticPatternPlayer Modified properties: ```diff -public abstract bool IsMuted { get; set; } +public virtual bool IsMuted { get; set; } ``` Modified methods: ```diff -public abstract bool Cancel (out Foundation.NSError outError) +public virtual bool Cancel (out Foundation.NSError outError) -public abstract bool Schedule (CHHapticParameterCurve parameterCurve, double time, out Foundation.NSError outError) +public virtual bool Schedule (CHHapticParameterCurve parameterCurve, double time, out Foundation.NSError outError) -public abstract bool Send (CHHapticDynamicParameter[] parameters, double time, out Foundation.NSError outError) +public virtual bool Send (CHHapticDynamicParameter[] parameters, double time, out Foundation.NSError outError) -public abstract bool Start (double time, out Foundation.NSError outError) +public virtual bool Start (double time, out Foundation.NSError outError) -public abstract bool Stop (double time, out Foundation.NSError outError) +public virtual bool Stop (double time, out Foundation.NSError outError) ``` ### Namespace CoreImage #### Type Changed: CoreImage.CIImage Added properties: ```csharp public virtual float ContentHeadroom { get; } public virtual Metal.IMTLTexture MetalTexture { get; } public virtual bool Opaque { get; } ``` Added methods: ```csharp public virtual CIImage CreateByApplyingGainMap (CIImage gainMap); public virtual CIImage CreateByApplyingGainMap (CIImage gainMap, float headroom); ``` #### Type Changed: CoreImage.CIToneCurve Added property: ```csharp public bool Extrapolate { get; set; } ``` #### Type Changed: CoreImage.ICIAccordionFoldTransitionProtocol Modified properties: ```diff -public abstract float BottomHeight { get; set; } +public virtual float BottomHeight { get; set; } -public abstract float FoldCount { get; set; } +public virtual float FoldCount { get; set; } -public abstract float FoldShadowAmount { get; set; } +public virtual float FoldShadowAmount { get; set; } ``` #### Type Changed: CoreImage.ICIAffineClampProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGAffineTransform Transform { get; set; } +public virtual CoreGraphics.CGAffineTransform Transform { get; set; } ``` #### Type Changed: CoreImage.ICIAffineTileProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGAffineTransform Transform { get; set; } +public virtual CoreGraphics.CGAffineTransform Transform { get; set; } ``` #### Type Changed: CoreImage.ICIAreaHistogramProtocol Modified properties: ```diff -public abstract IntPtr InputCount { get; set; } +public virtual IntPtr InputCount { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICIAreaLogarithmicHistogramProtocol Modified properties: ```diff -public abstract IntPtr Count { get; set; } +public virtual IntPtr Count { get; set; } -public abstract float MaximumStop { get; set; } +public virtual float MaximumStop { get; set; } -public abstract float MinimumStop { get; set; } +public virtual float MinimumStop { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICIAreaReductionFilterProtocol Modified properties: ```diff -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIAttributedTextImageGeneratorProtocol Modified properties: ```diff -public abstract float ScaleFactor { get; set; } +public virtual float ScaleFactor { get; set; } -public abstract Foundation.NSAttributedString Text { get; set; } +public virtual Foundation.NSAttributedString Text { get; set; } ``` Added property: ```csharp public virtual float Padding { get; set; } ``` #### Type Changed: CoreImage.ICIAztecCodeGeneratorProtocol Modified properties: ```diff -public abstract float CorrectionLevel { get; set; } +public virtual float CorrectionLevel { get; set; } -public abstract float InputCompactStyle { get; set; } +public virtual float InputCompactStyle { get; set; } -public abstract float InputLayers { get; set; } +public virtual float InputLayers { get; set; } -public abstract Foundation.NSData Message { get; set; } +public virtual Foundation.NSData Message { get; set; } ``` #### Type Changed: CoreImage.ICIBarcodeGeneratorProtocol Modified properties: ```diff -public abstract CIBarcodeDescriptor BarcodeDescriptor { get; set; } +public virtual CIBarcodeDescriptor BarcodeDescriptor { get; set; } ``` #### Type Changed: CoreImage.ICIBarsSwipeTransitionProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract float BarOffset { get; set; } +public virtual float BarOffset { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIBicubicScaleTransformProtocol Modified properties: ```diff -public abstract float AspectRatio { get; set; } +public virtual float AspectRatio { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float ParameterB { get; set; } +public virtual float ParameterB { get; set; } -public abstract float ParameterC { get; set; } +public virtual float ParameterC { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICIBlendWithMaskProtocol Modified properties: ```diff -public abstract CIImage BackgroundImage { get; set; } +public virtual CIImage BackgroundImage { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIImage MaskImage { get; set; } +public virtual CIImage MaskImage { get; set; } ``` #### Type Changed: CoreImage.ICIBloomProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIBlurredRectangleGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract float Sigma { get; set; } +public virtual float Sigma { get; set; } ``` #### Type Changed: CoreImage.ICIBokehBlurProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float RingAmount { get; set; } +public virtual float RingAmount { get; set; } -public abstract float RingSize { get; set; } +public virtual float RingSize { get; set; } -public abstract float Softness { get; set; } +public virtual float Softness { get; set; } ``` #### Type Changed: CoreImage.ICIBoxBlurProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIBumpDistortionLinearProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICIBumpDistortionProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICICannyEdgeDetectorProtocol Modified properties: ```diff -public abstract float GaussianSigma { get; set; } +public virtual float GaussianSigma { get; set; } -public abstract IntPtr HysteresisPasses { get; set; } +public virtual IntPtr HysteresisPasses { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract bool Perceptual { get; set; } +public virtual bool Perceptual { get; set; } -public abstract float ThresholdHigh { get; set; } +public virtual float ThresholdHigh { get; set; } -public abstract float ThresholdLow { get; set; } +public virtual float ThresholdLow { get; set; } ``` #### Type Changed: CoreImage.ICICheckerboardGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color0 { get; set; } +public virtual CIColor Color0 { get; set; } -public abstract CIColor Color1 { get; set; } +public virtual CIColor Color1 { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICICircleSplashDistortionProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICICircularScreenProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICICircularWrapProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICICmykHalftoneProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract float GrayComponentReplacement { get; set; } +public virtual float GrayComponentReplacement { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } -public abstract float UnderColorRemoval { get; set; } +public virtual float UnderColorRemoval { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICICode128BarcodeGeneratorProtocol Modified properties: ```diff -public abstract float BarcodeHeight { get; set; } +public virtual float BarcodeHeight { get; set; } -public abstract Foundation.NSData Message { get; set; } +public virtual Foundation.NSData Message { get; set; } -public abstract float QuietSpace { get; set; } +public virtual float QuietSpace { get; set; } ``` #### Type Changed: CoreImage.ICIColorAbsoluteDifferenceProtocol Modified properties: ```diff -public abstract CIImage Image2 { get; set; } +public virtual CIImage Image2 { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIColorClampProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIVector MaxComponents { get; set; } +public virtual CIVector MaxComponents { get; set; } -public abstract CIVector MinComponents { get; set; } +public virtual CIVector MinComponents { get; set; } ``` #### Type Changed: CoreImage.ICIColorControlsProtocol Modified properties: ```diff -public abstract float Brightness { get; set; } +public virtual float Brightness { get; set; } -public abstract float Contrast { get; set; } +public virtual float Contrast { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Saturation { get; set; } +public virtual float Saturation { get; set; } ``` #### Type Changed: CoreImage.ICIColorCrossPolynomialProtocol Modified properties: ```diff -public abstract CIVector BlueCoefficients { get; set; } +public virtual CIVector BlueCoefficients { get; set; } -public abstract CIVector GreenCoefficients { get; set; } +public virtual CIVector GreenCoefficients { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIVector RedCoefficients { get; set; } +public virtual CIVector RedCoefficients { get; set; } ``` #### Type Changed: CoreImage.ICIColorCubeProtocol Modified properties: ```diff -public abstract Foundation.NSData CubeData { get; set; } +public virtual Foundation.NSData CubeData { get; set; } -public abstract float CubeDimension { get; set; } +public virtual float CubeDimension { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` Added property: ```csharp public virtual bool Extrapolate { get; set; } ``` #### Type Changed: CoreImage.ICIColorCubeWithColorSpaceProtocol Modified properties: ```diff -public abstract CoreGraphics.CGColorSpace ColorSpace { get; set; } +public virtual CoreGraphics.CGColorSpace ColorSpace { get; set; } -public abstract Foundation.NSData CubeData { get; set; } +public virtual Foundation.NSData CubeData { get; set; } -public abstract float CubeDimension { get; set; } +public virtual float CubeDimension { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` Added property: ```csharp public virtual bool Extrapolate { get; set; } ``` #### Type Changed: CoreImage.ICIColorCubesMixedWithMaskProtocol Modified properties: ```diff -public abstract CoreGraphics.CGColorSpace ColorSpace { get; set; } +public virtual CoreGraphics.CGColorSpace ColorSpace { get; set; } -public abstract Foundation.NSData Cube0Data { get; set; } +public virtual Foundation.NSData Cube0Data { get; set; } -public abstract Foundation.NSData Cube1Data { get; set; } +public virtual Foundation.NSData Cube1Data { get; set; } -public abstract float CubeDimension { get; set; } +public virtual float CubeDimension { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIImage MaskImage { get; set; } +public virtual CIImage MaskImage { get; set; } ``` Added property: ```csharp public virtual bool Extrapolate { get; set; } ``` #### Type Changed: CoreImage.ICIColorCurvesProtocol Modified properties: ```diff -public abstract CoreGraphics.CGColorSpace ColorSpace { get; set; } +public virtual CoreGraphics.CGColorSpace ColorSpace { get; set; } -public abstract Foundation.NSData CurvesData { get; set; } +public virtual Foundation.NSData CurvesData { get; set; } -public abstract CIVector CurvesDomain { get; set; } +public virtual CIVector CurvesDomain { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIColorInvertProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIColorMapProtocol Modified properties: ```diff -public abstract CIImage GradientImage { get; set; } +public virtual CIImage GradientImage { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIColorMatrixProtocol Modified properties: ```diff -public abstract CIVector AVector { get; set; } +public virtual CIVector AVector { get; set; } -public abstract CIVector BVector { get; set; } +public virtual CIVector BVector { get; set; } -public abstract CIVector BiasVector { get; set; } +public virtual CIVector BiasVector { get; set; } -public abstract CIVector GVector { get; set; } +public virtual CIVector GVector { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIVector RVector { get; set; } +public virtual CIVector RVector { get; set; } ``` #### Type Changed: CoreImage.ICIColorMonochromeProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } ``` #### Type Changed: CoreImage.ICIColorPolynomialProtocol Modified properties: ```diff -public abstract CIVector AlphaCoefficients { get; set; } +public virtual CIVector AlphaCoefficients { get; set; } -public abstract CIVector BlueCoefficients { get; set; } +public virtual CIVector BlueCoefficients { get; set; } -public abstract CIVector GreenCoefficients { get; set; } +public virtual CIVector GreenCoefficients { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIVector RedCoefficients { get; set; } +public virtual CIVector RedCoefficients { get; set; } ``` #### Type Changed: CoreImage.ICIColorPosterizeProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Levels { get; set; } +public virtual float Levels { get; set; } ``` #### Type Changed: CoreImage.ICIColorThresholdOtsuProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIColorThresholdProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Threshold { get; set; } +public virtual float Threshold { get; set; } ``` #### Type Changed: CoreImage.ICIComicEffectProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICICompositeOperationProtocol Modified properties: ```diff -public abstract CIImage BackgroundImage { get; set; } +public virtual CIImage BackgroundImage { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIConvertLabProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract bool Normalize { get; set; } +public virtual bool Normalize { get; set; } ``` #### Type Changed: CoreImage.ICIConvolutionProtocol Modified properties: ```diff -public abstract float Bias { get; set; } +public virtual float Bias { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIVector Weights { get; set; } +public virtual CIVector Weights { get; set; } ``` #### Type Changed: CoreImage.ICICopyMachineTransitionProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CoreGraphics.CGRect Extent { get; set; } +public virtual CoreGraphics.CGRect Extent { get; set; } -public abstract float Opacity { get; set; } +public virtual float Opacity { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICICoreMLModelProtocol Modified properties: ```diff -public abstract float HeadIndex { get; set; } +public virtual float HeadIndex { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreML.MLModel Model { get; set; } +public virtual CoreML.MLModel Model { get; set; } -public abstract bool SoftmaxNormalization { get; set; } +public virtual bool SoftmaxNormalization { get; set; } ``` #### Type Changed: CoreImage.ICICrystallizeProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIDepthOfFieldProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGPoint InputPoint0 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint0 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint1 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint1 { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Saturation { get; set; } +public virtual float Saturation { get; set; } -public abstract float UnsharpMaskIntensity { get; set; } +public virtual float UnsharpMaskIntensity { get; set; } -public abstract float UnsharpMaskRadius { get; set; } +public virtual float UnsharpMaskRadius { get; set; } ``` #### Type Changed: CoreImage.ICIDepthToDisparityProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIDiscBlurProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIDisintegrateWithMaskTransitionProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputShadowOffset { get; set; } +public virtual CoreGraphics.CGPoint InputShadowOffset { get; set; } -public abstract CIImage MaskImage { get; set; } +public virtual CIImage MaskImage { get; set; } -public abstract float ShadowDensity { get; set; } +public virtual float ShadowDensity { get; set; } -public abstract float ShadowRadius { get; set; } +public virtual float ShadowRadius { get; set; } ``` #### Type Changed: CoreImage.ICIDisparityToDepthProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIDisplacementDistortionProtocol Modified properties: ```diff -public abstract CIImage DisplacementImage { get; set; } +public virtual CIImage DisplacementImage { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICIDitherProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } ``` #### Type Changed: CoreImage.ICIDocumentEnhancerProtocol Modified properties: ```diff -public abstract float Amount { get; set; } +public virtual float Amount { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIDotScreenProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIDrosteProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGPoint InputInsetPoint0 { get; set; } +public virtual CoreGraphics.CGPoint InputInsetPoint0 { get; set; } -public abstract CoreGraphics.CGPoint InputInsetPoint1 { get; set; } +public virtual CoreGraphics.CGPoint InputInsetPoint1 { get; set; } -public abstract float Periodicity { get; set; } +public virtual float Periodicity { get; set; } -public abstract float Rotation { get; set; } +public virtual float Rotation { get; set; } -public abstract float Strands { get; set; } +public virtual float Strands { get; set; } -public abstract float Zoom { get; set; } +public virtual float Zoom { get; set; } ``` #### Type Changed: CoreImage.ICIEdgePreserveUpsampleProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float LumaSigma { get; set; } +public virtual float LumaSigma { get; set; } -public abstract CIImage SmallImage { get; set; } +public virtual CIImage SmallImage { get; set; } -public abstract float SpatialSigma { get; set; } +public virtual float SpatialSigma { get; set; } ``` #### Type Changed: CoreImage.ICIEdgeWorkProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIEdgesProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } ``` #### Type Changed: CoreImage.ICIEightfoldReflectedTileProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIExposureAdjustProtocol Modified properties: ```diff -public abstract float EV { get; set; } +public virtual float EV { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIFalseColorProtocol Modified properties: ```diff -public abstract CIColor Color0 { get; set; } +public virtual CIColor Color0 { get; set; } -public abstract CIColor Color1 { get; set; } +public virtual CIColor Color1 { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIFilterConstructor Modified methods: ```diff -public abstract CIFilter FilterWithName (string name) +public virtual CIFilter FilterWithName (string name) ``` #### Type Changed: CoreImage.ICIFilterProtocol Modified properties: ```diff -public abstract CIImage OutputImage { get; } +public virtual CIImage OutputImage { get; } ``` Added method: ```csharp public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetCustomAttributes<T> (); ``` #### Type Changed: CoreImage.ICIFlashTransitionProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract float FadeThreshold { get; set; } +public virtual float FadeThreshold { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract float MaxStriationRadius { get; set; } +public virtual float MaxStriationRadius { get; set; } -public abstract float StriationContrast { get; set; } +public virtual float StriationContrast { get; set; } -public abstract float StriationStrength { get; set; } +public virtual float StriationStrength { get; set; } ``` #### Type Changed: CoreImage.ICIFourCoordinateGeometryFilterProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputBottomLeft { get; set; } +public virtual CoreGraphics.CGPoint InputBottomLeft { get; set; } -public abstract CoreGraphics.CGPoint InputBottomRight { get; set; } +public virtual CoreGraphics.CGPoint InputBottomRight { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGPoint InputTopLeft { get; set; } +public virtual CoreGraphics.CGPoint InputTopLeft { get; set; } -public abstract CoreGraphics.CGPoint InputTopRight { get; set; } +public virtual CoreGraphics.CGPoint InputTopRight { get; set; } ``` #### Type Changed: CoreImage.ICIFourfoldReflectedTileProtocol Modified properties: ```diff -public abstract float AcuteAngle { get; set; } +public virtual float AcuteAngle { get; set; } -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIFourfoldRotatedTileProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIFourfoldTranslatedTileProtocol Modified properties: ```diff -public abstract float AcuteAngle { get; set; } +public virtual float AcuteAngle { get; set; } -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIGaborGradientsProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIGammaAdjustProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Power { get; set; } +public virtual float Power { get; set; } ``` #### Type Changed: CoreImage.ICIGaussianBlurProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIGaussianGradientProtocol Modified properties: ```diff -public abstract CIColor Color0 { get; set; } +public virtual CIColor Color0 { get; set; } -public abstract CIColor Color1 { get; set; } +public virtual CIColor Color1 { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIGlassDistortionProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } -public abstract CIImage Texture { get; set; } +public virtual CIImage Texture { get; set; } ``` #### Type Changed: CoreImage.ICIGlassLozengeProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGPoint InputPoint0 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint0 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint1 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint1 { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Refraction { get; set; } +public virtual float Refraction { get; set; } ``` #### Type Changed: CoreImage.ICIGlideReflectedTileProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIGloomProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIHatchedScreenProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIHeightFieldFromMaskProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIHexagonalPixellateProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICIHighlightShadowAdjustProtocol Modified properties: ```diff -public abstract float HighlightAmount { get; set; } +public virtual float HighlightAmount { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float ShadowAmount { get; set; } +public virtual float ShadowAmount { get; set; } ``` #### Type Changed: CoreImage.ICIHistogramDisplayProtocol Modified properties: ```diff -public abstract float Height { get; set; } +public virtual float Height { get; set; } -public abstract float HighLimit { get; set; } +public virtual float HighLimit { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float LowLimit { get; set; } +public virtual float LowLimit { get; set; } ``` #### Type Changed: CoreImage.ICIHoleDistortionProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIHueAdjustProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIHueSaturationValueGradientProtocol Modified properties: ```diff -public abstract CoreGraphics.CGColorSpace ColorSpace { get; set; } +public virtual CoreGraphics.CGColorSpace ColorSpace { get; set; } -public abstract float Dither { get; set; } +public virtual float Dither { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Softness { get; set; } +public virtual float Softness { get; set; } -public abstract float Value { get; set; } +public virtual float Value { get; set; } ``` #### Type Changed: CoreImage.ICIImageProcessorInput Modified properties: ```diff -public abstract IntPtr BaseAddress { get; } +public virtual IntPtr BaseAddress { get; } -public abstract UIntPtr BytesPerRow { get; } +public virtual UIntPtr BytesPerRow { get; } -public abstract CIFormat Format { get; } +public virtual CIFormat Format { get; } -public abstract Metal.IMTLTexture MetalTexture { get; } +public virtual Metal.IMTLTexture MetalTexture { get; } -public abstract CoreVideo.CVPixelBuffer PixelBuffer { get; } +public virtual CoreVideo.CVPixelBuffer PixelBuffer { get; } -public abstract CoreGraphics.CGRect Region { get; } +public virtual CoreGraphics.CGRect Region { get; } -public abstract IOSurface.IOSurface Surface { get; } +public virtual IOSurface.IOSurface Surface { get; } ``` Added properties: ```csharp public virtual ulong Digest { get; } public virtual UIntPtr RoiTileCount { get; } public virtual UIntPtr RoiTileIndex { get; } ``` #### Type Changed: CoreImage.ICIImageProcessorOutput Modified properties: ```diff -public abstract IntPtr BaseAddress { get; } +public virtual IntPtr BaseAddress { get; } -public abstract UIntPtr BytesPerRow { get; } +public virtual UIntPtr BytesPerRow { get; } -public abstract CIFormat Format { get; } +public virtual CIFormat Format { get; } -public abstract Metal.IMTLCommandBuffer MetalCommandBuffer { get; } +public virtual Metal.IMTLCommandBuffer MetalCommandBuffer { get; } -public abstract Metal.IMTLTexture MetalTexture { get; } +public virtual Metal.IMTLTexture MetalTexture { get; } -public abstract CoreVideo.CVPixelBuffer PixelBuffer { get; } +public virtual CoreVideo.CVPixelBuffer PixelBuffer { get; } -public abstract CoreGraphics.CGRect Region { get; } +public virtual CoreGraphics.CGRect Region { get; } -public abstract IOSurface.IOSurface Surface { get; } +public virtual IOSurface.IOSurface Surface { get; } ``` Added property: ```csharp public virtual ulong Digest { get; } ``` #### Type Changed: CoreImage.ICIImageProvider Modified methods: ```diff -public abstract void ProvideImageData (IntPtr data, UIntPtr rowbytes, UIntPtr x, UIntPtr y, UIntPtr width, UIntPtr height, Foundation.NSObject info) +public virtual void ProvideImageData (IntPtr data, UIntPtr rowbytes, UIntPtr x, UIntPtr y, UIntPtr width, UIntPtr height, Foundation.NSObject info) ``` #### Type Changed: CoreImage.ICIKMeansProtocol Modified properties: ```diff -public abstract IntPtr InputCount { get; set; } +public virtual IntPtr InputCount { get; set; } -public abstract float InputPasses { get; set; } +public virtual float InputPasses { get; set; } -public abstract CIImage Means { get; set; } +public virtual CIImage Means { get; set; } -public abstract bool Perceptual { get; set; } +public virtual bool Perceptual { get; set; } ``` #### Type Changed: CoreImage.ICIKaleidoscopeProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract IntPtr InputCount { get; set; } +public virtual IntPtr InputCount { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIKeystoneCorrectionCombinedProtocol Modified properties: ```diff -public abstract float FocalLength { get; set; } +public virtual float FocalLength { get; set; } ``` #### Type Changed: CoreImage.ICIKeystoneCorrectionHorizontalProtocol Modified properties: ```diff -public abstract float FocalLength { get; set; } +public virtual float FocalLength { get; set; } ``` #### Type Changed: CoreImage.ICIKeystoneCorrectionVerticalProtocol Modified properties: ```diff -public abstract float FocalLength { get; set; } +public virtual float FocalLength { get; set; } ``` #### Type Changed: CoreImage.ICILabDeltaEProtocol Modified properties: ```diff -public abstract CIImage Image2 { get; set; } +public virtual CIImage Image2 { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICILanczosScaleTransformProtocol Modified properties: ```diff -public abstract float AspectRatio { get; set; } +public virtual float AspectRatio { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICILenticularHaloGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract float HaloOverlap { get; set; } +public virtual float HaloOverlap { get; set; } -public abstract float HaloRadius { get; set; } +public virtual float HaloRadius { get; set; } -public abstract float HaloWidth { get; set; } +public virtual float HaloWidth { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract float StriationContrast { get; set; } +public virtual float StriationContrast { get; set; } -public abstract float StriationStrength { get; set; } +public virtual float StriationStrength { get; set; } -public abstract float Time { get; set; } +public virtual float Time { get; set; } ``` #### Type Changed: CoreImage.ICILightTunnelProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Rotation { get; set; } +public virtual float Rotation { get; set; } ``` #### Type Changed: CoreImage.ICILineOverlayProtocol Modified properties: ```diff -public abstract float Contrast { get; set; } +public virtual float Contrast { get; set; } -public abstract float EdgeIntensity { get; set; } +public virtual float EdgeIntensity { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float NRNoiseLevel { get; set; } +public virtual float NRNoiseLevel { get; set; } -public abstract float NRSharpness { get; set; } +public virtual float NRSharpness { get; set; } -public abstract float Threshold { get; set; } +public virtual float Threshold { get; set; } ``` #### Type Changed: CoreImage.ICILineScreenProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICILinearGradientProtocol Modified properties: ```diff -public abstract CIColor Color0 { get; set; } +public virtual CIColor Color0 { get; set; } -public abstract CIColor Color1 { get; set; } +public virtual CIColor Color1 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint0 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint0 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint1 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint1 { get; set; } ``` #### Type Changed: CoreImage.ICILinearToSrgbToneCurveProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIMaskToAlphaProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIMaskedVariableBlurProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIImage Mask { get; set; } +public virtual CIImage Mask { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIMaximumComponentProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIMedianProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIMeshGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CIVector[] Mesh { get; set; } +public virtual CIVector[] Mesh { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIMinimumComponentProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIMixProtocol Modified properties: ```diff -public abstract float Amount { get; set; } +public virtual float Amount { get; set; } -public abstract CIImage BackgroundImage { get; set; } +public virtual CIImage BackgroundImage { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIModTransitionProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract float Compression { get; set; } +public virtual float Compression { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIMorphologyGradientProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIMorphologyMaximumProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIMorphologyMinimumProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIMorphologyRectangleMaximumProtocol Modified properties: ```diff -public abstract float InputHeight { get; set; } +public virtual float InputHeight { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float InputWidth { get; set; } +public virtual float InputWidth { get; set; } ``` #### Type Changed: CoreImage.ICIMorphologyRectangleMinimumProtocol Modified properties: ```diff -public abstract float InputHeight { get; set; } +public virtual float InputHeight { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float InputWidth { get; set; } +public virtual float InputWidth { get; set; } ``` #### Type Changed: CoreImage.ICIMotionBlurProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICINinePartStretchedProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputBreakpoint0 { get; set; } +public virtual CoreGraphics.CGPoint InputBreakpoint0 { get; set; } -public abstract CoreGraphics.CGPoint InputBreakpoint1 { get; set; } +public virtual CoreGraphics.CGPoint InputBreakpoint1 { get; set; } -public abstract CoreGraphics.CGPoint InputGrowAmount { get; set; } +public virtual CoreGraphics.CGPoint InputGrowAmount { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICINinePartTiledProtocol Modified properties: ```diff -public abstract bool FlipYTiles { get; set; } +public virtual bool FlipYTiles { get; set; } -public abstract CoreGraphics.CGPoint InputBreakpoint0 { get; set; } +public virtual CoreGraphics.CGPoint InputBreakpoint0 { get; set; } -public abstract CoreGraphics.CGPoint InputBreakpoint1 { get; set; } +public virtual CoreGraphics.CGPoint InputBreakpoint1 { get; set; } -public abstract CoreGraphics.CGPoint InputGrowAmount { get; set; } +public virtual CoreGraphics.CGPoint InputGrowAmount { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICINoiseReductionProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float NoiseLevel { get; set; } +public virtual float NoiseLevel { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } ``` #### Type Changed: CoreImage.ICIOpTileProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIPageCurlTransitionProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CIImage BacksideImage { get; set; } +public virtual CIImage BacksideImage { get; set; } -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract CIImage ShadingImage { get; set; } +public virtual CIImage ShadingImage { get; set; } ``` #### Type Changed: CoreImage.ICIPageCurlWithShadowTransitionProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CIImage BacksideImage { get; set; } +public virtual CIImage BacksideImage { get; set; } -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract CoreGraphics.CGRect InputShadowExtent { get; set; } +public virtual CoreGraphics.CGRect InputShadowExtent { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float ShadowAmount { get; set; } +public virtual float ShadowAmount { get; set; } -public abstract float ShadowSize { get; set; } +public virtual float ShadowSize { get; set; } ``` #### Type Changed: CoreImage.ICIPaletteCentroidProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIImage PaletteImage { get; set; } +public virtual CIImage PaletteImage { get; set; } -public abstract bool Perceptual { get; set; } +public virtual bool Perceptual { get; set; } ``` #### Type Changed: CoreImage.ICIPalettizeProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIImage PaletteImage { get; set; } +public virtual CIImage PaletteImage { get; set; } -public abstract bool Perceptual { get; set; } +public virtual bool Perceptual { get; set; } ``` #### Type Changed: CoreImage.ICIParallelogramTileProtocol Modified properties: ```diff -public abstract float AcuteAngle { get; set; } +public virtual float AcuteAngle { get; set; } -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIPdf417BarcodeGeneratorProtocol Modified properties: ```diff -public abstract float InputAlwaysSpecifyCompaction { get; set; } +public virtual float InputAlwaysSpecifyCompaction { get; set; } -public abstract float InputCompactStyle { get; set; } +public virtual float InputCompactStyle { get; set; } -public abstract float InputCompactionMode { get; set; } +public virtual float InputCompactionMode { get; set; } -public abstract float InputCorrectionLevel { get; set; } +public virtual float InputCorrectionLevel { get; set; } -public abstract float InputDataColumns { get; set; } +public virtual float InputDataColumns { get; set; } -public abstract float InputRows { get; set; } +public virtual float InputRows { get; set; } -public abstract float MaxHeight { get; set; } +public virtual float MaxHeight { get; set; } -public abstract float MaxWidth { get; set; } +public virtual float MaxWidth { get; set; } -public abstract Foundation.NSData Message { get; set; } +public virtual Foundation.NSData Message { get; set; } -public abstract float MinHeight { get; set; } +public virtual float MinHeight { get; set; } -public abstract float MinWidth { get; set; } +public virtual float MinWidth { get; set; } -public abstract float PreferredAspectRatio { get; set; } +public virtual float PreferredAspectRatio { get; set; } ``` #### Type Changed: CoreImage.ICIPersonSegmentationProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract UIntPtr QualityLevel { get; set; } +public virtual UIntPtr QualityLevel { get; set; } ``` #### Type Changed: CoreImage.ICIPerspectiveCorrectionProtocol Modified properties: ```diff -public abstract bool Crop { get; set; } +public virtual bool Crop { get; set; } ``` #### Type Changed: CoreImage.ICIPerspectiveRotateProtocol Modified properties: ```diff -public abstract float FocalLength { get; set; } +public virtual float FocalLength { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Pitch { get; set; } +public virtual float Pitch { get; set; } -public abstract float Roll { get; set; } +public virtual float Roll { get; set; } -public abstract float Yaw { get; set; } +public virtual float Yaw { get; set; } ``` #### Type Changed: CoreImage.ICIPerspectiveTileProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputBottomLeft { get; set; } +public virtual CoreGraphics.CGPoint InputBottomLeft { get; set; } -public abstract CoreGraphics.CGPoint InputBottomRight { get; set; } +public virtual CoreGraphics.CGPoint InputBottomRight { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGPoint InputTopLeft { get; set; } +public virtual CoreGraphics.CGPoint InputTopLeft { get; set; } -public abstract CoreGraphics.CGPoint InputTopRight { get; set; } +public virtual CoreGraphics.CGPoint InputTopRight { get; set; } ``` #### Type Changed: CoreImage.ICIPerspectiveTransformWithExtentProtocol Modified properties: ```diff -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } ``` #### Type Changed: CoreImage.ICIPhotoEffectProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` Added property: ```csharp public virtual bool Extrapolate { get; set; } ``` #### Type Changed: CoreImage.ICIPinchDistortionProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICIPixellateProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } ``` #### Type Changed: CoreImage.ICIPointillizeProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIQRCodeGeneratorProtocol Modified properties: ```diff -public abstract string CorrectionLevel { get; set; } +public virtual string CorrectionLevel { get; set; } -public abstract Foundation.NSData Message { get; set; } +public virtual Foundation.NSData Message { get; set; } ``` #### Type Changed: CoreImage.ICIRadialGradientProtocol Modified properties: ```diff -public abstract CIColor Color0 { get; set; } +public virtual CIColor Color0 { get; set; } -public abstract CIColor Color1 { get; set; } +public virtual CIColor Color1 { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract float Radius0 { get; set; } +public virtual float Radius0 { get; set; } -public abstract float Radius1 { get; set; } +public virtual float Radius1 { get; set; } ``` #### Type Changed: CoreImage.ICIRippleTransitionProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } -public abstract CIImage ShadingImage { get; set; } +public virtual CIImage ShadingImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICIRoundedRectangleGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIRoundedRectangleStrokeGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICISaliencyMapProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICISepiaToneProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } ``` #### Type Changed: CoreImage.ICIShadedMaterialProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Scale { get; set; } +public virtual float Scale { get; set; } -public abstract CIImage ShadingImage { get; set; } +public virtual CIImage ShadingImage { get; set; } ``` #### Type Changed: CoreImage.ICISharpenLuminanceProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } ``` #### Type Changed: CoreImage.ICISixfoldReflectedTileProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICISixfoldRotatedTileProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICISmoothLinearGradientProtocol Modified properties: ```diff -public abstract CIColor Color0 { get; set; } +public virtual CIColor Color0 { get; set; } -public abstract CIColor Color1 { get; set; } +public virtual CIColor Color1 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint0 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint0 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint1 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint1 { get; set; } ``` #### Type Changed: CoreImage.ICISobelGradientsProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICISpotColorProtocol Modified properties: ```diff -public abstract CIColor CenterColor1 { get; set; } +public virtual CIColor CenterColor1 { get; set; } -public abstract CIColor CenterColor2 { get; set; } +public virtual CIColor CenterColor2 { get; set; } -public abstract CIColor CenterColor3 { get; set; } +public virtual CIColor CenterColor3 { get; set; } -public abstract float Closeness1 { get; set; } +public virtual float Closeness1 { get; set; } -public abstract float Closeness2 { get; set; } +public virtual float Closeness2 { get; set; } -public abstract float Closeness3 { get; set; } +public virtual float Closeness3 { get; set; } -public abstract float Contrast1 { get; set; } +public virtual float Contrast1 { get; set; } -public abstract float Contrast2 { get; set; } +public virtual float Contrast2 { get; set; } -public abstract float Contrast3 { get; set; } +public virtual float Contrast3 { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIColor ReplacementColor1 { get; set; } +public virtual CIColor ReplacementColor1 { get; set; } -public abstract CIColor ReplacementColor2 { get; set; } +public virtual CIColor ReplacementColor2 { get; set; } -public abstract CIColor ReplacementColor3 { get; set; } +public virtual CIColor ReplacementColor3 { get; set; } ``` #### Type Changed: CoreImage.ICISpotLightProtocol Modified properties: ```diff -public abstract float Brightness { get; set; } +public virtual float Brightness { get; set; } -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract float Concentration { get; set; } +public virtual float Concentration { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIVector LightPointsAt { get; set; } +public virtual CIVector LightPointsAt { get; set; } -public abstract CIVector LightPosition { get; set; } +public virtual CIVector LightPosition { get; set; } ``` #### Type Changed: CoreImage.ICISrgbToneCurveToLinearProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIStarShineGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract float CrossAngle { get; set; } +public virtual float CrossAngle { get; set; } -public abstract float CrossOpacity { get; set; } +public virtual float CrossOpacity { get; set; } -public abstract float CrossScale { get; set; } +public virtual float CrossScale { get; set; } -public abstract float CrossWidth { get; set; } +public virtual float CrossWidth { get; set; } -public abstract float Epsilon { get; set; } +public virtual float Epsilon { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIStraightenProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIStretchCropProtocol Modified properties: ```diff -public abstract float CenterStretchAmount { get; set; } +public virtual float CenterStretchAmount { get; set; } -public abstract float CropAmount { get; set; } +public virtual float CropAmount { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGPoint InputSize { get; set; } +public virtual CoreGraphics.CGPoint InputSize { get; set; } ``` #### Type Changed: CoreImage.ICIStripesGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color0 { get; set; } +public virtual CIColor Color0 { get; set; } -public abstract CIColor Color1 { get; set; } +public virtual CIColor Color1 { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract float Sharpness { get; set; } +public virtual float Sharpness { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICISunbeamsGeneratorProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract float MaxStriationRadius { get; set; } +public virtual float MaxStriationRadius { get; set; } -public abstract float StriationContrast { get; set; } +public virtual float StriationContrast { get; set; } -public abstract float StriationStrength { get; set; } +public virtual float StriationStrength { get; set; } -public abstract float SunRadius { get; set; } +public virtual float SunRadius { get; set; } -public abstract float Time { get; set; } +public virtual float Time { get; set; } ``` #### Type Changed: CoreImage.ICISwipeTransitionProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CoreGraphics.CGRect InputExtent { get; set; } +public virtual CoreGraphics.CGRect InputExtent { get; set; } -public abstract float Opacity { get; set; } +public virtual float Opacity { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICITemperatureAndTintProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIVector Neutral { get; set; } +public virtual CIVector Neutral { get; set; } -public abstract CIVector TargetNeutral { get; set; } +public virtual CIVector TargetNeutral { get; set; } ``` #### Type Changed: CoreImage.ICITextImageGeneratorProtocol Modified properties: ```diff -public abstract string FontName { get; set; } +public virtual string FontName { get; set; } -public abstract float FontSize { get; set; } +public virtual float FontSize { get; set; } -public abstract float ScaleFactor { get; set; } +public virtual float ScaleFactor { get; set; } -public abstract string Text { get; set; } +public virtual string Text { get; set; } ``` Added property: ```csharp public virtual float Padding { get; set; } ``` #### Type Changed: CoreImage.ICIThermalProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIToneCurveProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGPoint InputPoint0 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint0 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint1 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint1 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint2 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint2 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint3 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint3 { get; set; } -public abstract CoreGraphics.CGPoint InputPoint4 { get; set; } +public virtual CoreGraphics.CGPoint InputPoint4 { get; set; } ``` #### Type Changed: CoreImage.ICITorusLensDistortionProtocol Modified properties: ```diff -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } -public abstract float Refraction { get; set; } +public virtual float Refraction { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICITransitionFilterProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CIImage TargetImage { get; set; } +public virtual CIImage TargetImage { get; set; } -public abstract float Time { get; set; } +public virtual float Time { get; set; } ``` #### Type Changed: CoreImage.ICITriangleKaleidoscopeProtocol Modified properties: ```diff -public abstract float Decay { get; set; } +public virtual float Decay { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract CoreGraphics.CGPoint InputPoint { get; set; } +public virtual CoreGraphics.CGPoint InputPoint { get; set; } -public abstract float Rotation { get; set; } +public virtual float Rotation { get; set; } -public abstract float Size { get; set; } +public virtual float Size { get; set; } ``` #### Type Changed: CoreImage.ICITriangleTileProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICITwelvefoldReflectedTileProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Width { get; set; } +public virtual float Width { get; set; } ``` #### Type Changed: CoreImage.ICITwirlDistortionProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIUnsharpMaskProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIVibranceProtocol Modified properties: ```diff -public abstract float Amount { get; set; } +public virtual float Amount { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIVignetteEffectProtocol Modified properties: ```diff -public abstract float Falloff { get; set; } +public virtual float Falloff { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIVignetteProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Intensity { get; set; } +public virtual float Intensity { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIVortexDistortionProtocol Modified properties: ```diff -public abstract float Angle { get; set; } +public virtual float Angle { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } -public abstract float Radius { get; set; } +public virtual float Radius { get; set; } ``` #### Type Changed: CoreImage.ICIWhitePointAdjustProtocol Modified properties: ```diff -public abstract CIColor Color { get; set; } +public virtual CIColor Color { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIXRayProtocol Modified properties: ```diff -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### Type Changed: CoreImage.ICIZoomBlurProtocol Modified properties: ```diff -public abstract float Amount { get; set; } +public virtual float Amount { get; set; } -public abstract CoreGraphics.CGPoint InputCenter { get; set; } +public virtual CoreGraphics.CGPoint InputCenter { get; set; } -public abstract CIImage InputImage { get; set; } +public virtual CIImage InputImage { get; set; } ``` #### New Type: CoreImage.CIAreaBoundsRed ```csharp public class CIAreaBoundsRed : CoreImage.CIFilter, ICIAreaBoundsRedProtocol, ICIAreaReductionFilterProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CIAreaBoundsRed (); public CIAreaBoundsRed (Foundation.NSCoder coder); protected CIAreaBoundsRed (Foundation.NSObjectFlag t); protected CIAreaBoundsRed (ObjCRuntime.NativeHandle handle); // properties public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual CIImage InputImage { get; set; } public virtual CIImage OutputImage { get; } } ``` #### New Type: CoreImage.CIMaximumScaleTransform ```csharp public class CIMaximumScaleTransform : CoreImage.CIFilter, ICIFilterProtocol, ICIMaximumScaleTransformProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CIMaximumScaleTransform (); public CIMaximumScaleTransform (Foundation.NSCoder coder); protected CIMaximumScaleTransform (Foundation.NSObjectFlag t); protected CIMaximumScaleTransform (ObjCRuntime.NativeHandle handle); // properties public virtual float AspectRatio { get; set; } public virtual CIImage InputImage { get; set; } public virtual CIImage OutputImage { get; } public virtual float Scale { get; set; } } ``` #### New Type: CoreImage.CIToneMapHeadroom ```csharp public class CIToneMapHeadroom : CoreImage.CIFilter, ICIFilterProtocol, ICIToneMapHeadroomProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CIToneMapHeadroom (); public CIToneMapHeadroom (Foundation.NSCoder coder); protected CIToneMapHeadroom (Foundation.NSObjectFlag t); protected CIToneMapHeadroom (ObjCRuntime.NativeHandle handle); // properties public virtual CIImage InputImage { get; set; } public virtual CIImage OutputImage { get; } public virtual float SourceHeadroom { get; set; } public virtual float TargetHeadroom { get; set; } } ``` #### New Type: CoreImage.ICIAreaBoundsRedProtocol ```csharp public interface ICIAreaBoundsRedProtocol : ICIAreaReductionFilterProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { } ``` #### New Type: CoreImage.ICIMaximumScaleTransformProtocol ```csharp public interface ICIMaximumScaleTransformProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual float AspectRatio { get; set; } public virtual CIImage InputImage { get; set; } public virtual float Scale { get; set; } } ``` #### New Type: CoreImage.ICIToneMapHeadroomProtocol ```csharp public interface ICIToneMapHeadroomProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual CIImage InputImage { get; set; } public virtual float SourceHeadroom { get; set; } public virtual float TargetHeadroom { get; set; } } ``` ### Namespace CoreLocation #### Type Changed: CoreLocation.CLBackgroundActivitySession Added method: ```csharp public static CLBackgroundActivitySession Create (CoreFoundation.DispatchQueue queue, CLBackgroundActivitySessionCreateHandler handler); ``` #### Type Changed: CoreLocation.CLMonitoringEvent Added properties: ```csharp public virtual bool AccuracyLimited { get; } public virtual bool AuthorizationDenied { get; } public virtual bool AuthorizationDeniedGlobally { get; } public virtual bool AuthorizationRequestInProgress { get; } public virtual bool AuthorizationRestricted { get; } public virtual bool ConditionLimitExceeded { get; } public virtual bool ConditionUnsupported { get; } public virtual bool InsufficientlyInUse { get; } public virtual bool PersistenceUnavailable { get; } public virtual bool ServiceSessionRequired { get; } ``` #### Type Changed: CoreLocation.CLUpdate Added properties: ```csharp public virtual bool AccuracyLimited { get; } public virtual bool AuthorizationDenied { get; } public virtual bool AuthorizationDeniedGlobally { get; } public virtual bool AuthorizationRequestInProgress { get; } public virtual bool AuthorizationRestricted { get; } public virtual bool InsufficientlyInUse { get; } public virtual bool LocationUnavailable { get; } public virtual bool ServiceSessionRequired { get; } public virtual bool Stationary { get; } ``` #### Type Changed: CoreLocation.ICLLocationManagerDelegate Added methods: ```csharp public virtual void AuthorizationChanged (CLLocationManager manager, CLAuthorizationStatus status); public virtual void DeferredUpdatesFinished (CLLocationManager manager, Foundation.NSError error); public virtual void DidChangeAuthorization (CLLocationManager manager); public virtual void DidDetermineState (CLLocationManager manager, CLRegionState state, CLRegion region); public virtual void DidFailRangingBeacons (CLLocationManager manager, CLBeaconIdentityConstraint beaconConstraint, Foundation.NSError error); public virtual void DidRangeBeacons (CLLocationManager manager, CLBeacon[] beacons, CLBeaconRegion region); public virtual void DidRangeBeaconsSatisfyingConstraint (CLLocationManager manager, CLBeacon[] beacons, CLBeaconIdentityConstraint beaconConstraint); public virtual void DidStartMonitoringForRegion (CLLocationManager manager, CLRegion region); public virtual void DidVisit (CLLocationManager manager, CLVisit visit); public virtual void Failed (CLLocationManager manager, Foundation.NSError error); public virtual void LocationUpdatesPaused (CLLocationManager manager); public virtual void LocationUpdatesResumed (CLLocationManager manager); public virtual void LocationsUpdated (CLLocationManager manager, CLLocation[] locations); public virtual void MonitoringFailed (CLLocationManager manager, CLRegion region, Foundation.NSError error); public virtual void RangingBeaconsDidFailForRegion (CLLocationManager manager, CLBeaconRegion region, Foundation.NSError error); public virtual void RegionEntered (CLLocationManager manager, CLRegion region); public virtual void RegionLeft (CLLocationManager manager, CLRegion region); public virtual bool ShouldDisplayHeadingCalibration (CLLocationManager manager); public virtual void UpdatedHeading (CLLocationManager manager, CLHeading newHeading); public virtual void UpdatedLocation (CLLocationManager manager, CLLocation newLocation, CLLocation oldLocation); ``` #### New Type: CoreLocation.CLBackgroundActivitySessionCreateHandler ```csharp public sealed delegate CLBackgroundActivitySessionCreateHandler : System.MulticastDelegate { // constructors public CLBackgroundActivitySessionCreateHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (CLBackgroundActivitySessionDiagnostic diagnostic, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (CLBackgroundActivitySessionDiagnostic diagnostic); } ``` #### New Type: CoreLocation.CLBackgroundActivitySessionDiagnostic ```csharp public class CLBackgroundActivitySessionDiagnostic : Foundation.NSObject { // constructors public CLBackgroundActivitySessionDiagnostic (); protected CLBackgroundActivitySessionDiagnostic (Foundation.NSObjectFlag t); protected CLBackgroundActivitySessionDiagnostic (ObjCRuntime.NativeHandle handle); // properties public virtual bool AuthorizationDenied { get; } public virtual bool AuthorizationDeniedGlobally { get; } public virtual bool AuthorizationRequestInProgress { get; } public virtual bool AuthorizationRestricted { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual bool InsufficientlyInUse { get; } public virtual bool ServiceSessionRequired { get; } } ``` #### New Type: CoreLocation.CLServiceSession ```csharp public class CLServiceSession : Foundation.NSObject { // constructors protected CLServiceSession (Foundation.NSObjectFlag t); protected CLServiceSession (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public static CLServiceSession CreateSession (CLServiceSessionAuthorizationRequirement authorizationRequirement); public static CLServiceSession CreateSession (CLServiceSessionAuthorizationRequirement authorizationRequirement, string fullAccuracyPurposeKey); public static CLServiceSession CreateSession (CLServiceSessionAuthorizationRequirement authorizationRequirement, CoreFoundation.DispatchQueue queue, CLServiceSessionCreateHandler handler); public static CLServiceSession CreateSession (CLServiceSessionAuthorizationRequirement authorizationRequirement, string fullAccuracyPurposeKey, CoreFoundation.DispatchQueue queue, CLServiceSessionCreateHandler handler); public virtual void Invalidate (); } ``` #### New Type: CoreLocation.CLServiceSessionAuthorizationRequirement ```csharp [Serializable] public enum CLServiceSessionAuthorizationRequirement { Always = 2, None = 0, WhenInUse = 1, } ``` #### New Type: CoreLocation.CLServiceSessionCreateHandler ```csharp public sealed delegate CLServiceSessionCreateHandler : System.MulticastDelegate { // constructors public CLServiceSessionCreateHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (CLServiceSessionDiagnostic diagnostic, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (CLServiceSessionDiagnostic diagnostic); } ``` #### New Type: CoreLocation.CLServiceSessionDiagnostic ```csharp public class CLServiceSessionDiagnostic : Foundation.NSObject { // constructors protected CLServiceSessionDiagnostic (Foundation.NSObjectFlag t); protected CLServiceSessionDiagnostic (ObjCRuntime.NativeHandle handle); // properties public virtual bool AlwaysAuthorizationDenied { get; } public virtual bool AuthorizationDenied { get; } public virtual bool AuthorizationDeniedGlobally { get; } public virtual bool AuthorizationRequestInProgress { get; } public virtual bool AuthorizationRestricted { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual bool FullAccuracyDenied { get; } public virtual bool InsufficientlyInUse { get; } public virtual bool ServiceSessionRequired { get; } } ``` ### Namespace CoreML #### Type Changed: CoreML.IMLBatchProvider Modified properties: ```diff -public abstract IntPtr Count { get; } +public virtual IntPtr Count { get; } ``` Modified methods: ```diff -public abstract IMLFeatureProvider GetFeatures (IntPtr index) +public virtual IMLFeatureProvider GetFeatures (IntPtr index) ``` #### Type Changed: CoreML.IMLCustomLayer Modified methods: ```diff -public abstract bool EvaluateOnCpu (MLMultiArray[] inputs, MLMultiArray[] outputs, out Foundation.NSError error) +public virtual bool EvaluateOnCpu (MLMultiArray[] inputs, MLMultiArray[] outputs, out Foundation.NSError error) -public abstract Foundation.NSArray[] GetOutputShapes (Foundation.NSArray[] inputShapes, out Foundation.NSError error) +public virtual Foundation.NSArray[] GetOutputShapes (Foundation.NSArray[] inputShapes, out Foundation.NSError error) -public abstract bool SetWeightData (Foundation.NSData[] weights, out Foundation.NSError error) +public virtual bool SetWeightData (Foundation.NSData[] weights, out Foundation.NSError error) ``` Added method: ```csharp public virtual bool Encode (Metal.IMTLCommandBuffer commandBuffer, Metal.IMTLTexture[] inputs, Metal.IMTLTexture[] outputs, out Foundation.NSError error); ``` #### Type Changed: CoreML.IMLCustomModel Modified methods: ```diff -public abstract IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error) +public virtual IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error) ``` Added methods: ```csharp public static T CreateInstance<T> (MLModelDescription modelDescription, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> parameters, out Foundation.NSError error); public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error); ``` #### Type Changed: CoreML.IMLFeatureProvider Modified properties: ```diff -public abstract Foundation.NSSet%LESSERTHANREPLACEMENT%Foundation.NSString%GREATERTHANREPLACEMENT% FeatureNames { get; } +public virtual Foundation.NSSet%LESSERTHANREPLACEMENT%Foundation.NSString%GREATERTHANREPLACEMENT% FeatureNames { get; } ``` Modified methods: ```diff -public abstract MLFeatureValue GetFeatureValue (string featureName) +public virtual MLFeatureValue GetFeatureValue (string featureName) ``` #### Type Changed: CoreML.IMLWritable Modified methods: ```diff -public abstract bool Write (Foundation.NSUrl url, out Foundation.NSError error) +public virtual bool Write (Foundation.NSUrl url, out Foundation.NSError error) ``` #### Type Changed: CoreML.MLModelConfiguration Added property: ```csharp public virtual MLOptimizationHints OptimizationHints { get; set; } ``` #### New Type: CoreML.MLComputePlan ```csharp public class MLComputePlan : Foundation.NSObject { // constructors protected MLComputePlan (Foundation.NSObjectFlag t); protected MLComputePlan (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MLModelStructure ModelStructure { get; } // methods public virtual MLComputePlanDeviceUsage ComputeDeviceUsage (MLModelStructureNeuralNetworkLayer neuralNetworkLayer); public virtual MLComputePlanDeviceUsage ComputeDeviceUsage (MLModelStructureProgramOperation programOperation); public virtual MLComputePlanCost GetEstimatedCost (MLModelStructureProgramOperation programOperation); public static void Load (MLModelAsset modelAsset, MLModelConfiguration configuration, System.Action<MLComputePlan,Foundation.NSError> handler); public static void Load (Foundation.NSUrl contentsUrl, MLModelConfiguration configuration, System.Action<MLComputePlan,Foundation.NSError> handler); } ``` #### New Type: CoreML.MLComputePlanCost ```csharp public class MLComputePlanCost : Foundation.NSObject { // constructors protected MLComputePlanCost (Foundation.NSObjectFlag t); protected MLComputePlanCost (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual double Weight { get; } } ``` #### New Type: CoreML.MLComputePlanDeviceUsage ```csharp public class MLComputePlanDeviceUsage : Foundation.NSObject { // constructors protected MLComputePlanDeviceUsage (Foundation.NSObjectFlag t); protected MLComputePlanDeviceUsage (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual IMLComputeDeviceProtocol PreferredComputeDevice { get; } public virtual IMLComputeDeviceProtocol[] SupportedComputeDevices { get; } } ``` #### New Type: CoreML.MLModelStructure ```csharp public class MLModelStructure : Foundation.NSObject { // constructors protected MLModelStructure (Foundation.NSObjectFlag t); protected MLModelStructure (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MLModelStructureNeuralNetwork NeuralNetwork { get; } public virtual MLModelStructurePipeline Pipeline { get; } public virtual MLModelStructureProgram Program { get; } // methods public static void Load (MLModelAsset modelAsset, System.Action<MLModelStructure,Foundation.NSError> handler); public static void Load (Foundation.NSUrl url, System.Action<MLModelStructure,Foundation.NSError> handler); } ``` #### New Type: CoreML.MLModelStructureNeuralNetwork ```csharp public class MLModelStructureNeuralNetwork : Foundation.NSObject { // constructors protected MLModelStructureNeuralNetwork (Foundation.NSObjectFlag t); protected MLModelStructureNeuralNetwork (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MLModelStructureNeuralNetworkLayer[] Layers { get; } } ``` #### New Type: CoreML.MLModelStructureNeuralNetworkLayer ```csharp public class MLModelStructureNeuralNetworkLayer : Foundation.NSObject { // constructors protected MLModelStructureNeuralNetworkLayer (Foundation.NSObjectFlag t); protected MLModelStructureNeuralNetworkLayer (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string[] InputNames { get; } public virtual string Name { get; } public virtual string[] OutputNames { get; } public virtual string Type { get; } } ``` #### New Type: CoreML.MLModelStructurePipeline ```csharp public class MLModelStructurePipeline : Foundation.NSObject { // constructors protected MLModelStructurePipeline (Foundation.NSObjectFlag t); protected MLModelStructurePipeline (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string[] SubModelNames { get; } public virtual MLModelStructure[] SubModels { get; } } ``` #### New Type: CoreML.MLModelStructureProgram ```csharp public class MLModelStructureProgram : Foundation.NSObject { // constructors protected MLModelStructureProgram (Foundation.NSObjectFlag t); protected MLModelStructureProgram (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSDictionary<Foundation.NSString,CoreML.MLModelStructureProgramFunction> Functions { get; } } ``` #### New Type: CoreML.MLModelStructureProgramArgument ```csharp public class MLModelStructureProgramArgument : Foundation.NSObject { // constructors protected MLModelStructureProgramArgument (Foundation.NSObjectFlag t); protected MLModelStructureProgramArgument (ObjCRuntime.NativeHandle handle); // properties public virtual MLModelStructureProgramBinding[] Bindings { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: CoreML.MLModelStructureProgramBinding ```csharp public class MLModelStructureProgramBinding : Foundation.NSObject { // constructors protected MLModelStructureProgramBinding (Foundation.NSObjectFlag t); protected MLModelStructureProgramBinding (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Name { get; } public virtual MLModelStructureProgramValue Value { get; } } ``` #### New Type: CoreML.MLModelStructureProgramBlock ```csharp public class MLModelStructureProgramBlock : Foundation.NSObject { // constructors protected MLModelStructureProgramBlock (Foundation.NSObjectFlag t); protected MLModelStructureProgramBlock (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MLModelStructureProgramNamedValueType[] Inputs { get; } public virtual MLModelStructureProgramOperation[] Operations { get; } public virtual string[] OutputNames { get; } } ``` #### New Type: CoreML.MLModelStructureProgramFunction ```csharp public class MLModelStructureProgramFunction : Foundation.NSObject { // constructors protected MLModelStructureProgramFunction (Foundation.NSObjectFlag t); protected MLModelStructureProgramFunction (ObjCRuntime.NativeHandle handle); // properties public virtual MLModelStructureProgramBlock Block { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MLModelStructureProgramNamedValueType[] Inputs { get; } } ``` #### New Type: CoreML.MLModelStructureProgramNamedValueType ```csharp public class MLModelStructureProgramNamedValueType : Foundation.NSObject { // constructors protected MLModelStructureProgramNamedValueType (Foundation.NSObjectFlag t); protected MLModelStructureProgramNamedValueType (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Name { get; } public virtual MLModelStructureProgramValueType Type { get; } } ``` #### New Type: CoreML.MLModelStructureProgramOperation ```csharp public class MLModelStructureProgramOperation : Foundation.NSObject { // constructors protected MLModelStructureProgramOperation (Foundation.NSObjectFlag t); protected MLModelStructureProgramOperation (ObjCRuntime.NativeHandle handle); // properties public virtual MLModelStructureProgramBlock[] Blocks { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSDictionary<Foundation.NSString,CoreML.MLModelStructureProgramArgument> Inputs { get; } public virtual string OperatorName { get; } public virtual MLModelStructureProgramNamedValueType[] Outputs { get; } } ``` #### New Type: CoreML.MLModelStructureProgramValue ```csharp public class MLModelStructureProgramValue : Foundation.NSObject { // constructors protected MLModelStructureProgramValue (Foundation.NSObjectFlag t); protected MLModelStructureProgramValue (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: CoreML.MLModelStructureProgramValueType ```csharp public class MLModelStructureProgramValueType : Foundation.NSObject { // constructors protected MLModelStructureProgramValueType (Foundation.NSObjectFlag t); protected MLModelStructureProgramValueType (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: CoreML.MLOptimizationHints ```csharp public class MLOptimizationHints : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MLOptimizationHints (); public MLOptimizationHints (Foundation.NSCoder coder); protected MLOptimizationHints (Foundation.NSObjectFlag t); protected MLOptimizationHints (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual MLReshapeFrequencyHint ReshapeFrequency { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: CoreML.MLReshapeFrequencyHint ```csharp [Serializable] public enum MLReshapeFrequencyHint { Frequent = 0, Infrequent = 1, } ``` ### Namespace CoreMidi #### Type Changed: CoreMidi.IMidiCIProfileResponderDelegate Modified methods: ```diff -public abstract bool ConnectInitiator (Foundation.NSNumber initiatorMuid, MidiCIDeviceInfo deviceInfo) +public virtual bool ConnectInitiator (Foundation.NSNumber initiatorMuid, MidiCIDeviceInfo deviceInfo) -public abstract void InitiatorDisconnected (Foundation.NSNumber initiatorMuid) +public virtual void InitiatorDisconnected (Foundation.NSNumber initiatorMuid) ``` Added methods: ```csharp public virtual void HandleData (MidiCIProfile profile, byte channel, Foundation.NSData inData); public virtual bool WillSetProfile (MidiCIProfile profile, byte channel, bool shouldEnable); ``` #### Type Changed: CoreMidi.MidiDevice Obsoleted properties: ```diff [Obsolete ("This API does not do anything on this platform.")] public string FactoryPatchNameFile { get; set; } [Obsolete ("This API does not do anything on this platform.")] public string UserPatchNameFile { get; set; } ``` Added property: ```csharp public MidiProtocolId ProtocolId { get; set; } ``` #### Type Changed: CoreMidi.MidiEndpoint Added properties: ```csharp public MidiProtocolId ProtocolId { get; set; } public ushort UmpActiveGroupBitmap { get; set; } public bool UmpCanTransmitGroupless { get; set; } ``` #### Type Changed: CoreMidi.MidiEntity Added properties: ```csharp public MidiProtocolId ProtocolId { get; set; } public ushort UmpActiveGroupBitmap { get; set; } public bool UmpCanTransmitGroupless { get; set; } ``` #### 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; } ``` Added properties: ```csharp public byte[] ByteArray { get; } public IntPtr BytePointer { get; } ``` ### Namespace CoreMotion #### Type Changed: CoreMotion.CMHeadphoneMotionManager Added property: ```csharp public virtual bool ConnectionStatusActive { get; } ``` Added methods: ```csharp public virtual void StartConnectionStatusUpdates (); public virtual void StopConnectionStatusUpdates (); ``` #### Type Changed: CoreMotion.ICMHeadphoneMotionManagerDelegate Added methods: ```csharp public virtual void DidConnect (CMHeadphoneMotionManager manager); public virtual void DidDisconnect (CMHeadphoneMotionManager manager); ``` #### New Type: CoreMotion.CMHeadphoneActivityHandler ```csharp public sealed delegate CMHeadphoneActivityHandler : System.MulticastDelegate { // constructors public CMHeadphoneActivityHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (CMMotionActivity activity, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (CMMotionActivity activity, Foundation.NSError error); } ``` #### New Type: CoreMotion.CMHeadphoneActivityManager ```csharp public class CMHeadphoneActivityManager : Foundation.NSObject { // constructors public CMHeadphoneActivityManager (); protected CMHeadphoneActivityManager (Foundation.NSObjectFlag t); protected CMHeadphoneActivityManager (ObjCRuntime.NativeHandle handle); // properties public static CMAuthorizationStatus AuthorizationStatus { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual bool IsActivityActive { get; } public virtual bool IsActivityAvailable { get; } public virtual bool IsStatusActive { get; } public virtual bool IsStatusAvailable { get; } // methods public virtual void StartActivityUpdates (Foundation.NSOperationQueue queue, CMHeadphoneActivityHandler handler); public virtual void StartStatusUpdates (Foundation.NSOperationQueue queue, CMHeadphoneActivityStatusHandler handler); public virtual void StopActivityUpdates (); public virtual void StopStatusUpdates (); } ``` #### New Type: CoreMotion.CMHeadphoneActivityStatus ```csharp [Serializable] public enum CMHeadphoneActivityStatus { Connected = 1, Disconnected = 0, } ``` #### New Type: CoreMotion.CMHeadphoneActivityStatusHandler ```csharp public sealed delegate CMHeadphoneActivityStatusHandler : System.MulticastDelegate { // constructors public CMHeadphoneActivityStatusHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (CMHeadphoneActivityStatus status, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (CMHeadphoneActivityStatus status, Foundation.NSError error); } ``` ### Namespace CoreNFC #### Type Changed: CoreNFC.INFCFeliCaTag Modified properties: ```diff -public abstract Foundation.NSData CurrentIdm { get; } +public virtual Foundation.NSData CurrentIdm { get; } -public abstract Foundation.NSData CurrentSystemCode { get; } +public virtual Foundation.NSData CurrentSystemCode { get; } ``` Modified methods: ```diff -public abstract void Polling (Foundation.NSData systemCode, NFCFeliCaPollingRequestCode requestCode, NFCFeliCaPollingTimeSlot timeSlot, NFCFeliCaPollingCompletionHandler completionHandler) +public virtual void Polling (Foundation.NSData systemCode, NFCFeliCaPollingRequestCode requestCode, NFCFeliCaPollingTimeSlot timeSlot, NFCFeliCaPollingCompletionHandler completionHandler) -public abstract void ReadWithoutEncryption (Foundation.NSData[] serviceCodeList, Foundation.NSData[] blockList, NFCFeliCaReadWithoutEncryptionCompletionHandler completionHandler) +public virtual void ReadWithoutEncryption (Foundation.NSData[] serviceCodeList, Foundation.NSData[] blockList, NFCFeliCaReadWithoutEncryptionCompletionHandler completionHandler) -public abstract void RequestResponse (System.Action%LESSERTHANREPLACEMENT%System.IntPtr,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void RequestResponse (System.Action%LESSERTHANREPLACEMENT%System.IntPtr,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void RequestService (Foundation.NSData[] nodeCodeList, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void RequestService (Foundation.NSData[] nodeCodeList, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void RequestServiceV2 (Foundation.NSData[] nodeCodeList, NFCFeliCaRequestServiceV2CompletionHandler completionHandler) +public virtual void RequestServiceV2 (Foundation.NSData[] nodeCodeList, NFCFeliCaRequestServiceV2CompletionHandler completionHandler) -public abstract void RequestSpecificationVersion (NFCFeliCaRequestSpecificationVersionCompletionHandler completionHandler) +public virtual void RequestSpecificationVersion (NFCFeliCaRequestSpecificationVersionCompletionHandler completionHandler) -public abstract void RequestSystemCode (System.Action%LESSERTHANREPLACEMENT%Foundation.NSData[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void RequestSystemCode (System.Action%LESSERTHANREPLACEMENT%Foundation.NSData[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ResetMode (NFCFeliCaStatus1Status2CompletionHandler completionHandler) +public virtual void ResetMode (NFCFeliCaStatus1Status2CompletionHandler completionHandler) -public abstract void Send (Foundation.NSData commandPacket, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void Send (Foundation.NSData commandPacket, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void WriteWithoutEncryption (Foundation.NSData[] serviceCodeList, Foundation.NSData[] blockList, Foundation.NSData[] blockData, NFCFeliCaStatus1Status2CompletionHandler completionHandler) +public virtual void WriteWithoutEncryption (Foundation.NSData[] serviceCodeList, Foundation.NSData[] blockList, Foundation.NSData[] blockData, NFCFeliCaStatus1Status2CompletionHandler completionHandler) ``` #### Type Changed: CoreNFC.INFCIso15693Tag Modified properties: ```diff -public abstract UIntPtr IcManufacturerCode { get; } +public virtual UIntPtr IcManufacturerCode { get; } -public abstract Foundation.NSData IcSerialNumber { get; } +public virtual Foundation.NSData IcSerialNumber { get; } -public abstract Foundation.NSData Identifier { get; } +public virtual Foundation.NSData Identifier { get; } ``` Modified methods: ```diff -public abstract void Authenticate (NFCIso15693RequestFlag flags, IntPtr cryptoSuiteIdentifier, Foundation.NSData message, NFCIso15693TagResponseCallback completionHandler) +public virtual void Authenticate (NFCIso15693RequestFlag flags, IntPtr cryptoSuiteIdentifier, Foundation.NSData message, NFCIso15693TagResponseCallback completionHandler) -public abstract void Challenge (NFCIso15693RequestFlag flags, IntPtr cryptoSuiteIdentifier, Foundation.NSData message, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void Challenge (NFCIso15693RequestFlag flags, IntPtr cryptoSuiteIdentifier, Foundation.NSData message, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void CustomCommand (NFCIso15693RequestFlag flags, IntPtr customCommandCode, Foundation.NSData customRequestParameters, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CustomCommand (NFCIso15693RequestFlag flags, IntPtr customCommandCode, Foundation.NSData customRequestParameters, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ExtendedFastReadMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagReadMultipleBlocksCallback completionHandler) +public virtual void ExtendedFastReadMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagReadMultipleBlocksCallback completionHandler) -public abstract void ExtendedGetMultipleBlockSecurityStatus (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagGetMultipleBlockSecurityStatusCallback completionHandler) +public virtual void ExtendedGetMultipleBlockSecurityStatus (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagGetMultipleBlockSecurityStatusCallback completionHandler) -public abstract void ExtendedLockBlock (NFCIso15693RequestFlag flags, IntPtr blockNumber, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ExtendedLockBlock (NFCIso15693RequestFlag flags, IntPtr blockNumber, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ExtendedReadMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ExtendedReadMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ExtendedReadSingleBlock (NFCIso15693RequestFlag flags, IntPtr blockNumber, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ExtendedReadSingleBlock (NFCIso15693RequestFlag flags, IntPtr blockNumber, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ExtendedWriteMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, Foundation.NSData[] dataBlocks, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ExtendedWriteMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, Foundation.NSData[] dataBlocks, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ExtendedWriteSingleBlock (NFCIso15693RequestFlag flags, IntPtr blockNumber, Foundation.NSData dataBlock, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ExtendedWriteSingleBlock (NFCIso15693RequestFlag flags, IntPtr blockNumber, Foundation.NSData dataBlock, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void FastReadMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagReadMultipleBlocksCallback completionHandler) +public virtual void FastReadMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagReadMultipleBlocksCallback completionHandler) -public abstract void GetMultipleBlockSecurityStatus (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, System.Action%LESSERTHANREPLACEMENT%Foundation.NSNumber[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void GetMultipleBlockSecurityStatus (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, System.Action%LESSERTHANREPLACEMENT%Foundation.NSNumber[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void GetSystemInfo (NFCIso15693RequestFlag flags, NFCGetSystemInfoCompletionHandler completionHandler) +public virtual void GetSystemInfo (NFCIso15693RequestFlag flags, NFCGetSystemInfoCompletionHandler completionHandler) -public abstract void GetSystemInfoAndUid (NFCIso15693RequestFlag flags, NFCIso15693TagGetSystemInfoAndUidCallback completionHandler) +public virtual void GetSystemInfoAndUid (NFCIso15693RequestFlag flags, NFCIso15693TagGetSystemInfoAndUidCallback completionHandler) -public abstract void KeyUpdate (NFCIso15693RequestFlag flags, IntPtr keyIdentifier, Foundation.NSData message, NFCIso15693TagResponseCallback completionHandler) +public virtual void KeyUpdate (NFCIso15693RequestFlag flags, IntPtr keyIdentifier, Foundation.NSData message, NFCIso15693TagResponseCallback completionHandler) -public abstract void LockAfi (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void LockAfi (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void LockBlock (NFCIso15693RequestFlag flags, byte blockNumber, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void LockBlock (NFCIso15693RequestFlag flags, byte blockNumber, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void LockDfsi (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void LockDfsi (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void LockDsfId (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void LockDsfId (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ReadBuffer (NFCIso15693RequestFlag flags, NFCIso15693TagResponseCallback completionHandler) +public virtual void ReadBuffer (NFCIso15693RequestFlag flags, NFCIso15693TagResponseCallback completionHandler) -public abstract void ReadMultipleBlocks (NFCIso15693ReadMultipleBlocksConfiguration readConfiguration, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ReadMultipleBlocks (NFCIso15693ReadMultipleBlocksConfiguration readConfiguration, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ReadMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ReadMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData[],Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ReadSingleBlock (NFCIso15693RequestFlag flags, byte blockNumber, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ReadSingleBlock (NFCIso15693RequestFlag flags, byte blockNumber, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void ResetToReady (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ResetToReady (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void Select (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void Select (NFCIso15693RequestFlag flags, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void SendCustomCommand (NFCIso15693CustomCommandConfiguration commandConfiguration, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void SendCustomCommand (NFCIso15693CustomCommandConfiguration commandConfiguration, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void SendRequest (IntPtr flags, IntPtr commandCode, Foundation.NSData data, NFCIso15693TagResponseCallback completionHandler) +public virtual void SendRequest (IntPtr flags, IntPtr commandCode, Foundation.NSData data, NFCIso15693TagResponseCallback completionHandler) -public abstract void StayQuiet (System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void StayQuiet (System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void WriteAfi (NFCIso15693RequestFlag flags, byte afi, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void WriteAfi (NFCIso15693RequestFlag flags, byte afi, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void WriteDsfi (NFCIso15693RequestFlag flags, byte dsfid, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void WriteDsfi (NFCIso15693RequestFlag flags, byte dsfid, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void WriteMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, Foundation.NSData[] dataBlocks, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void WriteMultipleBlocks (NFCIso15693RequestFlag flags, Foundation.NSRange blockRange, Foundation.NSData[] dataBlocks, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void WriteSingleBlock (NFCIso15693RequestFlag flags, byte blockNumber, Foundation.NSData dataBlock, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void WriteSingleBlock (NFCIso15693RequestFlag flags, byte blockNumber, Foundation.NSData dataBlock, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) ``` #### Type Changed: CoreNFC.INFCIso7816Tag Modified properties: ```diff -public abstract Foundation.NSData ApplicationData { get; } +public virtual Foundation.NSData ApplicationData { get; } -public abstract Foundation.NSData HistoricalBytes { get; } +public virtual Foundation.NSData HistoricalBytes { get; } -public abstract Foundation.NSData Identifier { get; } +public virtual Foundation.NSData Identifier { get; } -public abstract string InitialSelectedAid { get; } +public virtual string InitialSelectedAid { get; } -public abstract bool ProprietaryApplicationDataCoding { get; } +public virtual bool ProprietaryApplicationDataCoding { get; } ``` Modified methods: ```diff -public abstract void SendCommand (NFCIso7816Apdu apdu, NFCIso7816SendCompletionHandler completionHandler) +public virtual void SendCommand (NFCIso7816Apdu apdu, NFCIso7816SendCompletionHandler completionHandler) ``` #### Type Changed: CoreNFC.INFCMiFareTag Modified properties: ```diff -public abstract Foundation.NSData HistoricalBytes { get; } +public virtual Foundation.NSData HistoricalBytes { get; } -public abstract Foundation.NSData Identifier { get; } +public virtual Foundation.NSData Identifier { get; } -public abstract NFCMiFareFamily MifareFamily { get; } +public virtual NFCMiFareFamily MifareFamily { get; } ``` Modified methods: ```diff -public abstract void SendMiFareCommand (Foundation.NSData command, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void SendMiFareCommand (Foundation.NSData command, System.Action%LESSERTHANREPLACEMENT%Foundation.NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void SendMiFareIso7816Command (NFCIso7816Apdu apdu, NFCIso7816SendCompletionHandler completionHandler) +public virtual void SendMiFareIso7816Command (NFCIso7816Apdu apdu, NFCIso7816SendCompletionHandler completionHandler) ``` #### Type Changed: CoreNFC.INFCNdefReaderSessionDelegate Modified methods: ```diff -public abstract void DidDetect (NFCNdefReaderSession session, NFCNdefMessage[] messages) +public virtual void DidDetect (NFCNdefReaderSession session, NFCNdefMessage[] messages) -public abstract void DidInvalidate (NFCNdefReaderSession session, Foundation.NSError error) +public virtual void DidInvalidate (NFCNdefReaderSession session, Foundation.NSError error) ``` Added methods: ```csharp public virtual void DidBecomeActive (NFCNdefReaderSession session); public virtual void DidDetectTags (NFCNdefReaderSession session, INFCNdefTag[] tags); ``` #### Type Changed: CoreNFC.INFCNdefTag Modified properties: ```diff -public abstract bool Available { get; } +public virtual bool Available { get; } ``` Modified methods: ```diff -public abstract void QueryNdefStatus (NFCQueryNdefStatusCompletionHandler completionHandler) +public virtual void QueryNdefStatus (NFCQueryNdefStatusCompletionHandler completionHandler) -public abstract void ReadNdef (System.Action%LESSERTHANREPLACEMENT%NFCNdefMessage,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void ReadNdef (System.Action%LESSERTHANREPLACEMENT%NFCNdefMessage,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void WriteLock (System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void WriteLock (System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void WriteNdef (NFCNdefMessage ndefMessage, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void WriteNdef (NFCNdefMessage ndefMessage, System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) ``` #### Type Changed: CoreNFC.INFCReaderSessionContract Modified properties: ```diff -public abstract string AlertMessage { get; set; } +public virtual string AlertMessage { get; set; } -public abstract bool Ready { get; } +public virtual bool Ready { get; } ``` Modified methods: ```diff -public abstract void BeginSession () +public virtual void BeginSession () -public abstract void InvalidateSession () +public virtual void InvalidateSession () -public abstract void InvalidateSession (string errorMessage) +public virtual void InvalidateSession (string errorMessage) ``` #### Type Changed: CoreNFC.INFCReaderSessionDelegate Modified methods: ```diff -public abstract void DidBecomeActive (NFCReaderSession session) +public virtual void DidBecomeActive (NFCReaderSession session) -public abstract void DidInvalidate (NFCReaderSession session, Foundation.NSError error) +public virtual void DidInvalidate (NFCReaderSession session, Foundation.NSError error) ``` Added method: ```csharp public virtual void DidDetectTags (NFCReaderSession session, INFCTag[] tags); ``` #### Type Changed: CoreNFC.INFCTag Modified properties: ```diff -public abstract INFCFeliCaTag AsNFCFeliCaTag { get; } +public virtual INFCFeliCaTag AsNFCFeliCaTag { get; } -public abstract INFCIso15693Tag AsNFCIso15693Tag { get; } +public virtual INFCIso15693Tag AsNFCIso15693Tag { get; } -public abstract INFCIso7816Tag AsNFCIso7816Tag { get; } +public virtual INFCIso7816Tag AsNFCIso7816Tag { get; } -public abstract INFCMiFareTag AsNFCMiFareTag { get; } +public virtual INFCMiFareTag AsNFCMiFareTag { get; } -public abstract bool Available { get; } +public virtual bool Available { get; } -public abstract NFCReaderSession Session { get; } +public virtual NFCReaderSession Session { get; } -public abstract NFCTagType Type { get; } +public virtual NFCTagType Type { get; } ``` #### Type Changed: CoreNFC.INFCTagReaderSessionDelegate Modified methods: ```diff -public abstract void DidInvalidate (NFCTagReaderSession session, Foundation.NSError error) +public virtual void DidInvalidate (NFCTagReaderSession session, Foundation.NSError error) ``` Added methods: ```csharp public virtual void DidBecomeActive (NFCTagReaderSession session); public virtual void DidDetectTags (NFCTagReaderSession session, INFCTag[] tags); ``` #### Type Changed: CoreNFC.INFCVasReaderSessionDelegate Modified methods: ```diff -public abstract void DidInvalidate (NFCVasReaderSession session, Foundation.NSError error) +public virtual void DidInvalidate (NFCVasReaderSession session, Foundation.NSError error) -public abstract void DidReceiveVasResponses (NFCVasReaderSession session, NFCVasResponse[] responses) +public virtual void DidReceiveVasResponses (NFCVasReaderSession session, NFCVasResponse[] responses) ``` Added method: ```csharp public virtual void DidBecomeActive (NFCVasReaderSession session); ``` ### Namespace CoreSpotlight #### Type Changed: CoreSpotlight.ICSSearchableIndexDelegate Modified methods: ```diff -public abstract void ReindexAllSearchableItems (CSSearchableIndex searchableIndex, System.Action acknowledgementHandler) +public virtual void ReindexAllSearchableItems (CSSearchableIndex searchableIndex, System.Action acknowledgementHandler) -public abstract void ReindexSearchableItems (CSSearchableIndex searchableIndex, string[] identifiers, System.Action acknowledgementHandler) +public virtual void ReindexSearchableItems (CSSearchableIndex searchableIndex, string[] identifiers, System.Action acknowledgementHandler) ``` Added methods: ```csharp public virtual void DidFinishThrottle (CSSearchableIndex searchableIndex); public virtual void DidThrottle (CSSearchableIndex searchableIndex); public virtual Foundation.NSData GetData (CSSearchableIndex searchableIndex, string itemIdentifier, string typeIdentifier, out Foundation.NSError outError); public virtual Foundation.NSUrl GetFileUrl (CSSearchableIndex searchableIndex, string itemIdentifier, string typeIdentifier, bool inPlace, out Foundation.NSError outError); ``` ### Namespace CoreTelephony #### Type Changed: CoreTelephony.ICTTelephonyNetworkInfoDelegate Added method: ```csharp public virtual void DataServiceIdentifierDidChange (string identifier); ``` ### Namespace CoreText #### Type Changed: CoreText.CTFont Added methods: ```csharp public void DrawImage (ICTAdaptiveImageProviding provider, CoreGraphics.CGPoint point, CoreGraphics.CGContext context); public CoreGraphics.CGRect GetTypographicBoundsForAdaptiveImageProvider (ICTAdaptiveImageProviding provider); public bool HasTable (CTFontTable tag); ``` #### 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.CTFontDescriptorAttributeKey Added property: ```csharp public static Foundation.NSString RegistrationUserInfo { get; } ``` #### Type Changed: CoreText.CTFontDescriptorAttributes Added properties: ```csharp public string RegistrationUserInfo { get; set; } public bool? WeakEnabled { get; set; } ``` #### Type Changed: CoreText.CTStringAttributeKey Added properties: ```csharp public static Foundation.NSString AdaptiveImageProvider { get; } public static Foundation.NSString RubyAnnotation { get; } ``` #### Type Changed: CoreText.CTStringAttributes Added property: ```csharp public ICTAdaptiveImageProviding AdaptiveImageProvider { 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; } } ``` #### New Type: CoreText.ICTAdaptiveImageProviding ```csharp public interface ICTAdaptiveImageProviding : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual CoreGraphics.CGImage GetImage (CoreGraphics.CGSize proposedSize, System.Runtime.InteropServices.NFloat scaleFactor, out CoreGraphics.CGPoint imageOffset, out CoreGraphics.CGSize imageSize); } ``` ### Namespace CoreWlan #### Type Changed: CoreWlan.ICWEventDelegate Added methods: ```csharp public virtual void BssidDidChangeForWiFi (string interfaceName); public virtual void ClientConnectionInterrupted (); public virtual void ClientConnectionInvalidated (); public virtual void CountryCodeDidChangeForWiFi (string interfaceName); public virtual void LinkDidChangeForWiFi (string interfaceName); public virtual void LinkQualityDidChangeForWiFi (string interfaceName, int rssi, double transmitRate); public virtual void ModeDidChangeForWiFi (string interfaceName); public virtual void PowerStateDidChangeForWiFi (string interfaceName); public virtual void ScanCacheUpdatedForWiFi (string interfaceName); public virtual void SsidDidChangeForWiFi (string interfaceName); ``` ### Namespace EventKitUI #### Type Changed: EventKitUI.IEKCalendarChooserDelegate Added methods: ```csharp public virtual void Cancelled (EKCalendarChooser calendarChooser); public virtual void Finished (EKCalendarChooser calendarChooser); public virtual void SelectionChanged (EKCalendarChooser calendarChooser); ``` #### Type Changed: EventKitUI.IEKEventEditViewDelegate Modified methods: ```diff -public abstract void Completed (EKEventEditViewController controller, EKEventEditViewAction action) +public virtual void Completed (EKEventEditViewController controller, EKEventEditViewAction action) ``` Added method: ```csharp public virtual EventKit.EKCalendar GetDefaultCalendarForNewEvents (EKEventEditViewController controller); ``` #### Type Changed: EventKitUI.IEKEventViewDelegate Modified methods: ```diff -public abstract void Completed (EKEventViewController controller, EKEventViewAction action) +public virtual void Completed (EKEventViewController controller, EKEventViewAction action) ``` ### Namespace ExternalAccessory #### Type Changed: ExternalAccessory.IEAAccessoryDelegate Added method: ```csharp public virtual void Disconnected (EAAccessory accessory); ``` #### Type Changed: ExternalAccessory.IEAWiFiUnconfiguredAccessoryBrowserDelegate Modified methods: ```diff -public abstract void DidFindUnconfiguredAccessories (EAWiFiUnconfiguredAccessoryBrowser browser, Foundation.NSSet accessories) +public virtual void DidFindUnconfiguredAccessories (EAWiFiUnconfiguredAccessoryBrowser browser, Foundation.NSSet accessories) -public abstract void DidFinishConfiguringAccessory (EAWiFiUnconfiguredAccessoryBrowser browser, EAWiFiUnconfiguredAccessory accessory, EAWiFiUnconfiguredAccessoryConfigurationStatus status) +public virtual void DidFinishConfiguringAccessory (EAWiFiUnconfiguredAccessoryBrowser browser, EAWiFiUnconfiguredAccessory accessory, EAWiFiUnconfiguredAccessoryConfigurationStatus status) -public abstract void DidRemoveUnconfiguredAccessories (EAWiFiUnconfiguredAccessoryBrowser browser, Foundation.NSSet accessories) +public virtual void DidRemoveUnconfiguredAccessories (EAWiFiUnconfiguredAccessoryBrowser browser, Foundation.NSSet accessories) -public abstract void DidUpdateState (EAWiFiUnconfiguredAccessoryBrowser browser, EAWiFiUnconfiguredAccessoryBrowserState state) +public virtual void DidUpdateState (EAWiFiUnconfiguredAccessoryBrowser browser, EAWiFiUnconfiguredAccessoryBrowserState state) ``` ### Namespace FileProvider #### New Type: FileProvider.NSFileProviderKnownFolders ```csharp [Serializable] public enum NSFileProviderKnownFolders { Desktop = 1, Documents = 2, } ``` ### 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.INSCacheDelegate Added method: ```csharp public virtual void WillEvictObject (NSCache cache, NSObject obj); ``` #### Type Changed: Foundation.INSCoding Modified methods: ```diff -public abstract void EncodeTo (NSCoder encoder) +public virtual void EncodeTo (NSCoder encoder) ``` Added method: ```csharp public static T CreateInstance<T> (NSCoder decoder); ``` #### Type Changed: Foundation.INSCopying Modified methods: ```diff -public abstract NSObject Copy (NSZone zone) +public virtual NSObject Copy (NSZone zone) ``` #### Type Changed: Foundation.INSDiscardableContent Modified properties: ```diff -public abstract bool IsContentDiscarded { get; } +public virtual bool IsContentDiscarded { get; } ``` Modified methods: ```diff -public abstract bool BeginContentAccess () +public virtual bool BeginContentAccess () -public abstract void DiscardContentIfPossible () +public virtual void DiscardContentIfPossible () -public abstract void EndContentAccess () +public virtual void EndContentAccess () ``` #### Type Changed: Foundation.INSExtensionRequestHandling Modified methods: ```diff -public abstract void BeginRequestWithExtensionContext (NSExtensionContext context) +public virtual void BeginRequestWithExtensionContext (NSExtensionContext context) ``` #### Type Changed: Foundation.INSFileManagerDelegate Added methods: ```csharp public virtual bool ShouldCopyItemAtPath (NSFileManager fm, NSString srcPath, NSString dstPath); public virtual bool ShouldCopyItemAtUrl (NSFileManager fm, NSUrl srcUrl, NSUrl dstUrl); public virtual bool ShouldLinkItemAtPath (NSFileManager fileManager, string srcPath, string dstPath); public virtual bool ShouldLinkItemAtUrl (NSFileManager fileManager, NSUrl srcUrl, NSUrl dstUrl); public virtual bool ShouldMoveItemAtPath (NSFileManager fileManager, string srcPath, string dstPath); public virtual bool ShouldMoveItemAtUrl (NSFileManager fileManager, NSUrl srcUrl, NSUrl dstUrl); public virtual bool ShouldProceedAfterErrorCopyingItem (NSFileManager fileManager, NSError error, NSUrl srcUrl, NSUrl dstUrl); public virtual bool ShouldProceedAfterErrorCopyingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath); public virtual bool ShouldProceedAfterErrorLinkingItem (NSFileManager fileManager, NSError error, NSUrl srcUrl, NSUrl dstUrl); public virtual bool ShouldProceedAfterErrorLinkingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath); public virtual bool ShouldProceedAfterErrorMovingItem (NSFileManager fileManager, NSError error, NSUrl srcUrl, NSUrl dstUrl); public virtual bool ShouldProceedAfterErrorMovingItem (NSFileManager fileManager, NSError error, string srcPath, string dstPath); public virtual bool ShouldProceedAfterErrorRemovingItem (NSFileManager fileManager, NSError error, NSUrl url); public virtual bool ShouldProceedAfterErrorRemovingItem (NSFileManager fileManager, NSError error, string path); public virtual bool ShouldRemoveItemAtPath (NSFileManager fileManager, string path); public virtual bool ShouldRemoveItemAtUrl (NSFileManager fileManager, NSUrl url); ``` #### Type Changed: Foundation.INSFilePresenter Modified properties: ```diff -public abstract NSOperationQueue PresentedItemOperationQueue { get; } +public virtual NSOperationQueue PresentedItemOperationQueue { get; } -public abstract NSUrl PresentedItemUrl { get; } +public virtual NSUrl PresentedItemUrl { get; } ``` Added property: ```csharp public virtual Foundation.NSSet<NSString> PresentedItemObservedUbiquityAttributes { get; } ``` Added methods: ```csharp public virtual void AccommodatePresentedItemDeletion (System.Action<NSError> completionHandler); public virtual void AccommodatePresentedItemEviction (System.Action<NSError> completionHandler); public virtual void AccommodatePresentedSubitemDeletion (NSUrl url, System.Action<NSError> completionHandler); public virtual void PresentedItemChanged (); public virtual void PresentedItemChangedUbiquityAttributes (Foundation.NSSet<NSString> attributes); public virtual void PresentedItemGainedVersion (NSFileVersion version); public virtual void PresentedItemLostVersion (NSFileVersion version); public virtual void PresentedItemMoved (NSUrl newURL); public virtual void PresentedItemResolveConflictVersion (NSFileVersion version); public virtual void PresentedSubitemAppeared (NSUrl atUrl); public virtual void PresentedSubitemChanged (NSUrl url); public virtual void PresentedSubitemGainedVersion (NSUrl url, NSFileVersion version); public virtual void PresentedSubitemLostVersion (NSUrl url, NSFileVersion version); public virtual void PresentedSubitemMoved (NSUrl oldURL, NSUrl newURL); public virtual void PresentedSubitemResolvedConflictVersion (NSUrl url, NSFileVersion version); public virtual void RelinquishPresentedItemToReader (NSFilePresenterReacquirer readerAction); public virtual void RelinquishPresentedItemToWriter (NSFilePresenterReacquirer writerAction); public virtual void SavePresentedItemChanges (System.Action<NSError> completionHandler); ``` #### Type Changed: Foundation.INSItemProviderReading Added methods: ```csharp public static INSItemProviderReading GetObject<T> (NSData data, string typeIdentifier, out NSError outError); public static string[] GetReadableTypeIdentifiers<T> (); ``` #### Type Changed: Foundation.INSItemProviderWriting Added property: ```csharp public virtual string[] WritableTypeIdentifiersForItemProvider { get; } ``` Modified methods: ```diff -public abstract NSProgress LoadData (string typeIdentifier, System.Action%LESSERTHANREPLACEMENT%NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual NSProgress LoadData (string typeIdentifier, System.Action%LESSERTHANREPLACEMENT%NSData,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) ``` Added methods: ```csharp public virtual NSItemProviderRepresentationVisibility GetItemProviderVisibilityForTypeIdentifier (string typeIdentifier); public static string[] GetWritableTypeIdentifiers<T> (); public virtual System.Threading.Tasks.Task<NSData> LoadDataAsync (string typeIdentifier); public virtual System.Threading.Tasks.Task<NSData> LoadDataAsync (string typeIdentifier, out NSProgress result); ``` #### Type Changed: Foundation.INSKeyedArchiverDelegate Added methods: ```csharp public virtual void EncodedObject (NSKeyedArchiver archiver, NSObject obj); public virtual void Finished (NSKeyedArchiver archiver); public virtual void Finishing (NSKeyedArchiver archiver); public virtual void ReplacingObject (NSKeyedArchiver archiver, NSObject oldObject, NSObject newObject); public virtual NSObject WillEncode (NSKeyedArchiver archiver, NSObject obj); ``` #### Type Changed: Foundation.INSKeyedUnarchiverDelegate Added methods: ```csharp public virtual ObjCRuntime.Class CannotDecodeClass (NSKeyedUnarchiver unarchiver, string klass, string[] classes); public virtual NSObject DecodedObject (NSKeyedUnarchiver unarchiver, NSObject obj); public virtual void Finished (NSKeyedUnarchiver unarchiver); public virtual void Finishing (NSKeyedUnarchiver unarchiver); public virtual void ReplacingObject (NSKeyedUnarchiver unarchiver, NSObject oldObject, NSObject newObject); ``` #### Type Changed: Foundation.INSLocking Modified methods: ```diff -public abstract void Lock () +public virtual void Lock () -public abstract void Unlock () +public virtual void Unlock () ``` #### Type Changed: Foundation.INSMachPortDelegate Added method: ```csharp public virtual void MachMessageReceived (IntPtr msgHeader); ``` #### Type Changed: Foundation.INSMetadataQueryDelegate Added methods: ```csharp public virtual NSObject ReplacementObjectForResultObject (NSMetadataQuery query, NSMetadataItem result); public virtual NSObject ReplacementValueForAttributevalue (NSMetadataQuery query, string attributeName, NSObject value); ``` #### Type Changed: Foundation.INSMutableCopying Modified methods: ```diff -public abstract NSObject MutableCopy (NSZone zone) +public virtual NSObject MutableCopy (NSZone zone) ``` #### Type Changed: Foundation.INSNetServiceBrowserDelegate Added methods: ```csharp public virtual void DomainRemoved (NSNetServiceBrowser sender, string domain, bool moreComing); public virtual void FoundDomain (NSNetServiceBrowser sender, string domain, bool moreComing); public virtual void FoundService (NSNetServiceBrowser sender, NSNetService service, bool moreComing); public virtual void NotSearched (NSNetServiceBrowser sender, NSDictionary errors); public virtual void SearchStarted (NSNetServiceBrowser sender); public virtual void SearchStopped (NSNetServiceBrowser sender); public virtual void ServiceRemoved (NSNetServiceBrowser sender, NSNetService service, bool moreComing); ``` #### Type Changed: Foundation.INSNetServiceDelegate Added methods: ```csharp public virtual void AddressResolved (NSNetService sender); public virtual void DidAcceptConnection (NSNetService sender, NSInputStream inputStream, NSOutputStream outputStream); public virtual void PublishFailure (NSNetService sender, NSDictionary errors); public virtual void Published (NSNetService sender); public virtual void ResolveFailure (NSNetService sender, NSDictionary errors); public virtual void Stopped (NSNetService sender); public virtual void UpdatedTxtRecordData (NSNetService sender, NSData data); public virtual void WillPublish (NSNetService sender); public virtual void WillResolve (NSNetService sender); ``` #### Type Changed: Foundation.INSProgressReporting Modified properties: ```diff -public abstract NSProgress Progress { get; } +public virtual NSProgress Progress { get; } ``` #### Type Changed: Foundation.INSStreamDelegate Added method: ```csharp public virtual void HandleEvent (NSStream theStream, NSStreamEvent streamEvent); ``` #### Type Changed: Foundation.INSUrlAuthenticationChallengeSender Modified methods: ```diff -public abstract void CancelAuthenticationChallenge (NSUrlAuthenticationChallenge challenge) +public virtual void CancelAuthenticationChallenge (NSUrlAuthenticationChallenge challenge) -public abstract void ContinueWithoutCredential (NSUrlAuthenticationChallenge challenge) +public virtual void ContinueWithoutCredential (NSUrlAuthenticationChallenge challenge) -public abstract void UseCredential (NSUrlCredential credential, NSUrlAuthenticationChallenge challenge) +public virtual void UseCredential (NSUrlCredential credential, NSUrlAuthenticationChallenge challenge) ``` Added methods: ```csharp public virtual void PerformDefaultHandling (NSUrlAuthenticationChallenge challenge); public virtual void RejectProtectionSpaceAndContinue (NSUrlAuthenticationChallenge challenge); ``` #### Type Changed: Foundation.INSUrlConnectionDataDelegate Added methods: ```csharp public virtual void FinishedLoading (NSUrlConnection connection); public virtual NSInputStream NeedNewBodyStream (NSUrlConnection connection, NSUrlRequest request); public virtual void ReceivedData (NSUrlConnection connection, NSData data); public virtual void ReceivedResponse (NSUrlConnection connection, NSUrlResponse response); public virtual void SentBodyData (NSUrlConnection connection, IntPtr bytesWritten, IntPtr totalBytesWritten, IntPtr totalBytesExpectedToWrite); public virtual NSCachedUrlResponse WillCacheResponse (NSUrlConnection connection, NSCachedUrlResponse cachedResponse); public virtual NSUrlRequest WillSendRequest (NSUrlConnection connection, NSUrlRequest request, NSUrlResponse response); ``` #### Type Changed: Foundation.INSUrlConnectionDelegate Added methods: ```csharp public virtual bool CanAuthenticateAgainstProtectionSpace (NSUrlConnection connection, NSUrlProtectionSpace protectionSpace); public virtual void CanceledAuthenticationChallenge (NSUrlConnection connection, NSUrlAuthenticationChallenge challenge); public virtual bool ConnectionShouldUseCredentialStorage (NSUrlConnection connection); public virtual void FailedWithError (NSUrlConnection connection, NSError error); public virtual void ReceivedAuthenticationChallenge (NSUrlConnection connection, NSUrlAuthenticationChallenge challenge); public virtual void WillSendRequestForAuthenticationChallenge (NSUrlConnection connection, NSUrlAuthenticationChallenge challenge); ``` #### Type Changed: Foundation.INSUrlConnectionDownloadDelegate Modified methods: ```diff -public abstract void FinishedDownloading (NSUrlConnection connection, NSUrl destinationUrl) +public virtual void FinishedDownloading (NSUrlConnection connection, NSUrl destinationUrl) ``` Added methods: ```csharp public virtual void ResumedDownloading (NSUrlConnection connection, long totalBytesWritten, long expectedTotalBytes); public virtual void WroteData (NSUrlConnection connection, long bytesWritten, long totalBytesWritten, long expectedTotalBytes); ``` #### Type Changed: Foundation.INSUrlProtocolClient Modified methods: ```diff -public abstract void CachedResponseIsValid (NSUrlProtocol protocol, NSCachedUrlResponse cachedResponse) +public virtual void CachedResponseIsValid (NSUrlProtocol protocol, NSCachedUrlResponse cachedResponse) -public abstract void CancelledAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge) +public virtual void CancelledAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge) -public abstract void DataLoaded (NSUrlProtocol protocol, NSData data) +public virtual void DataLoaded (NSUrlProtocol protocol, NSData data) -public abstract void FailedWithError (NSUrlProtocol protocol, NSError error) +public virtual void FailedWithError (NSUrlProtocol protocol, NSError error) -public abstract void FinishedLoading (NSUrlProtocol protocol) +public virtual void FinishedLoading (NSUrlProtocol protocol) -public abstract void ReceivedAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge) +public virtual void ReceivedAuthenticationChallenge (NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge) -public abstract void ReceivedResponse (NSUrlProtocol protocol, NSUrlResponse response, NSUrlCacheStoragePolicy policy) +public virtual void ReceivedResponse (NSUrlProtocol protocol, NSUrlResponse response, NSUrlCacheStoragePolicy policy) -public abstract void Redirected (NSUrlProtocol protocol, NSUrlRequest redirectedToEequest, NSUrlResponse redirectResponse) +public virtual void Redirected (NSUrlProtocol protocol, NSUrlRequest redirectedToEequest, NSUrlResponse redirectResponse) ``` #### Type Changed: Foundation.INSUrlSessionDataDelegate Added methods: ```csharp public virtual void DidBecomeDownloadTask (NSUrlSession session, NSUrlSessionDataTask dataTask, NSUrlSessionDownloadTask downloadTask); public virtual void DidBecomeStreamTask (NSUrlSession session, NSUrlSessionDataTask dataTask, NSUrlSessionStreamTask streamTask); public virtual void DidReceiveData (NSUrlSession session, NSUrlSessionDataTask dataTask, NSData data); public virtual void DidReceiveResponse (NSUrlSession session, NSUrlSessionDataTask dataTask, NSUrlResponse response, System.Action<NSUrlSessionResponseDisposition> completionHandler); public virtual void WillCacheResponse (NSUrlSession session, NSUrlSessionDataTask dataTask, NSCachedUrlResponse proposedResponse, System.Action<NSCachedUrlResponse> completionHandler); ``` #### Type Changed: Foundation.INSUrlSessionDelegate Added methods: ```csharp public virtual void DidBecomeInvalid (NSUrlSession session, NSError error); public virtual void DidFinishEventsForBackgroundSession (NSUrlSession session); public virtual void DidReceiveChallenge (NSUrlSession session, NSUrlAuthenticationChallenge challenge, System.Action<NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler); ``` #### Type Changed: Foundation.INSUrlSessionDownloadDelegate Modified methods: ```diff -public abstract void DidFinishDownloading (NSUrlSession session, NSUrlSessionDownloadTask downloadTask, NSUrl location) +public virtual void DidFinishDownloading (NSUrlSession session, NSUrlSessionDownloadTask downloadTask, NSUrl location) ``` Added methods: ```csharp public virtual void DidResume (NSUrlSession session, NSUrlSessionDownloadTask downloadTask, long resumeFileOffset, long expectedTotalBytes); public virtual void DidWriteData (NSUrlSession session, NSUrlSessionDownloadTask downloadTask, long bytesWritten, long totalBytesWritten, long totalBytesExpectedToWrite); ``` #### Type Changed: Foundation.INSUrlSessionStreamDelegate Added methods: ```csharp public virtual void BetterRouteDiscovered (NSUrlSession session, NSUrlSessionStreamTask streamTask); public virtual void CompletedTaskCaptureStreams (NSUrlSession session, NSUrlSessionStreamTask streamTask, NSInputStream inputStream, NSOutputStream outputStream); public virtual void ReadClosed (NSUrlSession session, NSUrlSessionStreamTask streamTask); public virtual void WriteClosed (NSUrlSession session, NSUrlSessionStreamTask streamTask); ``` #### Type Changed: Foundation.INSUrlSessionTaskDelegate Added methods: ```csharp public virtual void DidCompleteWithError (NSUrlSession session, NSUrlSessionTask task, NSError error); public virtual void DidCreateTask (NSUrlSession session, NSUrlSessionTask task); public virtual void DidFinishCollectingMetrics (NSUrlSession session, NSUrlSessionTask task, NSUrlSessionTaskMetrics metrics); public virtual void DidReceiveChallenge (NSUrlSession session, NSUrlSessionTask task, NSUrlAuthenticationChallenge challenge, System.Action<NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler); public virtual void DidReceiveInformationalResponse (NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response); public virtual void DidSendBodyData (NSUrlSession session, NSUrlSessionTask task, long bytesSent, long totalBytesSent, long totalBytesExpectedToSend); public virtual void NeedNewBodyStream (NSUrlSession session, NSUrlSessionTask task, System.Action<NSInputStream> completionHandler); public virtual void NeedNewBodyStream (NSUrlSession session, NSUrlSessionTask task, long offset, System.Action<NSInputStream> completionHandler); public virtual void TaskIsWaitingForConnectivity (NSUrlSession session, NSUrlSessionTask task); public virtual void WillBeginDelayedRequest (NSUrlSession session, NSUrlSessionTask task, NSUrlRequest request, System.Action<NSUrlSessionDelayedRequestDisposition,Foundation.NSUrlRequest> completionHandler); public virtual void WillPerformHttpRedirection (NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response, NSUrlRequest newRequest, System.Action<NSUrlRequest> completionHandler); ``` #### Type Changed: Foundation.INSUrlSessionWebSocketDelegate Added methods: ```csharp public virtual void DidClose (NSUrlSession session, NSUrlSessionWebSocketTask webSocketTask, NSUrlSessionWebSocketCloseCode closeCode, NSData reason); public virtual void DidOpen (NSUrlSession session, NSUrlSessionWebSocketTask webSocketTask, string protocol); ``` #### Type Changed: Foundation.INSUserActivityDelegate Added methods: ```csharp public virtual void UserActivityReceivedData (NSUserActivity userActivity, NSInputStream inputStream, NSOutputStream outputStream); public virtual void UserActivityWasContinued (NSUserActivity userActivity); public virtual void UserActivityWillSave (NSUserActivity userActivity); ``` #### Type Changed: Foundation.INSXpcListenerDelegate Added method: ```csharp public virtual bool ShouldAcceptConnection (NSXpcListener listener, NSXpcConnection newConnection); ``` #### Type Changed: Foundation.NSAppleEventManager Added property: ```csharp public static NSString WillProcessFirstEventNotification { get; } ``` #### Type Changed: Foundation.NSArray Added method: ```csharp public virtual System.Collections.Generic.IEnumerator<NSObject> GetEnumerator (); ``` #### Type Changed: Foundation.NSArray`1 Added method: ```csharp public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator (); ``` #### 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, LocalizedNumberFormat = 13, ``` #### Type Changed: Foundation.NSBundle Added property: ```csharp public static NSString BundleDidLoadNotification { get; } ``` #### Type Changed: Foundation.NSCalendarUnit Added value: ```csharp DayOfYear = 65536, ``` #### Type Changed: Foundation.NSCharacterSet Added properties: ```csharp public static NSCharacterSet UrlFragmentAllowed { get; } public static NSCharacterSet UrlHostAllowed { get; } public static NSCharacterSet UrlPasswordAllowed { get; } public static NSCharacterSet UrlPathAllowed { get; } public static NSCharacterSet UrlQueryAllowed { get; } public static NSCharacterSet UrlUserAllowed { 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.NSDateComponents Added property: ```csharp public virtual IntPtr DayOfYear { get; set; } ``` #### Type Changed: Foundation.NSError Added property: ```csharp public static NSString NSNetServicesErrorCode { get; } ``` #### Type Changed: Foundation.NSFilePresenter Added method: ```csharp public virtual void AccommodatePresentedItemEviction (System.Action<NSError> completionHandler); ``` #### Type Changed: Foundation.NSFilePresenter_Extensions Added method: ```csharp public static void AccommodatePresentedItemEviction (this INSFilePresenter This, System.Action<NSError> completionHandler); ``` #### 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.NSMutableOrderedSet`1 Added method: ```csharp public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator (); ``` #### Type Changed: Foundation.NSMutableSet`1 Added method: ```csharp public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator (); ``` #### Type Changed: Foundation.NSMutableUrlRequest Added property: ```csharp public virtual bool AllowsPersistentDns { get; set; } ``` #### Type Changed: Foundation.NSNumber Added methods: ```csharp public bool IsEqualTo (NSNumber number); public virtual bool IsEqualTo (IntPtr number); ``` #### Type Changed: Foundation.NSNumberFormatter Added property: ```csharp public virtual IntPtr MinimumGroupingDigits { get; set; } ``` #### Type Changed: Foundation.NSOrderedSet`1 Added method: ```csharp public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator (); ``` #### Type Changed: Foundation.NSPort Added property: ```csharp public static NSString PortDidBecomeInvalidNotification { get; } ``` #### Type Changed: Foundation.NSSet`1 Added method: ```csharp public virtual System.Collections.Generic.IEnumerator<TKey> GetEnumerator (); ``` #### Type Changed: Foundation.NSTask Added property: ```csharp public virtual NSData LaunchRequirementData { get; set; } ``` #### 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.NSUndoManager Added properties: ```csharp public virtual UIntPtr RedoCount { get; } public virtual UIntPtr UndoCount { get; } ``` Added methods: ```csharp public virtual NSObject GetRedoActionUserInfoValue (string key); public virtual NSObject GetUndoActionUserInfoValue (string key); public virtual void SetActionUserInfoValue (NSObject info, string key); ``` #### 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.NSUrlRequest Added property: ```csharp public virtual bool AllowsPersistentDns { get; } ``` #### 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 (); ``` #### Type Changed: Foundation.ProtocolAttribute Added property: ```csharp public bool BackwardsCompatibleCodeGeneration { get; set; } ``` #### New Type: Foundation.NSExceptionError ```csharp public sealed class NSExceptionError : Foundation.NSError { // constructors public NSExceptionError (System.Exception exception); // properties public System.Exception Exception { get; } } ``` #### 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.NSKeyValueSharedObserverRegistration_NSObject ```csharp public static class NSKeyValueSharedObserverRegistration_NSObject { // methods public static void SetSharedObservers (this NSObject This, NSKeyValueSharedObserversSnapshot sharedObservers); } ``` #### New Type: Foundation.NSKeyValueSharedObservers ```csharp public class NSKeyValueSharedObservers : Foundation.NSObject { // constructors protected NSKeyValueSharedObservers (NSObjectFlag t); public NSKeyValueSharedObservers (ObjCRuntime.Class observableClass); protected NSKeyValueSharedObservers (ObjCRuntime.NativeHandle handle); public NSKeyValueSharedObservers (System.Type observableType); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual void AddSharedObserver (NSObject observer, string forKey, NSKeyValueObservingOptions options, IntPtr context); public virtual NSKeyValueSharedObserversSnapshot GetSnapshot (); } ``` #### New Type: Foundation.NSKeyValueSharedObserversSnapshot ```csharp public class NSKeyValueSharedObserversSnapshot : Foundation.NSObject { // constructors protected NSKeyValueSharedObserversSnapshot (NSObjectFlag t); protected NSKeyValueSharedObserversSnapshot (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: Foundation.NSLocalizedNumberFormatRule ```csharp public class NSLocalizedNumberFormatRule : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSLocalizedNumberFormatRule (NSCoder coder); protected NSLocalizedNumberFormatRule (NSObjectFlag t); protected NSLocalizedNumberFormatRule (ObjCRuntime.NativeHandle handle); // properties public static NSLocalizedNumberFormatRule Automatic { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual NSObject Copy (NSZone zone); public virtual void EncodeTo (NSCoder encoder); } ``` #### 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 CurrentUser { 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; } } ``` #### New Type: Foundation.OptionalMemberAttribute ```csharp public sealed class OptionalMemberAttribute : System.Attribute { // constructors public OptionalMemberAttribute (); } ``` #### New Type: Foundation.RequiredMemberAttribute ```csharp public sealed class RequiredMemberAttribute : System.Attribute { // constructors public RequiredMemberAttribute (); } ``` ### Namespace GameController #### Type Changed: GameController.GCVirtualControllerConfiguration Added property: ```csharp public virtual bool Hidden { get; set; } ``` #### Type Changed: GameController.IGCAxisElement Modified properties: ```diff -public abstract IGCAxisInput AbsoluteInput { get; } +public virtual IGCAxisInput AbsoluteInput { get; } -public abstract IGCRelativeInput RelativeInput { get; } +public virtual IGCRelativeInput RelativeInput { get; } ``` #### Type Changed: GameController.IGCAxisInput Modified properties: ```diff -public abstract bool Analog { get; } +public virtual bool Analog { get; } -public abstract bool CanWrap { get; } +public virtual bool CanWrap { get; } -public abstract double LastValueLatency { get; } +public virtual double LastValueLatency { get; } -public abstract double LastValueTimestamp { get; } +public virtual double LastValueTimestamp { get; } -public abstract float Value { get; } +public virtual float Value { get; } -public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCAxisInput,System.Single%GREATERTHANREPLACEMENT% ValueDidChangeHandler { get; set; } +public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCAxisInput,System.Single%GREATERTHANREPLACEMENT% ValueDidChangeHandler { get; set; } ``` #### Type Changed: GameController.IGCButtonElement Modified properties: ```diff -public abstract Foundation.NSObject PressedInput { get; } +public virtual Foundation.NSObject PressedInput { get; } -public abstract IGCTouchedStateInput TouchedInput { get; } +public virtual IGCTouchedStateInput TouchedInput { get; } ``` #### Type Changed: GameController.IGCDevice Modified properties: ```diff -public abstract CoreFoundation.DispatchQueue HandlerQueue { get; set; } +public virtual CoreFoundation.DispatchQueue HandlerQueue { get; set; } -public abstract GCPhysicalInputProfile PhysicalInputProfile { get; } +public virtual GCPhysicalInputProfile PhysicalInputProfile { get; } -public abstract string ProductCategory { get; } +public virtual string ProductCategory { get; } -public abstract string VendorName { get; } +public virtual string VendorName { get; } ``` #### Type Changed: GameController.IGCDevicePhysicalInput Modified properties: ```diff -public abstract IGCDevicePhysicalInputState Capture { get; } +public virtual IGCDevicePhysicalInputState Capture { get; } -public abstract IGCDevice Device { get; } +public virtual IGCDevice Device { get; } -public abstract ElementValueDidChangeHandler ElementValueDidChangeHandler { get; set; } +public virtual ElementValueDidChangeHandler ElementValueDidChangeHandler { get; set; } -public abstract InputStateAvailableHandler InputStateAvailableHandler { get; set; } +public virtual InputStateAvailableHandler InputStateAvailableHandler { get; set; } -public abstract IntPtr InputStateQueueDepth { get; set; } +public virtual IntPtr InputStateQueueDepth { get; set; } -public abstract Foundation.NSObject NextInputState { get; } +public virtual Foundation.NSObject NextInputState { get; } ``` #### Type Changed: GameController.IGCDevicePhysicalInputState Modified properties: ```diff -public abstract IGCDevice Device { get; } +public virtual IGCDevice Device { get; } -public abstract double LastEventLatency { get; } +public virtual double LastEventLatency { get; } -public abstract double LastEventTimestamp { get; } +public virtual double LastEventTimestamp { get; } ``` Modified methods: ```diff -public abstract IGCPhysicalInputElement GetObject (string key) +public virtual IGCPhysicalInputElement GetObject (string key) ``` #### Type Changed: GameController.IGCDevicePhysicalInputStateDiff Modified properties: ```diff -public abstract Foundation.NSEnumerator%LESSERTHANREPLACEMENT%IGCPhysicalInputElement%GREATERTHANREPLACEMENT% ChangedElements { get; } +public virtual Foundation.NSEnumerator%LESSERTHANREPLACEMENT%IGCPhysicalInputElement%GREATERTHANREPLACEMENT% ChangedElements { get; } ``` Modified methods: ```diff -public abstract GCDevicePhysicalInputElementChange GetChange (IGCPhysicalInputElement element) +public virtual GCDevicePhysicalInputElementChange GetChange (IGCPhysicalInputElement element) ``` #### Type Changed: GameController.IGCDirectionPadElement Modified properties: ```diff -public abstract Foundation.NSObject Down { get; } +public virtual Foundation.NSObject Down { get; } -public abstract Foundation.NSObject Left { get; } +public virtual Foundation.NSObject Left { get; } -public abstract Foundation.NSObject Right { get; } +public virtual Foundation.NSObject Right { get; } -public abstract Foundation.NSObject Up { get; } +public virtual Foundation.NSObject Up { get; } -public abstract IGCAxisInput XAxis { get; } +public virtual IGCAxisInput XAxis { get; } -public abstract IGCAxisInput YAxis { get; } +public virtual IGCAxisInput YAxis { get; } ``` #### Type Changed: GameController.IGCLinearInput Modified properties: ```diff -public abstract bool Analog { get; } +public virtual bool Analog { get; } -public abstract bool CanWrap { get; } +public virtual bool CanWrap { get; } -public abstract double LastValueLatency { get; } +public virtual double LastValueLatency { get; } -public abstract double LastValueTimestamp { get; } +public virtual double LastValueTimestamp { get; } -public abstract float Value { get; } +public virtual float Value { get; } -public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCLinearInput,System.Single%GREATERTHANREPLACEMENT% ValueDidChangeHandler { get; set; } +public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCLinearInput,System.Single%GREATERTHANREPLACEMENT% ValueDidChangeHandler { get; set; } ``` #### Type Changed: GameController.IGCPhysicalInputElement Modified properties: ```diff -public abstract Foundation.NSSet%LESSERTHANREPLACEMENT%Foundation.NSString%GREATERTHANREPLACEMENT% Aliases { get; } +public virtual Foundation.NSSet%LESSERTHANREPLACEMENT%Foundation.NSString%GREATERTHANREPLACEMENT% Aliases { get; } -public abstract string LocalizedName { get; } +public virtual string LocalizedName { get; } -public abstract string SfSymbolsName { get; } +public virtual string SfSymbolsName { get; } ``` #### Type Changed: GameController.IGCPressedStateInput Modified properties: ```diff -public abstract double LastPressedStateLatency { get; } +public virtual double LastPressedStateLatency { get; } -public abstract double LastPressedStateTimestamp { get; } +public virtual double LastPressedStateTimestamp { get; } -public abstract bool Pressed { get; } +public virtual bool Pressed { get; } -public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCPressedStateInput,System.Boolean%GREATERTHANREPLACEMENT% PressedDidChangeHandler { get; set; } +public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCPressedStateInput,System.Boolean%GREATERTHANREPLACEMENT% PressedDidChangeHandler { get; set; } ``` #### Type Changed: GameController.IGCRelativeInput Modified properties: ```diff -public abstract bool Analog { get; } +public virtual bool Analog { get; } -public abstract float Delta { get; } +public virtual float Delta { get; } -public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCRelativeInput,System.Single%GREATERTHANREPLACEMENT% DeltaDidChangeHandler { get; set; } +public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCRelativeInput,System.Single%GREATERTHANREPLACEMENT% DeltaDidChangeHandler { get; set; } -public abstract double LastDeltaLatency { get; } +public virtual double LastDeltaLatency { get; } -public abstract double LastDeltaTimestamp { get; } +public virtual double LastDeltaTimestamp { get; } ``` #### Type Changed: GameController.IGCSwitchElement Modified properties: ```diff -public abstract IGCSwitchPositionInput PositionInput { get; } +public virtual IGCSwitchPositionInput PositionInput { get; } ``` #### Type Changed: GameController.IGCSwitchPositionInput Modified properties: ```diff -public abstract bool CanWrap { get; } +public virtual bool CanWrap { get; } -public abstract double LastPositionLatency { get; } +public virtual double LastPositionLatency { get; } -public abstract double LastPositionTimestamp { get; } +public virtual double LastPositionTimestamp { get; } -public abstract IntPtr Position { get; } +public virtual IntPtr Position { get; } -public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCSwitchPositionInput,System.IntPtr%GREATERTHANREPLACEMENT% PositionDidChangeHandler { get; set; } +public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCSwitchPositionInput,System.IntPtr%GREATERTHANREPLACEMENT% PositionDidChangeHandler { get; set; } -public abstract Foundation.NSRange PositionRange { get; } +public virtual Foundation.NSRange PositionRange { get; } -public abstract bool Sequential { get; } +public virtual bool Sequential { get; } ``` #### Type Changed: GameController.IGCTouchedStateInput Modified properties: ```diff -public abstract double LastTouchedStateLatency { get; } +public virtual double LastTouchedStateLatency { get; } -public abstract double LastTouchedStateTimestamp { get; } +public virtual double LastTouchedStateTimestamp { get; } -public abstract bool Touched { get; } +public virtual bool Touched { get; } -public abstract System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCTouchedStateInput,System.Boolean%GREATERTHANREPLACEMENT% TouchedDidChangeHandler { get; set; } +public virtual System.Action%LESSERTHANREPLACEMENT%IGCPhysicalInputElement,GameController.IGCTouchedStateInput,System.Boolean%GREATERTHANREPLACEMENT% TouchedDidChangeHandler { get; set; } ``` #### New Type: GameController.GCEventInteraction ```csharp public class GCEventInteraction : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUIInteraction { // constructors public GCEventInteraction (); protected GCEventInteraction (Foundation.NSObjectFlag t); protected GCEventInteraction (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual GCUIEventTypes HandledEventTypes { get; set; } public virtual UIKit.UIView View { get; } // methods public virtual void DidMoveToView (UIKit.UIView view); protected override void Dispose (bool disposing); public virtual void WillMoveToView (UIKit.UIView view); } ``` #### New Type: GameController.GCUIEventTypes ```csharp [Serializable] public enum GCUIEventTypes { Gamepad = 1, None = 0, } ``` ### 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.GKError Added value: ```csharp AppUnlisted = 37, ``` #### 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.GKScoreChallenge Added property: ```csharp public virtual GKLeaderboardEntry LeaderboardEntry { get; } ``` #### Type Changed: GameKit.GKVoiceChat Added property: ```csharp public virtual System.Action<GKPlayer,GameKit.GKVoiceChatPlayerState> PlayerVoiceChatStateDidChangeHandler { get; } ``` #### Type Changed: GameKit.IGKChallengeEventHandlerDelegate Added methods: ```csharp public virtual void LocalPlayerCompletedChallenge (GKChallenge challenge); public virtual void LocalPlayerReceivedChallenge (GKChallenge challenge); public virtual void LocalPlayerSelectedChallenge (GKChallenge challenge); public virtual void RemotePlayerCompletedChallenge (GKChallenge challenge); public virtual bool ShouldShowBannerForLocallyCompletedChallenge (GKChallenge challenge); public virtual bool ShouldShowBannerForLocallyReceivedChallenge (GKChallenge challenge); public virtual bool ShouldShowBannerForRemotelyCompletedChallenge (GKChallenge challenge); ``` #### Type Changed: GameKit.IGKChallengeListener Added methods: ```csharp public virtual void DidCompleteChallenge (GKPlayer player, GKChallenge challenge, GKPlayer friendPlayer); public virtual void DidReceiveChallenge (GKPlayer player, GKChallenge challenge); public virtual void IssuedChallengeWasCompleted (GKPlayer player, GKChallenge challenge, GKPlayer friendPlayer); public virtual void WantsToPlayChallenge (GKPlayer player, GKChallenge challenge); ``` #### Type Changed: GameKit.IGKGameCenterControllerDelegate Modified methods: ```diff -public abstract void Finished (GKGameCenterViewController controller) +public virtual void Finished (GKGameCenterViewController controller) ``` #### Type Changed: GameKit.IGKGameSessionEventListener Added methods: ```csharp public virtual void DidAddPlayer (GKGameSession session, GKCloudPlayer player); public virtual void DidChangeConnectionState (GKGameSession session, GKCloudPlayer player, GKConnectionState newState); public virtual void DidReceiveData (GKGameSession session, Foundation.NSData data, GKCloudPlayer player); public virtual void DidReceiveMessage (GKGameSession session, string message, Foundation.NSData data, GKCloudPlayer player); public virtual void DidRemovePlayer (GKGameSession session, GKCloudPlayer player); public virtual void DidSaveData (GKGameSession session, GKCloudPlayer player, Foundation.NSData data); ``` #### Type Changed: GameKit.IGKInviteEventListener Added methods: ```csharp public virtual void DidAcceptInvite (GKPlayer player, GKInvite invite); public virtual void DidRequestMatch (GKPlayer player, GKPlayer[] recipientPlayers); public virtual void DidRequestMatch (GKPlayer player, string[] playerIDs); ``` #### Type Changed: GameKit.IGKMatchDelegate Added methods: ```csharp public virtual void DataReceived (GKMatch match, Foundation.NSData data, string playerId); public virtual void DataReceivedForRecipient (GKMatch match, Foundation.NSData data, GKPlayer recipient, GKPlayer player); public virtual void DataReceivedFromPlayer (GKMatch match, Foundation.NSData data, GKPlayer player); public virtual void Failed (GKMatch match, Foundation.NSError error); public virtual bool ShouldReinviteDisconnectedPlayer (GKMatch match, GKPlayer player); public virtual bool ShouldReinvitePlayer (GKMatch match, string playerId); public virtual void StateChanged (GKMatch match, string playerId, GKPlayerConnectionState state); public virtual void StateChangedForPlayer (GKMatch match, GKPlayer player, GKPlayerConnectionState state); ``` #### Type Changed: GameKit.IGKMatchmakerViewControllerDelegate Modified methods: ```diff -public abstract void DidFailWithError (GKMatchmakerViewController viewController, Foundation.NSError error) +public virtual void DidFailWithError (GKMatchmakerViewController viewController, Foundation.NSError error) -public abstract void WasCancelled (GKMatchmakerViewController viewController) +public virtual void WasCancelled (GKMatchmakerViewController viewController) ``` Added methods: ```csharp public virtual void DidFindHostedPlayers (GKMatchmakerViewController viewController, GKPlayer[] playerIDs); public virtual void DidFindMatch (GKMatchmakerViewController viewController, GKMatch match); public virtual void DidFindPlayers (GKMatchmakerViewController viewController, string[] playerIDs); public virtual void GetMatchProperties (GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler); public virtual void HostedPlayerDidAccept (GKMatchmakerViewController viewController, GKPlayer playerID); public virtual void ReceivedAcceptFromHostedPlayer (GKMatchmakerViewController viewController, string playerID); ``` #### Type Changed: GameKit.IGKSavedGameListener Added methods: ```csharp public virtual void DidModifySavedGame (GKPlayer player, GKSavedGame savedGame); public virtual void HasConflictingSavedGames (GKPlayer player, GKSavedGame[] savedGames); ``` #### Type Changed: GameKit.IGKSessionDelegate Added methods: ```csharp public virtual void FailedWithError (GKSession session, Foundation.NSError error); public virtual void PeerChangedState (GKSession session, string peerID, GKPeerConnectionState state); public virtual void PeerConnectionFailed (GKSession session, string peerID, Foundation.NSError error); public virtual void PeerConnectionRequest (GKSession session, string peerID); ``` #### Type Changed: GameKit.IGKTurnBasedEventHandlerDelegate Modified methods: ```diff -public abstract void HandleInviteFromGameCenter (Foundation.NSString[] playersToInvite) +public virtual void HandleInviteFromGameCenter (Foundation.NSString[] playersToInvite) -public abstract void HandleTurnEvent (GKTurnBasedMatch match, bool activated) +public virtual void HandleTurnEvent (GKTurnBasedMatch match, bool activated) ``` Added methods: ```csharp public virtual void HandleMatchEnded (GKTurnBasedMatch match); public virtual void HandleTurnEventForMatch (GKTurnBasedMatch match); ``` #### Type Changed: GameKit.IGKTurnBasedEventListener Added methods: ```csharp public virtual void DidRequestMatchWithOtherPlayers (GKPlayer player, GKPlayer[] playersToInvite); public virtual void DidRequestMatchWithPlayers (GKPlayer player, string[] playerIDsToInvite); public virtual void MatchEnded (GKPlayer player, GKTurnBasedMatch match); public virtual void ReceivedExchangeCancellation (GKPlayer player, GKTurnBasedExchange exchange, GKTurnBasedMatch match); public virtual void ReceivedExchangeReplies (GKPlayer player, GKTurnBasedExchangeReply[] replies, GKTurnBasedExchange exchange, GKTurnBasedMatch match); public virtual void ReceivedExchangeRequest (GKPlayer player, GKTurnBasedExchange exchange, GKTurnBasedMatch match); public virtual void ReceivedTurnEvent (GKPlayer player, GKTurnBasedMatch match, bool becameActive); public virtual void WantsToQuitMatch (GKPlayer player, GKTurnBasedMatch match); ``` #### Type Changed: GameKit.IGKTurnBasedMatchmakerViewControllerDelegate Modified methods: ```diff -public abstract void FailedWithError (GKTurnBasedMatchmakerViewController viewController, Foundation.NSError error) +public virtual void FailedWithError (GKTurnBasedMatchmakerViewController viewController, Foundation.NSError error) -public abstract void WasCancelled (GKTurnBasedMatchmakerViewController viewController) +public virtual void WasCancelled (GKTurnBasedMatchmakerViewController viewController) ``` Added methods: ```csharp public virtual void FoundMatch (GKTurnBasedMatchmakerViewController viewController, GKTurnBasedMatch match); public virtual void PlayerQuitForMatch (GKTurnBasedMatchmakerViewController viewController, GKTurnBasedMatch match); ``` #### Type Changed: GameKit.IGKVoiceChatClient Modified methods: ```diff -public abstract string ParticipantID () +public virtual string ParticipantID () -public abstract void SendData (GKVoiceChatService voiceChatService, Foundation.NSData data, string toParticipant) +public virtual void SendData (GKVoiceChatService voiceChatService, Foundation.NSData data, string toParticipant) ``` Added methods: ```csharp public virtual void FailedToConnect (GKVoiceChatService voiceChatService, string participantID, Foundation.NSError error); public virtual void ReceivedInvitation (GKVoiceChatService voiceChatService, string participantID, IntPtr callID); public virtual void SendRealTimeData (GKVoiceChatService voiceChatService, Foundation.NSData data, string participantID); public virtual void Started (GKVoiceChatService voiceChatService, string participantID); public virtual void Stopped (GKVoiceChatService voiceChatService, string participantID, Foundation.NSError error); ``` #### 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 GameplayKit #### Type Changed: GameplayKit.IGKAgentDelegate Added methods: ```csharp public virtual void AgentDidUpdate (GKAgent agent); public virtual void AgentWillUpdate (GKAgent agent); ``` #### Type Changed: GameplayKit.IGKGameModel Modified methods: ```diff -public abstract void ApplyGameModelUpdate (IGKGameModelUpdate gameModelUpdate) +public virtual void ApplyGameModelUpdate (IGKGameModelUpdate gameModelUpdate) -public abstract IGKGameModelPlayer GetActivePlayer () +public virtual IGKGameModelPlayer GetActivePlayer () -public abstract IGKGameModelUpdate[] GetGameModelUpdates (IGKGameModelPlayer player) +public virtual IGKGameModelUpdate[] GetGameModelUpdates (IGKGameModelPlayer player) -public abstract IGKGameModelPlayer[] GetPlayers () +public virtual IGKGameModelPlayer[] GetPlayers () -public abstract void SetGameModel (IGKGameModel gameModel) +public virtual void SetGameModel (IGKGameModel gameModel) ``` Added methods: ```csharp public virtual IntPtr GetScore (IGKGameModelPlayer player); public virtual bool IsLoss (IGKGameModelPlayer player); public virtual bool IsWin (IGKGameModelPlayer player); public virtual void UnapplyGameModelUpdate (IGKGameModelUpdate gameModelUpdate); ``` #### Type Changed: GameplayKit.IGKGameModelPlayer Modified properties: ```diff -public abstract IntPtr PlayerId { get; } +public virtual IntPtr PlayerId { get; } ``` #### Type Changed: GameplayKit.IGKGameModelUpdate Modified properties: ```diff -public abstract IntPtr Value { get; set; } +public virtual IntPtr Value { get; set; } ``` #### Type Changed: GameplayKit.IGKRandom Modified methods: ```diff -public abstract bool GetNextBool () +public virtual bool GetNextBool () -public abstract IntPtr GetNextInt () +public virtual IntPtr GetNextInt () -public abstract UIntPtr GetNextInt (UIntPtr upperBound) +public virtual UIntPtr GetNextInt (UIntPtr upperBound) -public abstract float GetNextUniform () +public virtual float GetNextUniform () ``` #### Type Changed: GameplayKit.IGKStrategist Modified properties: ```diff -public abstract IGKGameModel GameModel { get; set; } +public virtual IGKGameModel GameModel { get; set; } -public abstract IGKRandom RandomSource { get; set; } +public virtual IGKRandom RandomSource { get; set; } ``` Modified methods: ```diff -public abstract IGKGameModelUpdate GetBestMoveForActivePlayer () +public virtual IGKGameModelUpdate GetBestMoveForActivePlayer () ``` ### Namespace HealthKit #### Type Changed: HealthKit.IHKWorkoutSessionDelegate Modified methods: ```diff -public abstract void DidChangeToState (HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, Foundation.NSDate date) +public virtual void DidChangeToState (HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, Foundation.NSDate date) -public abstract void DidFail (HKWorkoutSession workoutSession, Foundation.NSError error) +public virtual void DidFail (HKWorkoutSession workoutSession, Foundation.NSError error) ``` Added methods: ```csharp public virtual void DidBeginActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); public virtual void DidDisconnect (HKWorkoutSession workoutSession, Foundation.NSError error); public virtual void DidEndActivity (HKWorkoutSession workoutSession, HKWorkoutConfiguration workoutConfiguration, Foundation.NSDate date); public virtual void DidGenerateEvent (HKWorkoutSession workoutSession, HKWorkoutEvent event); public virtual void DidReceiveData (HKWorkoutSession workoutSession, Foundation.NSData[] data); ``` ### Namespace HomeKit #### Type Changed: HomeKit.HMAccessoryCategoryType Added values: ```csharp AirPort = 32, AudioReceiver = 31, Speaker = 30, Television = 26, TelevisionSetTopBox = 27, TelevisionStreamingStick = 28, WiFiRouter = 29, ``` #### Type Changed: HomeKit.HMCharacteristicType Added values: ```csharp ActiveIdentifier = 130, ClosedCaptions = 123, ConfiguredName = 128, CurrentMediaState = 125, CurrentVisibilityState = 132, Identifier = 129, InputDeviceType = 122, InputSourceType = 121, PictureMode = 127, PowerModeSelection = 124, RemoteKey = 126, RouterStatus = 133, TargetMediaState = 138, TargetVisibilityState = 131, VolumeControlType = 136, VolumeSelector = 137, WanStatusList = 134, WiFiSatelliteStatus = 135, ``` #### Type Changed: HomeKit.HMError Added value: ```csharp PartialCommunicationFailure = 104, ``` #### Type Changed: HomeKit.HMService Added property: ```csharp public virtual Foundation.NSNumber MatterEndpointId { get; } ``` #### Type Changed: HomeKit.HMServiceType Added values: ```csharp InputSource = 44, Television = 43, WiFiRouter = 45, WiFiSatellite = 46, ``` #### Type Changed: HomeKit.IHMAccessoryDelegate Added methods: ```csharp public virtual void DidAddProfile (HMAccessory accessory, HMAccessoryProfile profile); public virtual void DidRemoveProfile (HMAccessory accessory, HMAccessoryProfile profile); public virtual void DidUpdateAssociatedServiceType (HMAccessory accessory, HMService service); public virtual void DidUpdateFirmwareVersion (HMAccessory accessory, string firmwareVersion); public virtual void DidUpdateName (HMAccessory accessory); public virtual void DidUpdateNameForService (HMAccessory accessory, HMService service); public virtual void DidUpdateReachability (HMAccessory accessory); public virtual void DidUpdateServices (HMAccessory accessory); public virtual void DidUpdateValueForCharacteristic (HMAccessory accessory, HMService service, HMCharacteristic characteristic); ``` #### Type Changed: HomeKit.IHMCameraSnapshotControlDelegate Added methods: ```csharp public virtual void DidTakeSnapshot (HMCameraSnapshotControl cameraSnapshotControl, HMCameraSnapshot snapshot, Foundation.NSError error); public virtual void DidUpdateMostRecentSnapshot (HMCameraSnapshotControl cameraSnapshotControl); ``` #### Type Changed: HomeKit.IHMCameraStreamControlDelegate Added methods: ```csharp public virtual void DidStartStream (HMCameraStreamControl cameraStreamControl); public virtual void DidStopStream (HMCameraStreamControl cameraStreamControl, Foundation.NSError error); ``` #### Type Changed: HomeKit.IHMHomeDelegate Added methods: ```csharp public virtual void DidAddAccessory (HMHome home, HMAccessory accessory); public virtual void DidAddActionSet (HMHome home, HMActionSet actionSet); public virtual void DidAddRoom (HMHome home, HMRoom room); public virtual void DidAddRoomToZone (HMHome home, HMRoom room, HMZone zone); public virtual void DidAddService (HMHome home, HMService service, HMServiceGroup group); public virtual void DidAddServiceGroup (HMHome home, HMServiceGroup group); public virtual void DidAddTrigger (HMHome home, HMTrigger trigger); public virtual void DidAddUser (HMHome home, HMUser user); public virtual void DidAddZone (HMHome home, HMZone zone); public virtual void DidEncounterError (HMHome home, Foundation.NSError error, HMAccessory accessory); public virtual void DidRemoveAccessory (HMHome home, HMAccessory accessory); public virtual void DidRemoveActionSet (HMHome home, HMActionSet actionSet); public virtual void DidRemoveRoom (HMHome home, HMRoom room); public virtual void DidRemoveRoomFromZone (HMHome home, HMRoom room, HMZone zone); public virtual void DidRemoveService (HMHome home, HMService service, HMServiceGroup group); public virtual void DidRemoveServiceGroup (HMHome home, HMServiceGroup group); public virtual void DidRemoveTrigger (HMHome home, HMTrigger trigger); public virtual void DidRemoveUser (HMHome home, HMUser user); public virtual void DidRemoveZone (HMHome home, HMZone zone); public virtual void DidUnblockAccessory (HMHome home, HMAccessory accessory); public virtual void DidUpdateAccessControlForCurrentUser (HMHome home); public virtual void DidUpdateActionsForActionSet (HMHome home, HMActionSet actionSet); public virtual void DidUpdateHomeHubState (HMHome home, HMHomeHubState homeHubState); public virtual void DidUpdateNameForActionSet (HMHome home, HMActionSet actionSet); public virtual void DidUpdateNameForHome (HMHome home); public virtual void DidUpdateNameForRoom (HMHome home, HMRoom room); public virtual void DidUpdateNameForServiceGroup (HMHome home, HMServiceGroup group); public virtual void DidUpdateNameForTrigger (HMHome home, HMTrigger trigger); public virtual void DidUpdateNameForZone (HMHome home, HMZone zone); public virtual void DidUpdateRoom (HMHome home, HMRoom room, HMAccessory accessory); public virtual void DidUpdateSupportedFeatures (HMHome home); public virtual void DidUpdateTrigger (HMHome home, HMTrigger trigger); ``` #### Type Changed: HomeKit.IHMHomeManagerDelegate Added methods: ```csharp public virtual void DidAddHome (HMHomeManager manager, HMHome home); public virtual void DidRemoveHome (HMHomeManager manager, HMHome home); public virtual void DidUpdateAuthorizationStatus (HMHomeManager manager, HMHomeManagerAuthorizationStatus status); public virtual void DidUpdateHomes (HMHomeManager manager); public virtual void DidUpdatePrimaryHome (HMHomeManager manager); ``` #### Type Changed: HomeKit.IHMNetworkConfigurationProfileDelegate Added method: ```csharp public virtual void DidUpdateNetworkAccessMode (HMNetworkConfigurationProfile profile); ``` #### New Type: HomeKit.HMCharacteristicValueClosedCaptions ```csharp [Serializable] public enum HMCharacteristicValueClosedCaptions { Disabled = 0, Enabled = 1, } ``` #### New Type: HomeKit.HMCharacteristicValueCurrentMediaState ```csharp [Serializable] public enum HMCharacteristicValueCurrentMediaState { Interrupted = 5, Loading = 4, Paused = 1, Playing = 0, Stopped = 2, Unknown = 3, } ``` #### New Type: HomeKit.HMCharacteristicValueCurrentVisibilityState ```csharp [Serializable] public enum HMCharacteristicValueCurrentVisibilityState { AlwaysShown = 3, Connected = 2, Hidden = 1, Shown = 0, } ``` #### New Type: HomeKit.HMCharacteristicValueInputDeviceType ```csharp [Serializable] public enum HMCharacteristicValueInputDeviceType { AudioSystem = 5, None = 6, Other = 0, Playback = 4, Recording = 2, TV = 1, Tuner = 3, } ``` #### New Type: HomeKit.HMCharacteristicValueInputSourceType ```csharp [Serializable] public enum HMCharacteristicValueInputSourceType { AirPlay = 8, Application = 10, ComponentVideo = 6, CompositeVideo = 4, Dvi = 7, Hdmi = 3, HomeScreen = 1, Other = 0, SVideo = 5, Tuner = 2, Usb = 9, } ``` #### New Type: HomeKit.HMCharacteristicValuePictureMode ```csharp [Serializable] public enum HMCharacteristicValuePictureMode { Bright = 7, Calibrated = 10, Computer = 8, Custom1 = 11, Custom2 = 12, Custom3 = 13, Dark = 6, Game = 3, Movie = 1, Night = 9, Photo = 4, Sport = 2, Standard = 0, Vivid = 5, } ``` #### New Type: HomeKit.HMCharacteristicValuePowerModeSelection ```csharp [Serializable] public enum HMCharacteristicValuePowerModeSelection { Hide = 1, Show = 0, } ``` #### New Type: HomeKit.HMCharacteristicValueRemoteKey ```csharp [Serializable] public enum HMCharacteristicValueRemoteKey { ArrowDown = 5, ArrowLeft = 6, ArrowRight = 7, ArrowUp = 4, Back = 9, Exit = 10, FastForward = 1, Home = 16, Info = 15, Menu = 14, NextTrack = 2, Pause = 13, Play = 12, PlayPause = 11, PreviousTrack = 3, Rewind = 0, Select = 8, } ``` #### New Type: HomeKit.HMCharacteristicValueRouterStatus ```csharp [Serializable] public enum HMCharacteristicValueRouterStatus { NotReady = 1, Ready = 0, } ``` #### New Type: HomeKit.HMCharacteristicValueTargetMediaState ```csharp [Serializable] public enum HMCharacteristicValueTargetMediaState { Pause = 1, Play = 0, Stop = 2, } ``` #### New Type: HomeKit.HMCharacteristicValueTargetVisibilityState ```csharp [Serializable] public enum HMCharacteristicValueTargetVisibilityState { Hide = 1, Show = 0, } ``` #### New Type: HomeKit.HMCharacteristicValueVolumeControlType ```csharp [Serializable] public enum HMCharacteristicValueVolumeControlType { Absolute = 3, None = 0, Relative = 1, RelativeWithCurrent = 2, } ``` #### New Type: HomeKit.HMCharacteristicValueVolumeSelector ```csharp [Serializable] public enum HMCharacteristicValueVolumeSelector { VolumeDecrement = 1, VolumeIncrement = 0, } ``` #### New Type: HomeKit.HMCharacteristicValueWiFiSatelliteStatus ```csharp [Serializable] public enum HMCharacteristicValueWiFiSatelliteStatus { Connected = 1, NotConnected = 2, Unknown = 0, } ``` ### Namespace IOSurface #### Type Changed: IOSurface.IOSurface Added property: ```csharp public virtual uint SurfaceId { get; } ``` ### Namespace IdentityLookup #### Type Changed: IdentityLookup.IILMessageFilterCapabilitiesQueryHandling Modified methods: ```diff -public abstract void HandleQueryRequest (ILMessageFilterCapabilitiesQueryRequest capabilitiesQueryRequest, ILMessageFilterExtensionContext context, System.Action%LESSERTHANREPLACEMENT%ILMessageFilterCapabilitiesQueryResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleQueryRequest (ILMessageFilterCapabilitiesQueryRequest capabilitiesQueryRequest, ILMessageFilterExtensionContext context, System.Action%LESSERTHANREPLACEMENT%ILMessageFilterCapabilitiesQueryResponse%GREATERTHANREPLACEMENT% completion) ``` #### Type Changed: IdentityLookup.IILMessageFilterQueryHandling Modified methods: ```diff -public abstract void HandleQueryRequest (ILMessageFilterQueryRequest queryRequest, ILMessageFilterExtensionContext context, System.Action%LESSERTHANREPLACEMENT%ILMessageFilterQueryResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleQueryRequest (ILMessageFilterQueryRequest queryRequest, ILMessageFilterExtensionContext context, System.Action%LESSERTHANREPLACEMENT%ILMessageFilterQueryResponse%GREATERTHANREPLACEMENT% completion) ``` ### Namespace ImageIO #### Type Changed: ImageIO.CGImageAuxiliaryDataInfo Added property: ```csharp public CoreGraphics.CGColorSpace ColorSpace { get; set; } ``` #### Type Changed: ImageIO.CGImageAuxiliaryDataType Added value: ```csharp IsoGainMap = 9, ``` #### Type Changed: ImageIO.CGImageDestinationOptionsKeys Added properties: ```csharp public static Foundation.NSString EncodeBaseIsSdr { get; } public static Foundation.NSString EncodeRequest { get; } public static Foundation.NSString EncodeRequestOptions { get; } public static Foundation.NSString EncodeToIsoGainmap { get; } public static Foundation.NSString EncodeToIsoHdr { get; } public static Foundation.NSString EncodeToSdr { get; } public static Foundation.NSString EncodeTonemapMode { get; } ``` #### Type Changed: ImageIO.CGImageProperties Added properties: ```csharp public static Foundation.NSString GroupImageIndexMonoscopic { get; } public static Foundation.NSString GroupImageIsMonoscopicImage { get; } public static Foundation.NSString GroupImageStereoAggressors { get; } public static Foundation.NSString GroupMonoscopicImageLocation { get; } public static Foundation.NSString TIFFXPosition { get; } public static Foundation.NSString TIFFYPosition { get; } ``` #### Type Changed: ImageIO.CGImageSource Added method: ```csharp public static void SetAllowableTypes (string[] allowableTypes); ``` #### New Type: ImageIO.IOMonoscopicImageLocation ```csharp public static class IOMonoscopicImageLocation { // properties public static Foundation.NSString Center { get; } public static Foundation.NSString Left { get; } public static Foundation.NSString Right { get; } public static Foundation.NSString Unspecified { get; } } ``` #### New Type: ImageIO.IOStereoAggressors ```csharp public static class IOStereoAggressors { // properties public static Foundation.NSString Severity { get; } public static Foundation.NSString SubTypeUri { get; } public static Foundation.NSString Type { get; } } ``` ### Namespace Intents #### Type Changed: Intents.IINActivateCarSignalIntentHandling Modified methods: ```diff -public abstract void HandleActivateCarSignal (INActivateCarSignalIntent intent, System.Action%LESSERTHANREPLACEMENT%INActivateCarSignalIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleActivateCarSignal (INActivateCarSignalIntent intent, System.Action%LESSERTHANREPLACEMENT%INActivateCarSignalIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INActivateCarSignalIntent intent, System.Action<INActivateCarSignalIntentResponse> completion); public virtual void ResolveCarName (INActivateCarSignalIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveSignals (INActivateCarSignalIntent intent, System.Action<INCarSignalOptionsResolutionResult> completion); ``` #### Type Changed: Intents.IINAddMediaIntentHandling Modified methods: ```diff -public abstract void HandleAddMedia (INAddMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INAddMediaIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleAddMedia (INAddMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INAddMediaIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INAddMediaIntent intent, System.Action<INAddMediaIntentResponse> completion); public virtual void ResolveMediaDestination (INAddMediaIntent intent, System.Action<INAddMediaMediaDestinationResolutionResult> completion); public virtual void ResolveMediaItems (INAddMediaIntent intent, System.Action<INAddMediaMediaItemResolutionResult[]> completion); ``` #### Type Changed: Intents.IINAddTasksIntentHandling Modified methods: ```diff -public abstract void HandleAddTasks (INAddTasksIntent intent, System.Action%LESSERTHANREPLACEMENT%INAddTasksIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleAddTasks (INAddTasksIntent intent, System.Action%LESSERTHANREPLACEMENT%INAddTasksIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INAddTasksIntent intent, System.Action<INAddTasksIntentResponse> completion); public virtual void ResolvePriority (INAddTasksIntent intent, System.Action<INTaskPriorityResolutionResult> completion); public virtual void ResolveSpatialEventTrigger (INAddTasksIntent intent, System.Action<INSpatialEventTriggerResolutionResult> completion); public virtual void ResolveTargetTaskList (INAddTasksIntent intent, System.Action<INAddTasksTargetTaskListResolutionResult> completionHandler); public virtual void ResolveTargetTaskList (INAddTasksIntent intent, System.Action<INTaskListResolutionResult> completion); public virtual void ResolveTaskTitles (INAddTasksIntent intent, System.Action<INSpeakableStringResolutionResult[]> completion); public virtual void ResolveTemporalEventTrigger (INAddTasksIntent intent, System.Action<INAddTasksTemporalEventTriggerResolutionResult> completionHandler); public virtual void ResolveTemporalEventTrigger (INAddTasksIntent intent, System.Action<INTemporalEventTriggerResolutionResult> completion); ``` #### Type Changed: Intents.IINAnswerCallIntentHandling Modified methods: ```diff -public abstract void HandleAnswerCall (INAnswerCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INAnswerCallIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleAnswerCall (INAnswerCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INAnswerCallIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added method: ```csharp public virtual void ConfirmAnswerCall (INAnswerCallIntent intent, System.Action<INAnswerCallIntentResponse> completion); ``` #### Type Changed: Intents.IINAppendToNoteIntentHandling Modified methods: ```diff -public abstract void HandleAppendToNote (INAppendToNoteIntent intent, System.Action%LESSERTHANREPLACEMENT%INAppendToNoteIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleAppendToNote (INAppendToNoteIntent intent, System.Action%LESSERTHANREPLACEMENT%INAppendToNoteIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INAppendToNoteIntent intent, System.Action<INAppendToNoteIntentResponse> completion); public virtual void ResolveContentForAppend (INAppendToNoteIntent intent, System.Action<INNoteContentResolutionResult> completion); public virtual void ResolveTargetNoteForAppend (INAppendToNoteIntent intent, System.Action<INNoteResolutionResult> completion); ``` #### Type Changed: Intents.IINBookRestaurantReservationIntentHandling Modified methods: ```diff -public abstract void HandleBookRestaurantReservation (INBookRestaurantReservationIntent intent, System.Action%LESSERTHANREPLACEMENT%INBookRestaurantReservationIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleBookRestaurantReservation (INBookRestaurantReservationIntent intent, System.Action%LESSERTHANREPLACEMENT%INBookRestaurantReservationIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INBookRestaurantReservationIntent intent, System.Action<INBookRestaurantReservationIntentResponse> completion); public virtual void ResolveBookingDate (INBookRestaurantReservationIntent intent, System.Action<INDateComponentsResolutionResult> completion); public virtual void ResolveGuest (INBookRestaurantReservationIntent intent, System.Action<INRestaurantGuestResolutionResult> completion); public virtual void ResolveGuestProvidedSpecialRequest (INBookRestaurantReservationIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolvePartySize (INBookRestaurantReservationIntent intent, System.Action<INIntegerResolutionResult> completion); public virtual void ResolveRestaurant (INBookRestaurantReservationIntent intent, System.Action<INRestaurantResolutionResult> completion); ``` #### Type Changed: Intents.IINCancelRideIntentHandling Modified methods: ```diff -public abstract void HandleCancelRide (INCancelRideIntent intent, System.Action%LESSERTHANREPLACEMENT%INCancelRideIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleCancelRide (INCancelRideIntent intent, System.Action%LESSERTHANREPLACEMENT%INCancelRideIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added method: ```csharp public virtual void Confirm (INCancelRideIntent intent, System.Action<INCancelRideIntentResponse> completion); ``` #### Type Changed: Intents.IINCancelWorkoutIntentHandling Modified methods: ```diff -public abstract void HandleCancelWorkout (INCancelWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INCancelWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleCancelWorkout (INCancelWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INCancelWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INCancelWorkoutIntent intent, System.Action<INCancelWorkoutIntentResponse> completion); public virtual void ResolveWorkoutName (INCancelWorkoutIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINCreateNoteIntentHandling Modified methods: ```diff -public abstract void HandleCreateNote (INCreateNoteIntent intent, System.Action%LESSERTHANREPLACEMENT%INCreateNoteIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleCreateNote (INCreateNoteIntent intent, System.Action%LESSERTHANREPLACEMENT%INCreateNoteIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INCreateNoteIntent intent, System.Action<INCreateNoteIntentResponse> completion); public virtual void ResolveContent (INCreateNoteIntent intent, System.Action<INNoteContentResolutionResult> completion); public virtual void ResolveGroupName (INCreateNoteIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveTitle (INCreateNoteIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINCreateTaskListIntentHandling Modified methods: ```diff -public abstract void HandleCreateTaskList (INCreateTaskListIntent intent, System.Action%LESSERTHANREPLACEMENT%INCreateTaskListIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleCreateTaskList (INCreateTaskListIntent intent, System.Action%LESSERTHANREPLACEMENT%INCreateTaskListIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INCreateTaskListIntent intent, System.Action<INCreateTaskListIntentResponse> completion); public virtual void ResolveGroupName (INCreateTaskListIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveTaskTitles (INCreateTaskListIntent intent, System.Action<INSpeakableStringResolutionResult[]> completion); public virtual void ResolveTitle (INCreateTaskListIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINDeleteTasksIntentHandling Modified methods: ```diff -public abstract void HandleDeleteTasks (INDeleteTasksIntent intent, System.Action%LESSERTHANREPLACEMENT%INDeleteTasksIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleDeleteTasks (INDeleteTasksIntent intent, System.Action%LESSERTHANREPLACEMENT%INDeleteTasksIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INDeleteTasksIntent intent, System.Action<INDeleteTasksIntentResponse> completion); public virtual void ResolveTaskList (INDeleteTasksIntent intent, System.Action<INDeleteTasksTaskListResolutionResult> completion); public virtual void ResolveTasks (INDeleteTasksIntent intent, System.Action<INDeleteTasksTaskResolutionResult[]> completion); ``` #### Type Changed: Intents.IINEditMessageIntentHandling Modified methods: ```diff -public abstract void HandleEditMessage (INEditMessageIntent intent, System.Action%LESSERTHANREPLACEMENT%INEditMessageIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleEditMessage (INEditMessageIntent intent, System.Action%LESSERTHANREPLACEMENT%INEditMessageIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void ConfirmEditMessage (INEditMessageIntent intent, System.Action<INEditMessageIntentResponse> completion); public virtual void ResolveEditedContent (INEditMessageIntent intent, System.Action<INStringResolutionResult> completion); ``` #### Type Changed: Intents.IINEndWorkoutIntentHandling Modified methods: ```diff -public abstract void HandleEndWorkout (INEndWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INEndWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleEndWorkout (INEndWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INEndWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INEndWorkoutIntent intent, System.Action<INEndWorkoutIntentResponse> completion); public virtual void ResolveWorkoutName (INEndWorkoutIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINGetAvailableRestaurantReservationBookingDefaultsIntentHandling Modified methods: ```diff -public abstract void HandleAvailableRestaurantReservationBookingDefaults (INGetAvailableRestaurantReservationBookingDefaultsIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetAvailableRestaurantReservationBookingDefaultsIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleAvailableRestaurantReservationBookingDefaults (INGetAvailableRestaurantReservationBookingDefaultsIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetAvailableRestaurantReservationBookingDefaultsIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INGetAvailableRestaurantReservationBookingDefaultsIntent intent, System.Action<INGetAvailableRestaurantReservationBookingDefaultsIntentResponse> completion); public virtual void ResolveAvailableRestaurantReservationBookingDefaults (INGetAvailableRestaurantReservationBookingDefaultsIntent intent, System.Action<INRestaurantResolutionResult> completion); ``` #### Type Changed: Intents.IINGetAvailableRestaurantReservationBookingsIntentHandling Modified methods: ```diff -public abstract void HandleAvailableRestaurantReservationBookings (INGetAvailableRestaurantReservationBookingsIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetAvailableRestaurantReservationBookingsIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleAvailableRestaurantReservationBookings (INGetAvailableRestaurantReservationBookingsIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetAvailableRestaurantReservationBookingsIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INGetAvailableRestaurantReservationBookingsIntent intent, System.Action<INGetAvailableRestaurantReservationBookingsIntentResponse> completion); public virtual void ResolveAvailableRestaurantReservationBookings (INGetAvailableRestaurantReservationBookingsIntent intent, System.Action<INRestaurantResolutionResult> completion); public virtual void ResolvePartySizeAvailableRestaurantReservationBookings (INGetAvailableRestaurantReservationBookingsIntent intent, System.Action<INIntegerResolutionResult> completion); public virtual void ResolvePreferredBookingDateAvailableRestaurantReservationBookings (INGetAvailableRestaurantReservationBookingsIntent intent, System.Action<INDateComponentsResolutionResult> completion); ``` #### Type Changed: Intents.IINGetCarLockStatusIntentHandling Modified methods: ```diff -public abstract void HandleGetCarLockStatus (INGetCarLockStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetCarLockStatusIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleGetCarLockStatus (INGetCarLockStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetCarLockStatusIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INGetCarLockStatusIntent intent, System.Action<INGetCarLockStatusIntentResponse> completion); public virtual void ResolveCarName (INGetCarLockStatusIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINGetCarPowerLevelStatusIntentHandling Modified methods: ```diff -public abstract void HandleGetCarPowerLevelStatus (INGetCarPowerLevelStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetCarPowerLevelStatusIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleGetCarPowerLevelStatus (INGetCarPowerLevelStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetCarPowerLevelStatusIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INGetCarPowerLevelStatusIntent intent, System.Action<INGetCarPowerLevelStatusIntentResponse> completion); public virtual void ResolveCarName (INGetCarPowerLevelStatusIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void StartSendingUpdates (INGetCarPowerLevelStatusIntent intent, IINGetCarPowerLevelStatusIntentResponseObserver observer); public virtual void StopSendingUpdates (INGetCarPowerLevelStatusIntent intent); ``` #### Type Changed: Intents.IINGetCarPowerLevelStatusIntentResponseObserver Modified methods: ```diff -public abstract void DidUpdate (INGetCarPowerLevelStatusIntentResponse response) +public virtual void DidUpdate (INGetCarPowerLevelStatusIntentResponse response) ``` #### Type Changed: Intents.IINGetRestaurantGuestIntentHandling Modified methods: ```diff -public abstract void HandleRestaurantGuest (INGetRestaurantGuestIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetRestaurantGuestIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleRestaurantGuest (INGetRestaurantGuestIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetRestaurantGuestIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added method: ```csharp public virtual void Confirm (INGetRestaurantGuestIntent guestIntent, System.Action<INGetRestaurantGuestIntentResponse> completion); ``` #### Type Changed: Intents.IINGetRideStatusIntentHandling Modified methods: ```diff -public abstract void HandleRideStatus (INGetRideStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetRideStatusIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleRideStatus (INGetRideStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetRideStatusIntentResponse%GREATERTHANREPLACEMENT% completion) -public abstract void StartSendingUpdates (INGetRideStatusIntent intent, IINGetRideStatusIntentResponseObserver observer) +public virtual void StartSendingUpdates (INGetRideStatusIntent intent, IINGetRideStatusIntentResponseObserver observer) -public abstract void StopSendingUpdates (INGetRideStatusIntent intent) +public virtual void StopSendingUpdates (INGetRideStatusIntent intent) ``` Added method: ```csharp public virtual void Confirm (INGetRideStatusIntent intent, System.Action<INGetRideStatusIntentResponse> completion); ``` #### Type Changed: Intents.IINGetRideStatusIntentResponseObserver Modified methods: ```diff -public abstract void DidUpdateRideStatus (INGetRideStatusIntentResponse response) +public virtual void DidUpdateRideStatus (INGetRideStatusIntentResponse response) ``` #### Type Changed: Intents.IINGetUserCurrentRestaurantReservationBookingsIntentHandling Modified methods: ```diff -public abstract void HandleUserCurrentRestaurantReservationBookings (INGetUserCurrentRestaurantReservationBookingsIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetUserCurrentRestaurantReservationBookingsIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleUserCurrentRestaurantReservationBookings (INGetUserCurrentRestaurantReservationBookingsIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetUserCurrentRestaurantReservationBookingsIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INGetUserCurrentRestaurantReservationBookingsIntent intent, System.Action<INGetUserCurrentRestaurantReservationBookingsIntentResponse> completion); public virtual void ResolveUserCurrentRestaurantReservationBookings (INGetUserCurrentRestaurantReservationBookingsIntent intent, System.Action<INRestaurantResolutionResult> completion); ``` #### Type Changed: Intents.IINGetVisualCodeIntentHandling Modified methods: ```diff -public abstract void HandleGetVisualCode (INGetVisualCodeIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetVisualCodeIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleGetVisualCode (INGetVisualCodeIntent intent, System.Action%LESSERTHANREPLACEMENT%INGetVisualCodeIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INGetVisualCodeIntent intent, System.Action<INGetVisualCodeIntentResponse> completion); public virtual void ResolveVisualCodeType (INGetVisualCodeIntent intent, System.Action<INVisualCodeTypeResolutionResult> completion); ``` #### Type Changed: Intents.IINHangUpCallIntentHandling Modified methods: ```diff -public abstract void HandleHangUpCall (INHangUpCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INHangUpCallIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleHangUpCall (INHangUpCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INHangUpCallIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added method: ```csharp public virtual void ConfirmHangUpCall (INHangUpCallIntent intent, System.Action<INHangUpCallIntentResponse> completion); ``` #### Type Changed: Intents.IINIntentHandlerProviding Modified methods: ```diff -public abstract Foundation.NSObject GetHandler (INIntent intent) +public virtual Foundation.NSObject GetHandler (INIntent intent) ``` #### Type Changed: Intents.IINListCarsIntentHandling Modified methods: ```diff -public abstract void HandleListCars (INListCarsIntent intent, System.Action%LESSERTHANREPLACEMENT%INListCarsIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleListCars (INListCarsIntent intent, System.Action%LESSERTHANREPLACEMENT%INListCarsIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added method: ```csharp public virtual void ConfirmListCars (INListCarsIntent intent, System.Action<INListCarsIntentResponse> completion); ``` #### Type Changed: Intents.IINListRideOptionsIntentHandling Modified methods: ```diff -public abstract void HandleListRideOptions (INListRideOptionsIntent intent, System.Action%LESSERTHANREPLACEMENT%INListRideOptionsIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleListRideOptions (INListRideOptionsIntent intent, System.Action%LESSERTHANREPLACEMENT%INListRideOptionsIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INListRideOptionsIntent intent, System.Action<INListRideOptionsIntentResponse> completion); public virtual void ResolveDropOffLocation (INListRideOptionsIntent intent, System.Action<INPlacemarkResolutionResult> completion); public virtual void ResolvePickupLocation (INListRideOptionsIntent intent, System.Action<INPlacemarkResolutionResult> completion); ``` #### Type Changed: Intents.IINPauseWorkoutIntentHandling Modified methods: ```diff -public abstract void HandlePauseWorkout (INPauseWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INPauseWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandlePauseWorkout (INPauseWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INPauseWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INPauseWorkoutIntent intent, System.Action<INPauseWorkoutIntentResponse> completion); public virtual void ResolveWorkoutName (INPauseWorkoutIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINPayBillIntentHandling Modified methods: ```diff -public abstract void HandlePayBill (INPayBillIntent intent, System.Action%LESSERTHANREPLACEMENT%INPayBillIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandlePayBill (INPayBillIntent intent, System.Action%LESSERTHANREPLACEMENT%INPayBillIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INPayBillIntent intent, System.Action<INPayBillIntentResponse> completion); public virtual void ResolveBillPayee (INPayBillIntent intent, System.Action<INBillPayeeResolutionResult> completion); public virtual void ResolveBillType (INPayBillIntent intent, System.Action<INBillTypeResolutionResult> completion); public virtual void ResolveDueDate (INPayBillIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolveFromAccount (INPayBillIntent intent, System.Action<INPaymentAccountResolutionResult> completion); public virtual void ResolveTransactionAmount (INPayBillIntent intent, System.Action<INPaymentAmountResolutionResult> completion); public virtual void ResolveTransactionNote (INPayBillIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveTransactionScheduledDate (INPayBillIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); ``` #### Type Changed: Intents.IINPlayMediaIntentHandling Modified methods: ```diff -public abstract void HandlePlayMedia (INPlayMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INPlayMediaIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandlePlayMedia (INPlayMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INPlayMediaIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INPlayMediaIntent intent, System.Action<INPlayMediaIntentResponse> completion); public virtual void ResolveMediaItems (INPlayMediaIntent intent, System.Action<Foundation.NSArray<INPlayMediaMediaItemResolutionResult>> completion); public virtual void ResolvePlayShuffled (INPlayMediaIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolvePlaybackQueueLocation (INPlayMediaIntent intent, System.Action<INPlaybackQueueLocationResolutionResult> completion); public virtual void ResolvePlaybackRepeatMode (INPlayMediaIntent intent, System.Action<INPlaybackRepeatModeResolutionResult> completion); public virtual void ResolvePlaybackSpeed (INPlayMediaIntent intent, System.Action<INPlayMediaPlaybackSpeedResolutionResult> completion); public virtual void ResolveResumePlayback (INPlayMediaIntent intent, System.Action<INBooleanResolutionResult> completion); ``` #### Type Changed: Intents.IINRequestPaymentIntentHandling Modified methods: ```diff -public abstract void HandleRequestPayment (INRequestPaymentIntent intent, System.Action%LESSERTHANREPLACEMENT%INRequestPaymentIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleRequestPayment (INRequestPaymentIntent intent, System.Action%LESSERTHANREPLACEMENT%INRequestPaymentIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INRequestPaymentIntent intent, System.Action<INRequestPaymentIntentResponse> completion); public virtual void ResolveCurrencyAmount (INRequestPaymentIntent intent, System.Action<INCurrencyAmountResolutionResult> completion); public virtual void ResolveCurrencyAmount (INRequestPaymentIntent intent, System.Action<INRequestPaymentCurrencyAmountResolutionResult> completion); public virtual void ResolveNote (INRequestPaymentIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolvePayer (INRequestPaymentIntent intent, System.Action<INPersonResolutionResult> completion); public virtual void ResolvePayer (INRequestPaymentIntent intent, System.Action<INRequestPaymentPayerResolutionResult> completion); ``` #### Type Changed: Intents.IINRequestRideIntentHandling Modified methods: ```diff -public abstract void HandleRequestRide (INRequestRideIntent intent, System.Action%LESSERTHANREPLACEMENT%INRequestRideIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleRequestRide (INRequestRideIntent intent, System.Action%LESSERTHANREPLACEMENT%INRequestRideIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INRequestRideIntent intent, System.Action<INRequestRideIntentResponse> completion); public virtual void ResolveDropOffLocation (INRequestRideIntent intent, System.Action<INPlacemarkResolutionResult> completion); public virtual void ResolvePartySize (INRequestRideIntent intent, System.Action<INIntegerResolutionResult> completion); public virtual void ResolvePickupLocation (INRequestRideIntent intent, System.Action<INPlacemarkResolutionResult> completion); public virtual void ResolveRideOptionName (INRequestRideIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveScheduledPickupTime (INRequestRideIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); ``` #### Type Changed: Intents.IINResumeWorkoutIntentHandling Modified methods: ```diff -public abstract void HandleResumeWorkout (INResumeWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INResumeWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleResumeWorkout (INResumeWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INResumeWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INResumeWorkoutIntent intent, System.Action<INResumeWorkoutIntentResponse> completion); public virtual void ResolveWorkoutName (INResumeWorkoutIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINSaveProfileInCarIntentHandling Modified methods: ```diff -public abstract void HandleSaveProfileInCar (INSaveProfileInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSaveProfileInCarIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSaveProfileInCar (INSaveProfileInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSaveProfileInCarIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSaveProfileInCarIntent intent, System.Action<INSaveProfileInCarIntentResponse> completion); public virtual void ResolveProfileName (INSaveProfileInCarIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveProfileNumber (INSaveProfileInCarIntent intent, System.Action<INIntegerResolutionResult> completion); ``` #### Type Changed: Intents.IINSearchCallHistoryIntentHandling Modified methods: ```diff -public abstract void HandleSearchCallHistory (INSearchCallHistoryIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchCallHistoryIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSearchCallHistory (INSearchCallHistoryIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchCallHistoryIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSearchCallHistoryIntent intent, System.Action<INSearchCallHistoryIntentResponse> completion); public virtual void ResolveCallType (INSearchCallHistoryIntent intent, System.Action<INCallRecordTypeResolutionResult> completion); public virtual void ResolveCallTypes (INSearchCallHistoryIntent intent, System.Action<INCallRecordTypeOptionsResolutionResult> completion); public virtual void ResolveDateCreated (INSearchCallHistoryIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolveRecipient (INSearchCallHistoryIntent intent, System.Action<INPersonResolutionResult> completion); public virtual void ResolveUnseen (INSearchCallHistoryIntent intent, System.Action<INBooleanResolutionResult> completion); ``` #### Type Changed: Intents.IINSearchForAccountsIntentHandling Modified methods: ```diff -public abstract void HandleSearchForAccounts (INSearchForAccountsIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForAccountsIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSearchForAccounts (INSearchForAccountsIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForAccountsIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSearchForAccountsIntent intent, System.Action<INSearchForAccountsIntentResponse> completion); public virtual void ResolveAccountNickname (INSearchForAccountsIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveAccountType (INSearchForAccountsIntent intent, System.Action<INAccountTypeResolutionResult> completion); public virtual void ResolveOrganizationName (INSearchForAccountsIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveRequestedBalanceType (INSearchForAccountsIntent intent, System.Action<INBalanceTypeResolutionResult> completion); ``` #### Type Changed: Intents.IINSearchForBillsIntentHandling Modified methods: ```diff -public abstract void HandleSearch (INSearchForBillsIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForBillsIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSearch (INSearchForBillsIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForBillsIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSearchForBillsIntent intent, System.Action<INSearchForBillsIntentResponse> completion); public virtual void ResolveBillPayee (INSearchForBillsIntent intent, System.Action<INBillPayeeResolutionResult> completion); public virtual void ResolveBillType (INSearchForBillsIntent intent, System.Action<INBillTypeResolutionResult> completion); public virtual void ResolveDueDateRange (INSearchForBillsIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolvePaymentDateRange (INSearchForBillsIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolveStatus (INSearchForBillsIntent intent, System.Action<INPaymentStatusResolutionResult> completion); ``` #### Type Changed: Intents.IINSearchForMediaIntentHandling Modified methods: ```diff -public abstract void HandleSearch (INSearchForMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForMediaIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSearch (INSearchForMediaIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForMediaIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSearchForMediaIntent intent, System.Action<INSearchForMediaIntentResponse> completion); public virtual void ResolveMediaItems (INSearchForMediaIntent intent, System.Action<INSearchForMediaMediaItemResolutionResult[]> completion); ``` #### Type Changed: Intents.IINSearchForMessagesIntentHandling Modified methods: ```diff -public abstract void HandleSearchForMessages (INSearchForMessagesIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForMessagesIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSearchForMessages (INSearchForMessagesIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForMessagesIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSearchForMessagesIntent intent, System.Action<INSearchForMessagesIntentResponse> completion); public virtual void ResolveAttributes (INSearchForMessagesIntent intent, System.Action<INMessageAttributeOptionsResolutionResult> completion); public virtual void ResolveDateTimeRange (INSearchForMessagesIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolveGroupNames (INSearchForMessagesIntent intent, System.Action<INStringResolutionResult[]> completion); public virtual void ResolveRecipients (INSearchForMessagesIntent intent, System.Action<INPersonResolutionResult[]> completion); public virtual void ResolveSenders (INSearchForMessagesIntent intent, System.Action<INPersonResolutionResult[]> completion); public virtual void ResolveSpeakableGroupNames (INSearchForMessagesIntent intent, System.Action<INSpeakableStringResolutionResult[]> completion); ``` #### Type Changed: Intents.IINSearchForNotebookItemsIntentHandling Modified methods: ```diff -public abstract void HandleSearchForNotebookItems (INSearchForNotebookItemsIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForNotebookItemsIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSearchForNotebookItems (INSearchForNotebookItemsIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForNotebookItemsIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSearchForNotebookItemsIntent intent, System.Action<INSearchForNotebookItemsIntentResponse> completion); public virtual void ResolveContent (INSearchForNotebookItemsIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveDateSearchType (INSearchForNotebookItemsIntent intent, System.Action<INDateSearchTypeResolutionResult> completion); public virtual void ResolveDateTime (INSearchForNotebookItemsIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolveItemType (INSearchForNotebookItemsIntent intent, System.Action<INNotebookItemTypeResolutionResult> completion); public virtual void ResolveLocation (INSearchForNotebookItemsIntent intent, System.Action<INPlacemarkResolutionResult> completion); public virtual void ResolveLocationSearchType (INSearchForNotebookItemsIntent intent, System.Action<INLocationSearchTypeResolutionResult> completion); public virtual void ResolveStatus (INSearchForNotebookItemsIntent intent, System.Action<INTaskStatusResolutionResult> completion); public virtual void ResolveTaskPriority (INSearchForNotebookItemsIntent intent, System.Action<INTaskPriorityResolutionResult> completion); public virtual void ResolveTemporalEventTriggerTypes (INSearchForNotebookItemsIntent intent, System.Action<INTemporalEventTriggerTypeOptionsResolutionResult> completion); public virtual void ResolveTitle (INSearchForNotebookItemsIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINSearchForPhotosIntentHandling Modified methods: ```diff -public abstract void HandleSearchForPhotos (INSearchForPhotosIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForPhotosIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSearchForPhotos (INSearchForPhotosIntent intent, System.Action%LESSERTHANREPLACEMENT%INSearchForPhotosIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSearchForPhotosIntent intent, System.Action<INSearchForPhotosIntentResponse> completion); public virtual void ResolveAlbumName (INSearchForPhotosIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveDateCreated (INSearchForPhotosIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolveLocationCreated (INSearchForPhotosIntent intent, System.Action<INPlacemarkResolutionResult> completion); public virtual void ResolvePeopleInPhoto (INSearchForPhotosIntent intent, System.Action<INPersonResolutionResult[]> completion); public virtual void ResolveSearchTerms (INSearchForPhotosIntent intent, System.Action<INStringResolutionResult[]> completion); ``` #### Type Changed: Intents.IINSendMessageIntentHandling Modified methods: ```diff -public abstract void HandleSendMessage (INSendMessageIntent intent, System.Action%LESSERTHANREPLACEMENT%INSendMessageIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSendMessage (INSendMessageIntent intent, System.Action%LESSERTHANREPLACEMENT%INSendMessageIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSendMessageIntent intent, System.Action<INSendMessageIntentResponse> completion); public virtual void ResolveContent (INSendMessageIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveGroupName (INSendMessageIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveOutgoingMessageType (INSendMessageIntent intent, System.Action<INOutgoingMessageTypeResolutionResult> completion); public virtual void ResolveRecipients (INSendMessageIntent intent, System.Action<INPersonResolutionResult[]> completion); public virtual void ResolveRecipients (INSendMessageIntent intent, System.Action<INSendMessageRecipientResolutionResult[]> completion); public virtual void ResolveSpeakableGroupName (INSendMessageIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINSendPaymentIntentHandling Modified methods: ```diff -public abstract void HandleSendPayment (INSendPaymentIntent intent, System.Action%LESSERTHANREPLACEMENT%INSendPaymentIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSendPayment (INSendPaymentIntent intent, System.Action%LESSERTHANREPLACEMENT%INSendPaymentIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSendPaymentIntent intent, System.Action<INSendPaymentIntentResponse> completion); public virtual void ResolveCurrencyAmount (INSendPaymentIntent intent, System.Action<INCurrencyAmountResolutionResult> completion); public virtual void ResolveCurrencyAmount (INSendPaymentIntent intent, System.Action<INSendPaymentCurrencyAmountResolutionResult> completion); public virtual void ResolveNote (INSendPaymentIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolvePayee (INSendPaymentIntent intent, System.Action<INPersonResolutionResult> completion); public virtual void ResolvePayee (INSendPaymentIntent intent, System.Action<INSendPaymentPayeeResolutionResult> completion); ``` #### Type Changed: Intents.IINSendRideFeedbackIntentHandling Modified methods: ```diff -public abstract void HandleSendRideFeedback (INSendRideFeedbackIntent sendRideFeedbackintent, System.Action%LESSERTHANREPLACEMENT%INSendRideFeedbackIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSendRideFeedback (INSendRideFeedbackIntent sendRideFeedbackintent, System.Action%LESSERTHANREPLACEMENT%INSendRideFeedbackIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added method: ```csharp public virtual void Confirm (INSendRideFeedbackIntent sendRideFeedbackIntent, System.Action<INSendRideFeedbackIntentResponse> completion); ``` #### Type Changed: Intents.IINSetAudioSourceInCarIntentHandling Modified methods: ```diff -public abstract void HandleSetAudioSourceInCar (INSetAudioSourceInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetAudioSourceInCarIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetAudioSourceInCar (INSetAudioSourceInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetAudioSourceInCarIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetAudioSourceInCarIntent intent, System.Action<INSetAudioSourceInCarIntentResponse> completion); public virtual void ResolveAudioSource (INSetAudioSourceInCarIntent intent, System.Action<INCarAudioSourceResolutionResult> completion); public virtual void ResolveRelativeAudioSourceReference (INSetAudioSourceInCarIntent intent, System.Action<INRelativeReferenceResolutionResult> completion); ``` #### Type Changed: Intents.IINSetCarLockStatusIntentHandling Modified methods: ```diff -public abstract void HandleSetCarLockStatus (INSetCarLockStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetCarLockStatusIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetCarLockStatus (INSetCarLockStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetCarLockStatusIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetCarLockStatusIntent intent, System.Action<INSetCarLockStatusIntentResponse> completion); public virtual void ResolveCarName (INSetCarLockStatusIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveLocked (INSetCarLockStatusIntent intent, System.Action<INBooleanResolutionResult> completion); ``` #### Type Changed: Intents.IINSetClimateSettingsInCarIntentHandling Modified methods: ```diff -public abstract void HandleSetClimateSettingsInCar (INSetClimateSettingsInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetClimateSettingsInCarIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetClimateSettingsInCar (INSetClimateSettingsInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetClimateSettingsInCarIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetClimateSettingsInCarIntent intent, System.Action<INSetClimateSettingsInCarIntentResponse> completion); public virtual void ResolveAirCirculationMode (INSetClimateSettingsInCarIntent intent, System.Action<INCarAirCirculationModeResolutionResult> completion); public virtual void ResolveCarName (INSetClimateSettingsInCarIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveClimateZone (INSetClimateSettingsInCarIntent intent, System.Action<INCarSeatResolutionResult> completion); public virtual void ResolveEnableAirConditioner (INSetClimateSettingsInCarIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveEnableAutoMode (INSetClimateSettingsInCarIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveEnableClimateControl (INSetClimateSettingsInCarIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveEnableFan (INSetClimateSettingsInCarIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveFanSpeedIndex (INSetClimateSettingsInCarIntent intent, System.Action<INIntegerResolutionResult> completion); public virtual void ResolveFanSpeedPercentage (INSetClimateSettingsInCarIntent intent, System.Action<INDoubleResolutionResult> completion); public virtual void ResolveRelativeFanSpeedSetting (INSetClimateSettingsInCarIntent intent, System.Action<INRelativeSettingResolutionResult> completion); public virtual void ResolveRelativeTemperatureSetting (INSetClimateSettingsInCarIntent intent, System.Action<INRelativeSettingResolutionResult> completion); public virtual void ResolveTemperature (INSetClimateSettingsInCarIntent intent, System.Action<INTemperatureResolutionResult> completion); ``` #### Type Changed: Intents.IINSetDefrosterSettingsInCarIntentHandling Modified methods: ```diff -public abstract void HandleSetDefrosterSettingsInCar (INSetDefrosterSettingsInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetDefrosterSettingsInCarIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetDefrosterSettingsInCar (INSetDefrosterSettingsInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetDefrosterSettingsInCarIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetDefrosterSettingsInCarIntent intent, System.Action<INSetDefrosterSettingsInCarIntentResponse> completion); public virtual void ResolveCarName (INSetDefrosterSettingsInCarIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveDefroster (INSetDefrosterSettingsInCarIntent intent, System.Action<INCarDefrosterResolutionResult> completion); public virtual void ResolveEnable (INSetDefrosterSettingsInCarIntent intent, System.Action<INBooleanResolutionResult> completion); ``` #### Type Changed: Intents.IINSetMessageAttributeIntentHandling Modified methods: ```diff -public abstract void HandleSetMessageAttribute (INSetMessageAttributeIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetMessageAttributeIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetMessageAttribute (INSetMessageAttributeIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetMessageAttributeIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetMessageAttributeIntent intent, System.Action<INSetMessageAttributeIntentResponse> completion); public virtual void ResolveAttribute (INSetMessageAttributeIntent intent, System.Action<INMessageAttributeResolutionResult> completion); ``` #### Type Changed: Intents.IINSetProfileInCarIntentHandling Modified methods: ```diff -public abstract void HandleSetProfileInCar (INSetProfileInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetProfileInCarIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetProfileInCar (INSetProfileInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetProfileInCarIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetProfileInCarIntent intent, System.Action<INSetProfileInCarIntentResponse> completion); public virtual void ResolveCarName (INSetProfileInCarIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveDefaultProfile (INSetProfileInCarIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveProfileName (INSetProfileInCarIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveProfileNumber (INSetProfileInCarIntent intent, System.Action<INIntegerResolutionResult> completion); ``` #### Type Changed: Intents.IINSetRadioStationIntentHandling Modified methods: ```diff -public abstract void HandleSetRadioStation (INSetRadioStationIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetRadioStationIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetRadioStation (INSetRadioStationIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetRadioStationIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetRadioStationIntent intent, System.Action<INSetRadioStationIntentResponse> completion); public virtual void ResolveChannel (INSetRadioStationIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveFrequency (INSetRadioStationIntent intent, System.Action<INDoubleResolutionResult> completion); public virtual void ResolvePresetNumber (INSetRadioStationIntent intent, System.Action<INIntegerResolutionResult> completion); public virtual void ResolveRadioType (INSetRadioStationIntent intent, System.Action<INRadioTypeResolutionResult> completion); public virtual void ResolveStationName (INSetRadioStationIntent intent, System.Action<INStringResolutionResult> completion); ``` #### Type Changed: Intents.IINSetSeatSettingsInCarIntentHandling Modified methods: ```diff -public abstract void HandleSetSeatSettingsInCar (INSetSeatSettingsInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetSeatSettingsInCarIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetSeatSettingsInCar (INSetSeatSettingsInCarIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetSeatSettingsInCarIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetSeatSettingsInCarIntent intent, System.Action<INSetSeatSettingsInCarIntentResponse> completion); public virtual void ResolveCarName (INSetSeatSettingsInCarIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveEnableCooling (INSetSeatSettingsInCarIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveEnableHeating (INSetSeatSettingsInCarIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveEnableMassage (INSetSeatSettingsInCarIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveLevel (INSetSeatSettingsInCarIntent intent, System.Action<INIntegerResolutionResult> completion); public virtual void ResolveRelativeLevelSetting (INSetSeatSettingsInCarIntent intent, System.Action<INRelativeSettingResolutionResult> completion); public virtual void ResolveSeat (INSetSeatSettingsInCarIntent intent, System.Action<INCarSeatResolutionResult> completion); ``` #### Type Changed: Intents.IINSetTaskAttributeIntentHandling Modified methods: ```diff -public abstract void HandleSetTaskAttribute (INSetTaskAttributeIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetTaskAttributeIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSetTaskAttribute (INSetTaskAttributeIntent intent, System.Action%LESSERTHANREPLACEMENT%INSetTaskAttributeIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSetTaskAttributeIntent intent, System.Action<INSetTaskAttributeIntentResponse> completion); public virtual void ResolvePriority (INSetTaskAttributeIntent intent, System.Action<INTaskPriorityResolutionResult> completion); public virtual void ResolveSpatialEventTrigger (INSetTaskAttributeIntent intent, System.Action<INSpatialEventTriggerResolutionResult> completion); public virtual void ResolveStatus (INSetTaskAttributeIntent intent, System.Action<INTaskStatusResolutionResult> completion); public virtual void ResolveTargetTask (INSetTaskAttributeIntent intent, System.Action<INTaskResolutionResult> completion); public virtual void ResolveTaskTitle (INSetTaskAttributeIntent intent, System.Action<INSpeakableStringResolutionResult> completion); public virtual void ResolveTemporalEventTrigger (INSetTaskAttributeIntent intent, System.Action<INSetTaskAttributeTemporalEventTriggerResolutionResult> completionHandler); public virtual void ResolveTemporalEventTrigger (INSetTaskAttributeIntent intent, System.Action<INTemporalEventTriggerResolutionResult> completion); ``` #### Type Changed: Intents.IINShareFocusStatusIntentHandling Modified methods: ```diff -public abstract void HandleShareFocusStatus (INShareFocusStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INShareFocusStatusIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleShareFocusStatus (INShareFocusStatusIntent intent, System.Action%LESSERTHANREPLACEMENT%INShareFocusStatusIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added method: ```csharp public virtual void ConfirmShareFocusStatus (INShareFocusStatusIntent intent, System.Action<INShareFocusStatusIntentResponse> completion); ``` #### Type Changed: Intents.IINSnoozeTasksIntentHandling Modified methods: ```diff -public abstract void HandleSnoozeTasks (INSnoozeTasksIntent intent, System.Action%LESSERTHANREPLACEMENT%INSnoozeTasksIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleSnoozeTasks (INSnoozeTasksIntent intent, System.Action%LESSERTHANREPLACEMENT%INSnoozeTasksIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INSnoozeTasksIntent intent, System.Action<INSnoozeTasksIntentResponse> completion); public virtual void ResolveNextTriggerTime (INSnoozeTasksIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolveTasks (INSnoozeTasksIntent intent, System.Action<INSnoozeTasksTaskResolutionResult[]> completion); ``` #### Type Changed: Intents.IINSpeakable Modified properties: ```diff -public abstract IINSpeakable[] AlternativeSpeakableMatches { get; } +public virtual IINSpeakable[] AlternativeSpeakableMatches { get; } -public abstract string PronunciationHint { get; } +public virtual string PronunciationHint { get; } -public abstract string SpokenPhrase { get; } +public virtual string SpokenPhrase { get; } -public abstract string VocabularyIdentifier { get; } +public virtual string VocabularyIdentifier { get; } ``` Added property: ```csharp public virtual string Identifier { get; } ``` #### Type Changed: Intents.IINStartAudioCallIntentHandling Modified methods: ```diff -public abstract void HandleStartAudioCall (INStartAudioCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartAudioCallIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleStartAudioCall (INStartAudioCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartAudioCallIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INStartAudioCallIntent intent, System.Action<INStartAudioCallIntentResponse> completion); public virtual void ResolveContacts (INStartAudioCallIntent intent, System.Action<INPersonResolutionResult[]> completion); public virtual void ResolveDestinationType (INStartAudioCallIntent intent, System.Action<INCallDestinationTypeResolutionResult> completion); ``` #### Type Changed: Intents.IINStartCallIntentHandling Modified methods: ```diff -public abstract void HandleStartCall (INStartCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartCallIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleStartCall (INStartCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartCallIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INStartCallIntent intent, System.Action<INStartCallIntentResponse> completion); public virtual void ResolveCallCapability (INStartCallIntent intent, System.Action<INStartCallCallCapabilityResolutionResult> completion); public virtual void ResolveCallRecordToCallBack (INStartCallIntent intent, System.Action<INCallRecordResolutionResult> completion); public virtual void ResolveContacts (INStartCallIntent intent, System.Action<Foundation.NSArray<INStartCallContactResolutionResult>> completion); public virtual void ResolveDestinationType (INStartCallIntent intent, System.Action<INCallDestinationTypeResolutionResult> completion); ``` #### Type Changed: Intents.IINStartPhotoPlaybackIntentHandling Modified methods: ```diff -public abstract void HandleStartPhotoPlayback (INStartPhotoPlaybackIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartPhotoPlaybackIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleStartPhotoPlayback (INStartPhotoPlaybackIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartPhotoPlaybackIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INStartPhotoPlaybackIntent intent, System.Action<INStartPhotoPlaybackIntentResponse> completion); public virtual void ResolveAlbumName (INStartPhotoPlaybackIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveDateCreated (INStartPhotoPlaybackIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); public virtual void ResolveLocationCreated (INStartPhotoPlaybackIntent intent, System.Action<INPlacemarkResolutionResult> completion); public virtual void ResolvePeopleInPhoto (INStartPhotoPlaybackIntent intent, System.Action<INPersonResolutionResult[]> completion); ``` #### Type Changed: Intents.IINStartVideoCallIntentHandling Modified methods: ```diff -public abstract void HandleStartVideoCall (INStartVideoCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartVideoCallIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleStartVideoCall (INStartVideoCallIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartVideoCallIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INStartVideoCallIntent intent, System.Action<INStartVideoCallIntentResponse> completion); public virtual void ResolveContacts (INStartVideoCallIntent intent, System.Action<INPersonResolutionResult[]> completion); ``` #### Type Changed: Intents.IINStartWorkoutIntentHandling Modified methods: ```diff -public abstract void HandleStartWorkout (INStartWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleStartWorkout (INStartWorkoutIntent intent, System.Action%LESSERTHANREPLACEMENT%INStartWorkoutIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INStartWorkoutIntent intent, System.Action<INStartWorkoutIntentResponse> completion); public virtual void ResolveGoalValue (INStartWorkoutIntent intent, System.Action<INDoubleResolutionResult> completion); public virtual void ResolveIsOpenEnded (INStartWorkoutIntent intent, System.Action<INBooleanResolutionResult> completion); public virtual void ResolveWorkoutGoalUnitType (INStartWorkoutIntent intent, System.Action<INWorkoutGoalUnitTypeResolutionResult> completion); public virtual void ResolveWorkoutLocationType (INStartWorkoutIntent intent, System.Action<INWorkoutLocationTypeResolutionResult> completion); public virtual void ResolveWorkoutName (INStartWorkoutIntent intent, System.Action<INSpeakableStringResolutionResult> completion); ``` #### Type Changed: Intents.IINTransferMoneyIntentHandling Modified methods: ```diff -public abstract void HandleTransferMoney (INTransferMoneyIntent intent, System.Action%LESSERTHANREPLACEMENT%INTransferMoneyIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleTransferMoney (INTransferMoneyIntent intent, System.Action%LESSERTHANREPLACEMENT%INTransferMoneyIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INTransferMoneyIntent intent, System.Action<INTransferMoneyIntentResponse> completion); public virtual void ResolveFromAccount (INTransferMoneyIntent intent, System.Action<INPaymentAccountResolutionResult> completion); public virtual void ResolveToAccount (INTransferMoneyIntent intent, System.Action<INPaymentAccountResolutionResult> completion); public virtual void ResolveTransactionAmount (INTransferMoneyIntent intent, System.Action<INPaymentAmountResolutionResult> completion); public virtual void ResolveTransactionNote (INTransferMoneyIntent intent, System.Action<INStringResolutionResult> completion); public virtual void ResolveTransactionScheduledDate (INTransferMoneyIntent intent, System.Action<INDateComponentsRangeResolutionResult> completion); ``` #### Type Changed: Intents.IINUnsendMessagesIntentHandling Modified methods: ```diff -public abstract void HandleUnsendMessages (INUnsendMessagesIntent intent, System.Action%LESSERTHANREPLACEMENT%INUnsendMessagesIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleUnsendMessages (INUnsendMessagesIntent intent, System.Action%LESSERTHANREPLACEMENT%INUnsendMessagesIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added method: ```csharp public virtual void ConfirmUnsendMessages (INUnsendMessagesIntent intent, System.Action<INUnsendMessagesIntentResponse> completion); ``` #### Type Changed: Intents.IINUpdateMediaAffinityIntentHandling Modified methods: ```diff -public abstract void HandleUpdateMediaAffinity (INUpdateMediaAffinityIntent intent, System.Action%LESSERTHANREPLACEMENT%INUpdateMediaAffinityIntentResponse%GREATERTHANREPLACEMENT% completion) +public virtual void HandleUpdateMediaAffinity (INUpdateMediaAffinityIntent intent, System.Action%LESSERTHANREPLACEMENT%INUpdateMediaAffinityIntentResponse%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void Confirm (INUpdateMediaAffinityIntent intent, System.Action<INUpdateMediaAffinityIntentResponse> completion); public virtual void ResolveAffinityType (INUpdateMediaAffinityIntent intent, System.Action<INMediaAffinityTypeResolutionResult> completion); public virtual void ResolveMediaItems (INUpdateMediaAffinityIntent intent, System.Action<Foundation.NSArray<INUpdateMediaAffinityMediaItemResolutionResult>> completion); ``` #### Type Changed: Intents.INCarChargingConnectorType Added values: ```csharp NacsAC = 10, NacsDC = 9, ``` #### Type Changed: Intents.INMessage Added constructors: ```csharp public INMessage (string identifier, string conversationIdentifier, string content, Foundation.NSDate dateSent, INPerson sender, INPerson[] recipients, INSpeakableString groupName, string serviceName, INMessageType messageType, INMessage referencedMessage, INMessageReaction reaction); public INMessage (string identifier, string conversationIdentifier, string content, Foundation.NSDate dateSent, INPerson sender, INPerson[] recipients, INSpeakableString groupName, string serviceName, INMessageType messageType, INMessage referencedMessage, INSticker sticker, INMessageReaction reaction); ``` Added properties: ```csharp public virtual INMessageReaction Reaction { get; set; } public virtual INSticker Sticker { get; set; } ``` #### Type Changed: Intents.INMessageType Added values: ```csharp MediaAnimatedImage = 27, ThirdPartyAttachment = 28, ``` #### New Type: Intents.INMessageReaction ```csharp public class INMessageReaction : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public INMessageReaction (Foundation.NSCoder coder); protected INMessageReaction (Foundation.NSObjectFlag t); protected INMessageReaction (ObjCRuntime.NativeHandle handle); public INMessageReaction (INMessageReactionType reactionType, string reactionDescription, string emoji); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Emoji { get; } public virtual string ReactionDescription { get; } public virtual INMessageReactionType ReactionType { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: Intents.INMessageReactionType ```csharp [Serializable] public enum INMessageReactionType { Emoji = 1, Generic = 2, Unknown = 0, } ``` #### New Type: Intents.INSticker ```csharp public class INSticker : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public INSticker (Foundation.NSCoder coder); protected INSticker (Foundation.NSObjectFlag t); protected INSticker (ObjCRuntime.NativeHandle handle); public INSticker (INStickerType type, string emoji); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Emoji { get; } public virtual INStickerType Type { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: Intents.INStickerType ```csharp [Serializable] public enum INStickerType { Emoji = 1, Generic = 2, Unknown = 0, } ``` ### Namespace IntentsUI #### Type Changed: IntentsUI.IINUIAddVoiceShortcutButtonDelegate Modified methods: ```diff -public abstract void PresentAddVoiceShortcut (INUIAddVoiceShortcutViewController addVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton) +public virtual void PresentAddVoiceShortcut (INUIAddVoiceShortcutViewController addVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton) -public abstract void PresentEditVoiceShortcut (INUIEditVoiceShortcutViewController editVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton) +public virtual void PresentEditVoiceShortcut (INUIEditVoiceShortcutViewController editVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton) ``` #### Type Changed: IntentsUI.IINUIAddVoiceShortcutViewControllerDelegate Modified methods: ```diff -public abstract void DidCancel (INUIAddVoiceShortcutViewController controller) +public virtual void DidCancel (INUIAddVoiceShortcutViewController controller) -public abstract void DidFinish (INUIAddVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error) +public virtual void DidFinish (INUIAddVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error) ``` #### Type Changed: IntentsUI.IINUIEditVoiceShortcutViewControllerDelegate Modified methods: ```diff -public abstract void DidCancel (INUIEditVoiceShortcutViewController controller) +public virtual void DidCancel (INUIEditVoiceShortcutViewController controller) -public abstract void DidDelete (INUIEditVoiceShortcutViewController controller, Foundation.NSUuid deletedVoiceShortcutIdentifier) +public virtual void DidDelete (INUIEditVoiceShortcutViewController controller, Foundation.NSUuid deletedVoiceShortcutIdentifier) -public abstract void DidUpdate (INUIEditVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error) +public virtual void DidUpdate (INUIEditVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error) ``` #### Type Changed: IntentsUI.IINUIHostedViewControlling Added methods: ```csharp public virtual void Configure (Intents.INInteraction interaction, INUIHostedViewContext context, System.Action<CoreGraphics.CGSize> completion); public virtual void ConfigureView (Foundation.NSSet<Intents.INParameter> parameters, Intents.INInteraction interaction, INUIInteractiveBehavior interactiveBehavior, INUIHostedViewContext context, INUIHostedViewControllingConfigureViewHandler completionHandler); ``` #### Type Changed: IntentsUI.IINUIHostedViewSiriProviding Added properties: ```csharp public virtual bool DisplaysMap { get; } public virtual bool DisplaysMessage { get; } public virtual bool DisplaysPaymentTransaction { get; } ``` ### Namespace JavaScriptCore #### Type Changed: JavaScriptCore.JSType Added value: ```csharp BigInt = 7, ``` #### Type Changed: JavaScriptCore.JSValue Added property: ```csharp public virtual bool IsBigInt { get; } ``` Added methods: ```csharp public virtual JSRelationCondition Compare (JSValue other); public virtual JSRelationCondition Compare (double other); public virtual JSRelationCondition Compare (long other); public virtual JSRelationCondition Compare (ulong other); public static JSValue CreateNewBigInt (double uint64, JSContext context); public static JSValue CreateNewBigInt (long int64, JSContext context); public static JSValue CreateNewBigInt (string string, JSContext context); public static JSValue CreateNewBigInt (ulong uint64, JSContext context); public virtual long ToInt64 (); public virtual ulong ToUInt64 (); ``` #### New Type: JavaScriptCore.JSRelationCondition ```csharp [Serializable] public enum JSRelationCondition { Equal = 1, GreaterThan = 2, LessThan = 3, Undefined = 0, } ``` ### Namespace LinkPresentation #### Type Changed: LinkPresentation.LPErrorCode Added value: ```csharp MetadataFetchNotAllowed = 5, ``` ### Namespace LocalAuthentication #### Type Changed: LocalAuthentication.LAContext Added property: ```csharp public virtual LADomainState DomainState { get; } ``` #### Type Changed: LocalAuthentication.LAPolicy Added values: ```csharp DeviceOwnerAuthenticationWithBiometricsOrCompanion = 4, DeviceOwnerAuthenticationWithCompanion = 3, ``` #### Type Changed: LocalAuthentication.LAStatus Added value: ```csharp CompanionNotAvailable = -11, ``` #### New Type: LocalAuthentication.ILAEnvironmentObserver ```csharp public interface ILAEnvironmentObserver : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void StateDidChangeFromOldState (LAEnvironment environment, LAEnvironmentState oldState); } ``` #### New Type: LocalAuthentication.LACompanionType ```csharp [Serializable] [Flags] public enum LACompanionType { Mac = 2, None = 0, Watch = 1, } ``` #### New Type: LocalAuthentication.LADomainState ```csharp public class LADomainState : Foundation.NSObject { // constructors protected LADomainState (Foundation.NSObjectFlag t); protected LADomainState (ObjCRuntime.NativeHandle handle); // properties public virtual LADomainStateBiometry Biometry { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual LADomainStateCompanion Companion { get; } public virtual Foundation.NSData StateHash { get; } } ``` #### New Type: LocalAuthentication.LADomainStateBiometry ```csharp public class LADomainStateBiometry : Foundation.NSObject { // constructors protected LADomainStateBiometry (Foundation.NSObjectFlag t); protected LADomainStateBiometry (ObjCRuntime.NativeHandle handle); // properties public virtual LABiometryType BiometryType { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSData StateHash { get; } } ``` #### New Type: LocalAuthentication.LADomainStateCompanion ```csharp public class LADomainStateCompanion : Foundation.NSObject { // constructors protected LADomainStateCompanion (Foundation.NSObjectFlag t); protected LADomainStateCompanion (ObjCRuntime.NativeHandle handle); // properties public LACompanionType AvailableCompanionTypes { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSData StateHash { get; } public virtual Foundation.NSSet<Foundation.NSNumber> WeakAvailableCompanionTypes { get; } // methods public virtual Foundation.NSData GetStateHash (LACompanionType companionType); } ``` #### New Type: LocalAuthentication.LAEnvironment ```csharp public class LAEnvironment : Foundation.NSObject { // constructors protected LAEnvironment (Foundation.NSObjectFlag t); protected LAEnvironment (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public static LAEnvironment CurrentUser { get; } public virtual LAEnvironmentState State { get; } // methods public virtual void AddObserver (ILAEnvironmentObserver observer); public virtual void RemoveObserver (ILAEnvironmentObserver observer); } ``` #### New Type: LocalAuthentication.LAEnvironmentMechanism ```csharp public class LAEnvironmentMechanism : Foundation.NSObject { // constructors protected LAEnvironmentMechanism (Foundation.NSObjectFlag t); protected LAEnvironmentMechanism (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string IconSystemName { get; } public virtual bool IsUsable { get; } public virtual string LocalizedName { get; } } ``` #### New Type: LocalAuthentication.LAEnvironmentMechanismBiometry ```csharp public class LAEnvironmentMechanismBiometry : LocalAuthentication.LAEnvironmentMechanism { // constructors protected LAEnvironmentMechanismBiometry (Foundation.NSObjectFlag t); protected LAEnvironmentMechanismBiometry (ObjCRuntime.NativeHandle handle); // properties public virtual LABiometryType BiometryType { get; } public virtual bool BuiltInSensorInaccessible { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual bool IsEnrolled { get; } public virtual bool IsLockedOut { get; } public virtual Foundation.NSData StateHash { get; } } ``` #### New Type: LocalAuthentication.LAEnvironmentMechanismCompanion ```csharp public class LAEnvironmentMechanismCompanion : LocalAuthentication.LAEnvironmentMechanism { // constructors protected LAEnvironmentMechanismCompanion (Foundation.NSObjectFlag t); protected LAEnvironmentMechanismCompanion (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSData StateHash { get; } public virtual LACompanionType Type { get; } } ``` #### New Type: LocalAuthentication.LAEnvironmentMechanismUserPassword ```csharp public class LAEnvironmentMechanismUserPassword : LocalAuthentication.LAEnvironmentMechanism { // constructors protected LAEnvironmentMechanismUserPassword (Foundation.NSObjectFlag t); protected LAEnvironmentMechanismUserPassword (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual bool IsSet { get; } } ``` #### New Type: LocalAuthentication.LAEnvironmentObserver ```csharp public class LAEnvironmentObserver : Foundation.NSObject, ILAEnvironmentObserver, ObjCRuntime.INativeObject, System.IDisposable { // constructors public LAEnvironmentObserver (); protected LAEnvironmentObserver (Foundation.NSObjectFlag t); protected LAEnvironmentObserver (ObjCRuntime.NativeHandle handle); // methods public virtual void StateDidChangeFromOldState (LAEnvironment environment, LAEnvironmentState oldState); } ``` #### New Type: LocalAuthentication.LAEnvironmentState ```csharp public class LAEnvironmentState : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected LAEnvironmentState (Foundation.NSObjectFlag t); protected LAEnvironmentState (ObjCRuntime.NativeHandle handle); // properties public virtual LAEnvironmentMechanism[] AllMechanisms { get; } public virtual LAEnvironmentMechanismBiometry Biometry { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual LAEnvironmentMechanismCompanion[] Companions { get; } public virtual LAEnvironmentMechanismUserPassword UserPassword { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` ### Namespace MapKit #### Type Changed: MapKit.IMKAnnotation Modified properties: ```diff -public abstract CoreLocation.CLLocationCoordinate2D Coordinate { get; } +public virtual CoreLocation.CLLocationCoordinate2D Coordinate { get; } ``` Added properties: ```csharp public virtual string Subtitle { get; } public virtual string Title { get; } ``` Added method: ```csharp public virtual void SetCoordinate (CoreLocation.CLLocationCoordinate2D value); ``` #### Type Changed: MapKit.IMKLocalSearchCompleterDelegate Added methods: ```csharp public virtual void DidFail (MKLocalSearchCompleter completer, Foundation.NSError error); public virtual void DidUpdateResults (MKLocalSearchCompleter completer); ``` #### Type Changed: MapKit.IMKLookAroundViewControllerDelegate Added methods: ```csharp public virtual void DidDismissFullScreen (MKLookAroundViewController viewController); public virtual void DidPresentFullScreen (MKLookAroundViewController viewController); public virtual void DidUpdateScene (MKLookAroundViewController viewController); public virtual void WillDismissFullScreen (MKLookAroundViewController viewController); public virtual void WillPresentFullScreen (MKLookAroundViewController viewController); public virtual void WillUpdateScene (MKLookAroundViewController viewController); ``` #### Type Changed: MapKit.IMKMapViewDelegate Added methods: ```csharp public virtual void CalloutAccessoryControlTapped (MKMapView mapView, MKAnnotationView view, UIKit.UIControl control); public virtual void ChangedDragState (MKMapView mapView, MKAnnotationView annotationView, MKAnnotationViewDragState newState, MKAnnotationViewDragState oldState); public virtual MKClusterAnnotation CreateClusterAnnotation (MKMapView mapView, IMKAnnotation[] memberAnnotations); public virtual void DidAddAnnotationViews (MKMapView mapView, MKAnnotationView[] views); public virtual void DidAddOverlayRenderers (MKMapView mapView, MKOverlayRenderer[] renderers); public virtual void DidAddOverlayViews (MKMapView mapView, MKOverlayView overlayViews); public virtual void DidChangeUserTrackingMode (MKMapView mapView, MKUserTrackingMode mode, bool animated); public virtual void DidChangeVisibleRegion (MKMapView mapView); public virtual void DidDeselectAnnotation (MKMapView mapView, IMKAnnotation annotation); public virtual void DidDeselectAnnotationView (MKMapView mapView, MKAnnotationView view); public virtual void DidFailToLocateUser (MKMapView mapView, Foundation.NSError error); public virtual void DidFinishRenderingMap (MKMapView mapView, bool fullyRendered); public virtual void DidSelectAnnotation (MKMapView mapView, IMKAnnotation annotation); public virtual void DidSelectAnnotationView (MKMapView mapView, MKAnnotationView view); public virtual void DidStopLocatingUser (MKMapView mapView); public virtual void DidUpdateUserLocation (MKMapView mapView, MKUserLocation userLocation); public virtual MKAnnotationView GetViewForAnnotation (MKMapView mapView, IMKAnnotation annotation); public virtual MKOverlayView GetViewForOverlay (MKMapView mapView, IMKOverlay overlay); public virtual void LoadingMapFailed (MKMapView mapView, Foundation.NSError error); public virtual void MapLoaded (MKMapView mapView); public virtual MKOverlayRenderer OverlayRenderer (MKMapView mapView, IMKOverlay overlay); public virtual void RegionChanged (MKMapView mapView, bool animated); public virtual void RegionWillChange (MKMapView mapView, bool animated); public virtual void WillStartLoadingMap (MKMapView mapView); public virtual void WillStartLocatingUser (MKMapView mapView); public virtual void WillStartRenderingMap (MKMapView mapView); ``` #### Type Changed: MapKit.IMKOverlay Modified properties: ```diff -public abstract MKMapRect BoundingMapRect { get; } +public virtual MKMapRect BoundingMapRect { get; } ``` Added property: ```csharp public virtual bool CanReplaceMapContent { get; } ``` Added method: ```csharp public virtual bool Intersects (MKMapRect rect); ``` #### Type Changed: MapKit.IMKReverseGeocoderDelegate Modified methods: ```diff -public abstract void FailedWithError (MKReverseGeocoder geocoder, Foundation.NSError error) +public virtual void FailedWithError (MKReverseGeocoder geocoder, Foundation.NSError error) -public abstract void FoundWithPlacemark (MKReverseGeocoder geocoder, MKPlacemark placemark) +public virtual void FoundWithPlacemark (MKReverseGeocoder geocoder, MKPlacemark placemark) ``` ### Namespace MediaAccessibility #### New Type: MediaAccessibility.MAMusicHapticTrackAvailabilityCallback ```csharp public sealed delegate MAMusicHapticTrackAvailabilityCallback : System.MulticastDelegate { // constructors public MAMusicHapticTrackAvailabilityCallback (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (bool musicHapticsAvailable, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (bool musicHapticsAvailable); } ``` #### New Type: MediaAccessibility.MAMusicHapticTrackStatusObserver ```csharp public sealed delegate MAMusicHapticTrackStatusObserver : System.MulticastDelegate { // constructors public MAMusicHapticTrackStatusObserver (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (string internationalStandardRecordingCode, bool musicHapticsActive, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (string internationalStandardRecordingCode, bool musicHapticsActive); } ``` #### New Type: MediaAccessibility.MAMusicHapticsManager ```csharp public class MAMusicHapticsManager : Foundation.NSObject { // constructors protected MAMusicHapticsManager (Foundation.NSObjectFlag t); protected MAMusicHapticsManager (ObjCRuntime.NativeHandle handle); // properties public static Foundation.NSString ActiveStatusDidChangeNotification { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual bool IsActive { get; } public static MAMusicHapticsManager SharedManager { get; } // methods public virtual Foundation.INSCopying AddStatusObserver (MAMusicHapticTrackStatusObserver statusHandler); public virtual void CheckHapticTrackAvailability (string internationalStandardRecordingCode, MAMusicHapticTrackAvailabilityCallback completionHandler); public virtual System.Threading.Tasks.Task<bool> CheckHapticTrackAvailabilityAsync (string internationalStandardRecordingCode); public virtual void RemoveStatusObserver (Foundation.INSCopying registrationToken); // inner types public static class Notifications { // methods public static Foundation.NSObject ObserveActiveStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler); public static Foundation.NSObject ObserveActiveStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler); } } ``` ### Namespace MediaPlayer #### Type Changed: MediaPlayer.IMPMediaPickerControllerDelegate Added methods: ```csharp public virtual void MediaItemsPicked (MPMediaPickerController sender, MPMediaItemCollection mediaItemCollection); public virtual void MediaPickerDidCancel (MPMediaPickerController sender); ``` #### Type Changed: MediaPlayer.IMPMediaPlayback Modified properties: ```diff -public abstract float CurrentPlaybackRate { get; set; } +public virtual float CurrentPlaybackRate { get; set; } -public abstract double CurrentPlaybackTime { get; set; } +public virtual double CurrentPlaybackTime { get; set; } -public abstract bool IsPreparedToPlay { get; } +public virtual bool IsPreparedToPlay { get; } ``` Modified methods: ```diff -public abstract void BeginSeekingBackward () +public virtual void BeginSeekingBackward () -public abstract void BeginSeekingForward () +public virtual void BeginSeekingForward () -public abstract void EndSeeking () +public virtual void EndSeeking () -public abstract void Pause () +public virtual void Pause () -public abstract void Play () +public virtual void Play () -public abstract void PrepareToPlay () +public virtual void PrepareToPlay () -public abstract void Stop () +public virtual void Stop () ``` #### Type Changed: MediaPlayer.IMPPlayableContentDataSource Modified methods: ```diff -public abstract MPContentItem GetContentItem (Foundation.NSIndexPath indexPath) +public virtual MPContentItem GetContentItem (Foundation.NSIndexPath indexPath) -public abstract IntPtr NumberOfChildItems (Foundation.NSIndexPath indexPath) +public virtual IntPtr NumberOfChildItems (Foundation.NSIndexPath indexPath) ``` Added methods: ```csharp public virtual void BeginLoadingChildItems (Foundation.NSIndexPath indexPath, System.Action<Foundation.NSError> completionHandler); public virtual bool ChildItemsDisplayPlaybackProgress (Foundation.NSIndexPath indexPath); public virtual void GetContentItem (string identifier, System.Action<MPContentItem,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task<MPContentItem> GetContentItemAsync (string identifier); ``` #### Type Changed: MediaPlayer.IMPPlayableContentDelegate Added methods: ```csharp public virtual void ContextUpdated (MPPlayableContentManager contentManager, MPPlayableContentManagerContext context); public virtual void InitializePlaybackQueue (MPPlayableContentManager contentManager, System.Action<Foundation.NSError> completionHandler); public virtual void InitializePlaybackQueue (MPPlayableContentManager contentManager, MPContentItem[] contentItems, System.Action<Foundation.NSError> completionHandler); public virtual void InitiatePlaybackOfContentItem (MPPlayableContentManager contentManager, Foundation.NSIndexPath indexPath, System.Action<Foundation.NSError> completionHandler); ``` #### Type Changed: MediaPlayer.IMPSystemMusicPlayerController Modified methods: ```diff -public abstract void OpenToPlay (MPMusicPlayerQueueDescriptor queueDescriptor) +public virtual void OpenToPlay (MPMusicPlayerQueueDescriptor queueDescriptor) ``` #### Type Changed: MediaPlayer.MPMediaEntity Added property: ```csharp public virtual ulong PersistentID { get; } ``` #### Type Changed: MediaPlayer.MPNowPlayingInfoCenter Added properties: ```csharp public static Foundation.NSString PropertyExcludeFromSuggestions { get; } public static Foundation.NSString PropertyInternationalStandardRecordingCode { get; } ``` ### Namespace MessageUI #### Type Changed: MessageUI.IMFMailComposeViewControllerDelegate Added method: ```csharp public virtual void Finished (MFMailComposeViewController controller, MFMailComposeResult result, Foundation.NSError error); ``` #### Type Changed: MessageUI.IMFMessageComposeViewControllerDelegate Modified methods: ```diff -public abstract void Finished (MFMessageComposeViewController controller, MessageComposeResult result) +public virtual void Finished (MFMessageComposeViewController controller, MessageComposeResult result) ``` ### Namespace Messages #### Type Changed: Messages.IMSMessagesAppTranscriptPresentation Modified methods: ```diff -public abstract CoreGraphics.CGSize GetContentSizeThatFits (CoreGraphics.CGSize size) +public virtual CoreGraphics.CGSize GetContentSizeThatFits (CoreGraphics.CGSize size) ``` #### Type Changed: Messages.IMSStickerBrowserViewDataSource Modified methods: ```diff -public abstract IntPtr GetNumberOfStickers (MSStickerBrowserView stickerBrowserView) +public virtual IntPtr GetNumberOfStickers (MSStickerBrowserView stickerBrowserView) -public abstract MSSticker GetSticker (MSStickerBrowserView stickerBrowserView, IntPtr index) +public virtual MSSticker GetSticker (MSStickerBrowserView stickerBrowserView, IntPtr index) ``` ### Namespace Metal #### Type Changed: Metal.IMTLAccelerationStructure Modified properties: ```diff -public abstract UIntPtr Size { get; } +public virtual UIntPtr Size { get; } ``` Added property: ```csharp public virtual MTLResourceId GpuResourceId { get; } ``` #### Type Changed: Metal.IMTLAccelerationStructureCommandEncoder Modified methods: ```diff -public abstract void BuildAccelerationStructure (IMTLAccelerationStructure accelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset) +public virtual void BuildAccelerationStructure (IMTLAccelerationStructure accelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset) -public abstract void CopyAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure) +public virtual void CopyAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure) -public abstract void CopyAndCompactAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure) +public virtual void CopyAndCompactAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure) -public abstract void RefitAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset) +public virtual void RefitAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset) -public abstract void SampleCountersInBuffer (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier) +public virtual void SampleCountersInBuffer (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier) -public abstract void UpdateFence (IMTLFence fence) +public virtual void UpdateFence (IMTLFence fence) -public abstract void UseHeap (IMTLHeap heap) +public virtual void UseHeap (IMTLHeap heap) -public abstract void UseHeaps (IMTLHeap[] heaps, UIntPtr count) +public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count) -public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage) +public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage) -public abstract void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage) +public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage) -public abstract void WaitForFence (IMTLFence fence) +public virtual void WaitForFence (IMTLFence fence) -public abstract void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset) +public virtual void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset) -public abstract void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset, MTLDataType sizeDataType) +public virtual void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, UIntPtr offset, MTLDataType sizeDataType) ``` Added method: ```csharp public virtual void RefitAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, UIntPtr scratchBufferOffset, MTLAccelerationStructureRefitOptions options); ``` #### Type Changed: Metal.IMTLArgumentEncoder Modified properties: ```diff -public abstract UIntPtr Alignment { get; } +public virtual UIntPtr Alignment { get; } -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract UIntPtr EncodedLength { get; } +public virtual UIntPtr EncodedLength { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } ``` Modified methods: ```diff -public abstract IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr index) +public virtual IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr index) -public abstract IntPtr GetConstantData (UIntPtr index) +public virtual IntPtr GetConstantData (UIntPtr index) -public abstract void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr index) +public virtual void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr index) -public abstract void SetArgumentBuffer (IMTLBuffer argumentBuffer, UIntPtr offset) +public virtual void SetArgumentBuffer (IMTLBuffer argumentBuffer, UIntPtr offset) -public abstract void SetArgumentBuffer (IMTLBuffer argumentBuffer, UIntPtr startOffset, UIntPtr arrayElement) +public virtual void SetArgumentBuffer (IMTLBuffer argumentBuffer, UIntPtr startOffset, UIntPtr arrayElement) -public abstract void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) -public abstract void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range) +public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range) -public abstract void SetComputePipelineState (IMTLComputePipelineState pipeline, UIntPtr index) +public virtual void SetComputePipelineState (IMTLComputePipelineState pipeline, UIntPtr index) -public abstract void SetComputePipelineStates (IMTLComputePipelineState[] pipelines, Foundation.NSRange range) +public virtual void SetComputePipelineStates (IMTLComputePipelineState[] pipelines, Foundation.NSRange range) -public abstract void SetIndirectCommandBuffer (IMTLIndirectCommandBuffer indirectCommandBuffer, UIntPtr index) +public virtual void SetIndirectCommandBuffer (IMTLIndirectCommandBuffer indirectCommandBuffer, UIntPtr index) -public abstract void SetIndirectCommandBuffers (IMTLIndirectCommandBuffer[] buffers, Foundation.NSRange range) +public virtual void SetIndirectCommandBuffers (IMTLIndirectCommandBuffer[] buffers, Foundation.NSRange range) -public abstract void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr index) +public virtual void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr index) -public abstract void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range) +public virtual void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range) -public abstract void SetRenderPipelineState (IMTLRenderPipelineState pipeline, UIntPtr index) +public virtual void SetRenderPipelineState (IMTLRenderPipelineState pipeline, UIntPtr index) -public abstract void SetRenderPipelineStates (IMTLRenderPipelineState[] pipelines, Foundation.NSRange range) +public virtual void SetRenderPipelineStates (IMTLRenderPipelineState[] pipelines, Foundation.NSRange range) -public abstract void SetSamplerState (IMTLSamplerState sampler, UIntPtr index) +public virtual void SetSamplerState (IMTLSamplerState sampler, UIntPtr index) -public abstract void SetSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) +public virtual void SetSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) -public abstract void SetTexture (IMTLTexture texture, UIntPtr index) +public virtual void SetTexture (IMTLTexture texture, UIntPtr index) -public abstract void SetTextures (IMTLTexture[] textures, Foundation.NSRange range) +public virtual void SetTextures (IMTLTexture[] textures, Foundation.NSRange range) -public abstract void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr index) +public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr index) -public abstract void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range) +public virtual void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range) ``` #### Type Changed: Metal.IMTLBinaryArchive Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } ``` Modified methods: ```diff -public abstract bool AddComputePipelineFunctions (MTLComputePipelineDescriptor descriptor, out Foundation.NSError error) +public virtual bool AddComputePipelineFunctions (MTLComputePipelineDescriptor descriptor, out Foundation.NSError error) -public abstract bool AddFunctionWithDescriptor (MTLFunctionDescriptor descriptor, IMTLLibrary library, out Foundation.NSError error) +public virtual bool AddFunctionWithDescriptor (MTLFunctionDescriptor descriptor, IMTLLibrary library, out Foundation.NSError error) -public abstract bool AddRenderPipelineFunctions (MTLRenderPipelineDescriptor descriptor, out Foundation.NSError error) +public virtual bool AddRenderPipelineFunctions (MTLRenderPipelineDescriptor descriptor, out Foundation.NSError error) -public abstract bool AddTileRenderPipelineFunctions (MTLTileRenderPipelineDescriptor descriptor, out Foundation.NSError error) +public virtual bool AddTileRenderPipelineFunctions (MTLTileRenderPipelineDescriptor descriptor, out Foundation.NSError error) -public abstract bool Serialize (Foundation.NSUrl url, out Foundation.NSError error) +public virtual bool Serialize (Foundation.NSUrl url, out Foundation.NSError error) ``` #### Type Changed: Metal.IMTLBlitCommandEncoder Modified methods: ```diff -public abstract void Copy (IMTLTexture sourceTexture, IMTLTexture destinationTexture) +public virtual void Copy (IMTLTexture sourceTexture, IMTLTexture destinationTexture) -public abstract void Copy (IMTLIndirectCommandBuffer source, Foundation.NSRange sourceRange, IMTLIndirectCommandBuffer destination, UIntPtr destinationIndex) +public virtual void Copy (IMTLIndirectCommandBuffer source, Foundation.NSRange sourceRange, IMTLIndirectCommandBuffer destination, UIntPtr destinationIndex) -public abstract void Copy (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, UIntPtr sliceCount, UIntPtr levelCount) +public virtual void Copy (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, UIntPtr sliceCount, UIntPtr levelCount) -public abstract void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr size) +public virtual void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr size) -public abstract void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, UIntPtr sourceBytesPerRow, UIntPtr sourceBytesPerImage, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin) +public virtual void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, UIntPtr sourceBytesPerRow, UIntPtr sourceBytesPerImage, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin) -public abstract void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, UIntPtr sourceBytesPerRow, UIntPtr sourceBytesPerImage, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin, MTLBlitOption options) +public virtual void CopyFromBuffer (IMTLBuffer sourceBuffer, UIntPtr sourceOffset, UIntPtr sourceBytesPerRow, UIntPtr sourceBytesPerImage, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin, MTLBlitOption options) -public abstract void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr destinatinBytesPerRow, UIntPtr destinationBytesPerImage) +public virtual void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr destinatinBytesPerRow, UIntPtr destinationBytesPerImage) -public abstract void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin) +public virtual void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin) -public abstract void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr destinatinBytesPerRow, UIntPtr destinationBytesPerImage, MTLBlitOption options) +public virtual void CopyFromTexture (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLBuffer destinationBuffer, UIntPtr destinationOffset, UIntPtr destinatinBytesPerRow, UIntPtr destinationBytesPerImage, MTLBlitOption options) -public abstract void FillBuffer (IMTLBuffer buffer, Foundation.NSRange range, byte value) +public virtual void FillBuffer (IMTLBuffer buffer, Foundation.NSRange range, byte value) -public abstract void GenerateMipmapsForTexture (IMTLTexture texture) +public virtual void GenerateMipmapsForTexture (IMTLTexture texture) -public abstract void Optimize (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange range) +public virtual void Optimize (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange range) -public abstract void OptimizeContentsForCpuAccess (IMTLTexture texture) +public virtual void OptimizeContentsForCpuAccess (IMTLTexture texture) -public abstract void OptimizeContentsForCpuAccess (IMTLTexture texture, UIntPtr slice, UIntPtr level) +public virtual void OptimizeContentsForCpuAccess (IMTLTexture texture, UIntPtr slice, UIntPtr level) -public abstract void OptimizeContentsForGpuAccess (IMTLTexture texture) +public virtual void OptimizeContentsForGpuAccess (IMTLTexture texture) -public abstract void OptimizeContentsForGpuAccess (IMTLTexture texture, UIntPtr slice, UIntPtr level) +public virtual void OptimizeContentsForGpuAccess (IMTLTexture texture, UIntPtr slice, UIntPtr level) -public abstract void ResetCommands (IMTLIndirectCommandBuffer buffer, Foundation.NSRange range) +public virtual void ResetCommands (IMTLIndirectCommandBuffer buffer, Foundation.NSRange range) -public abstract void ResolveCounters (IMTLCounterSampleBuffer sampleBuffer, Foundation.NSRange range, IMTLBuffer destinationBuffer, UIntPtr destinationOffset) +public virtual void ResolveCounters (IMTLCounterSampleBuffer sampleBuffer, Foundation.NSRange range, IMTLBuffer destinationBuffer, UIntPtr destinationOffset) -public abstract void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier) +public virtual void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier) -public abstract void Synchronize (IMTLResource resource) +public virtual void Synchronize (IMTLResource resource) -public abstract void Synchronize (IMTLTexture texture, UIntPtr slice, UIntPtr level) +public virtual void Synchronize (IMTLTexture texture, UIntPtr slice, UIntPtr level) -public abstract void Update (IMTLFence fence) +public virtual void Update (IMTLFence fence) -public abstract void Wait (IMTLFence fence) +public virtual void Wait (IMTLFence fence) ``` Added methods: ```csharp public virtual void GetTextureAccessCounters (IMTLTexture texture, MTLRegion region, UIntPtr mipLevel, UIntPtr slice, bool resetCounters, IMTLBuffer countersBuffer, UIntPtr countersBufferOffset); public virtual void ResetTextureAccessCounters (IMTLTexture texture, MTLRegion region, UIntPtr mipLevel, UIntPtr slice); ``` #### Type Changed: Metal.IMTLBuffer Modified properties: ```diff -public abstract IntPtr Contents { get; } +public virtual IntPtr Contents { get; } -public abstract UIntPtr Length { get; } +public virtual UIntPtr Length { get; } ``` Added property: ```csharp public virtual ulong GpuAddress { get; } ``` Modified methods: ```diff -public abstract void AddDebugMarker (string marker, Foundation.NSRange range) +public virtual void AddDebugMarker (string marker, Foundation.NSRange range) -public abstract IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset, UIntPtr bytesPerRow) +public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset, UIntPtr bytesPerRow) -public abstract void DidModify (Foundation.NSRange range) +public virtual void DidModify (Foundation.NSRange range) -public abstract void RemoveAllDebugMarkers () +public virtual void RemoveAllDebugMarkers () ``` #### Type Changed: Metal.IMTLCaptureScope Modified properties: ```diff -public abstract IMTLCommandQueue CommandQueue { get; } +public virtual IMTLCommandQueue CommandQueue { get; } -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } ``` Modified methods: ```diff -public abstract void BeginScope () +public virtual void BeginScope () -public abstract void EndScope () +public virtual void EndScope () ``` #### Type Changed: Metal.IMTLCommandBuffer Modified properties: ```diff -public abstract IMTLBlitCommandEncoder BlitCommandEncoder { get; } +public virtual IMTLBlitCommandEncoder BlitCommandEncoder { get; } -public abstract IMTLCommandQueue CommandQueue { get; } +public virtual IMTLCommandQueue CommandQueue { get; } -public abstract IMTLComputeCommandEncoder ComputeCommandEncoder { get; } +public virtual IMTLComputeCommandEncoder ComputeCommandEncoder { get; } -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract Foundation.NSError Error { get; } +public virtual Foundation.NSError Error { get; } -public abstract MTLCommandBufferErrorOption ErrorOptions { get; } +public virtual MTLCommandBufferErrorOption ErrorOptions { get; } -public abstract double GpuEndTime { get; } +public virtual double GpuEndTime { get; } -public abstract double GpuStartTime { get; } +public virtual double GpuStartTime { get; } -public abstract double KernelEndTime { get; } +public virtual double KernelEndTime { get; } -public abstract double KernelStartTime { get; } +public virtual double KernelStartTime { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } -public abstract IMTLLogContainer Logs { get; } +public virtual IMTLLogContainer Logs { get; } -public abstract IMTLResourceStateCommandEncoder ResourceStateCommandEncoder { get; } +public virtual IMTLResourceStateCommandEncoder ResourceStateCommandEncoder { get; } -public abstract bool RetainedReferences { get; } +public virtual bool RetainedReferences { get; } -public abstract MTLCommandBufferStatus Status { get; } +public virtual MTLCommandBufferStatus Status { get; } ``` Modified methods: ```diff -public abstract void AddCompletedHandler (System.Action%LESSERTHANREPLACEMENT%IMTLCommandBuffer%GREATERTHANREPLACEMENT% block) +public virtual void AddCompletedHandler (System.Action%LESSERTHANREPLACEMENT%IMTLCommandBuffer%GREATERTHANREPLACEMENT% block) -public abstract void AddScheduledHandler (System.Action%LESSERTHANREPLACEMENT%IMTLCommandBuffer%GREATERTHANREPLACEMENT% block) +public virtual void AddScheduledHandler (System.Action%LESSERTHANREPLACEMENT%IMTLCommandBuffer%GREATERTHANREPLACEMENT% block) -public abstract void Commit () +public virtual void Commit () -public abstract IMTLComputeCommandEncoder ComputeCommandEncoderDispatch (MTLDispatchType dispatchType) +public virtual IMTLComputeCommandEncoder ComputeCommandEncoderDispatch (MTLDispatchType dispatchType) -public abstract IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder () +public virtual IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder () -public abstract IMTLBlitCommandEncoder CreateBlitCommandEncoder (MTLBlitPassDescriptor blitPassDescriptor) +public virtual IMTLBlitCommandEncoder CreateBlitCommandEncoder (MTLBlitPassDescriptor blitPassDescriptor) -public abstract IMTLComputeCommandEncoder CreateComputeCommandEncoder (MTLComputePassDescriptor computePassDescriptor) +public virtual IMTLComputeCommandEncoder CreateComputeCommandEncoder (MTLComputePassDescriptor computePassDescriptor) -public abstract IMTLParallelRenderCommandEncoder CreateParallelRenderCommandEncoder (MTLRenderPassDescriptor renderPassDescriptor) +public virtual IMTLParallelRenderCommandEncoder CreateParallelRenderCommandEncoder (MTLRenderPassDescriptor renderPassDescriptor) -public abstract IMTLRenderCommandEncoder CreateRenderCommandEncoder (MTLRenderPassDescriptor renderPassDescriptor) +public virtual IMTLRenderCommandEncoder CreateRenderCommandEncoder (MTLRenderPassDescriptor renderPassDescriptor) -public abstract IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (MTLResourceStatePassDescriptor resourceStatePassDescriptor) +public virtual IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (MTLResourceStatePassDescriptor resourceStatePassDescriptor) -public abstract void EncodeSignal (IMTLEvent event, ulong value) +public virtual void EncodeSignal (IMTLEvent event, ulong value) -public abstract void EncodeWait (IMTLEvent event, ulong value) +public virtual void EncodeWait (IMTLEvent event, ulong value) -public abstract void Enqueue () +public virtual void Enqueue () -public abstract void PopDebugGroup () +public virtual void PopDebugGroup () -public abstract void PresentDrawable (IMTLDrawable drawable) +public virtual void PresentDrawable (IMTLDrawable drawable) -public abstract void PresentDrawable (IMTLDrawable drawable, double presentationTime) +public virtual void PresentDrawable (IMTLDrawable drawable, double presentationTime) -public abstract void PresentDrawableAfter (IMTLDrawable drawable, double duration) +public virtual void PresentDrawableAfter (IMTLDrawable drawable, double duration) -public abstract void PushDebugGroup (string string) +public virtual void PushDebugGroup (string string) -public abstract void WaitUntilCompleted () +public virtual void WaitUntilCompleted () -public abstract void WaitUntilScheduled () +public virtual void WaitUntilScheduled () ``` Added method: ```csharp public virtual IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (MTLAccelerationStructurePassDescriptor descriptor); ``` #### Type Changed: Metal.IMTLCommandBufferEncoderInfo Modified properties: ```diff -public abstract string[] DebugSignposts { get; } +public virtual string[] DebugSignposts { get; } -public abstract MTLCommandEncoderErrorState ErrorState { get; } +public virtual MTLCommandEncoderErrorState ErrorState { get; } -public abstract string Label { get; } +public virtual string Label { get; } ``` #### Type Changed: Metal.IMTLCommandEncoder Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } ``` Modified methods: ```diff -public abstract void EndEncoding () +public virtual void EndEncoding () -public abstract void InsertDebugSignpost (string signpost) +public virtual void InsertDebugSignpost (string signpost) -public abstract void PopDebugGroup () +public virtual void PopDebugGroup () -public abstract void PushDebugGroup (string debugGroup) +public virtual void PushDebugGroup (string debugGroup) ``` #### Type Changed: Metal.IMTLCommandQueue Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } ``` Modified methods: ```diff -public abstract IMTLCommandBuffer CommandBuffer () +public virtual IMTLCommandBuffer CommandBuffer () -public abstract IMTLCommandBuffer CommandBufferWithUnretainedReferences () +public virtual IMTLCommandBuffer CommandBufferWithUnretainedReferences () -public abstract IMTLCommandBuffer CreateCommandBuffer (MTLCommandBufferDescriptor descriptor) +public virtual IMTLCommandBuffer CreateCommandBuffer (MTLCommandBufferDescriptor descriptor) -public abstract void InsertDebugCaptureBoundary () +public virtual void InsertDebugCaptureBoundary () ``` #### Type Changed: Metal.IMTLComputeCommandEncoder Modified properties: ```diff -public abstract MTLDispatchType DispatchType { get; } +public virtual MTLDispatchType DispatchType { get; } ``` Modified methods: ```diff -public abstract void DispatchThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerThreadgroup) +public virtual void DispatchThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerThreadgroup) -public abstract void DispatchThreadgroups (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerThreadgroup) +public virtual void DispatchThreadgroups (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerThreadgroup) -public abstract void DispatchThreads (MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup) +public virtual void DispatchThreads (MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup) -public abstract void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange) +public virtual void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange) -public abstract void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, UIntPtr indirectBufferOffset) +public virtual void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, UIntPtr indirectBufferOffset) -public abstract void MemoryBarrier (MTLBarrierScope scope) +public virtual void MemoryBarrier (MTLBarrierScope scope) -public abstract void MemoryBarrier (IMTLResource[] resources, UIntPtr count) +public virtual void MemoryBarrier (IMTLResource[] resources, UIntPtr count) -public abstract void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier) +public virtual void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier) -public abstract void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex) +public virtual void SetAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex) -public abstract void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) -public abstract void SetBufferOffset (UIntPtr offset, UIntPtr index) +public virtual void SetBufferOffset (UIntPtr offset, UIntPtr index) -public abstract void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range) +public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range) -public abstract void SetBytes (IntPtr bytes, UIntPtr length, UIntPtr index) +public virtual void SetBytes (IntPtr bytes, UIntPtr length, UIntPtr index) -public abstract void SetComputePipelineState (IMTLComputePipelineState state) +public virtual void SetComputePipelineState (IMTLComputePipelineState state) -public abstract void SetImageblock (UIntPtr width, UIntPtr height) +public virtual void SetImageblock (UIntPtr width, UIntPtr height) -public abstract void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex) +public virtual void SetIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex) -public abstract void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range) +public virtual void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range) -public abstract void SetSamplerState (IMTLSamplerState sampler, UIntPtr index) +public virtual void SetSamplerState (IMTLSamplerState sampler, UIntPtr index) -public abstract void SetSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index) +public virtual void SetSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index) -public abstract void SetSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) +public virtual void SetSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) -public abstract void SetSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range) +public virtual void SetSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range) -public abstract void SetStage (MTLRegion region) +public virtual void SetStage (MTLRegion region) -public abstract void SetStageInRegion (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) +public virtual void SetStageInRegion (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) -public abstract void SetTexture (IMTLTexture texture, UIntPtr index) +public virtual void SetTexture (IMTLTexture texture, UIntPtr index) -public abstract void SetTextures (IMTLTexture[] textures, Foundation.NSRange range) +public virtual void SetTextures (IMTLTexture[] textures, Foundation.NSRange range) -public abstract void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr index) +public virtual void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr index) -public abstract void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr bufferIndex) +public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable visibleFunctionTable, UIntPtr bufferIndex) -public abstract void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range) +public virtual void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range) -public abstract void Update (IMTLFence fence) +public virtual void Update (IMTLFence fence) -public abstract void UseHeap (IMTLHeap heap) +public virtual void UseHeap (IMTLHeap heap) -public abstract void UseHeaps (IMTLHeap[] heaps, UIntPtr count) +public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count) -public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage) +public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage) -public abstract void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage) +public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage) -public abstract void Wait (IMTLFence fence) +public virtual void Wait (IMTLFence fence) ``` Added methods: ```csharp public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index); public virtual void SetBufferOffset (UIntPtr offset, UIntPtr stride, UIntPtr index); public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range); public virtual void SetBytes (IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index); ``` #### Type Changed: Metal.IMTLComputePipelineState Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; } +public virtual string Label { get; } -public abstract UIntPtr MaxTotalThreadsPerThreadgroup { get; } +public virtual UIntPtr MaxTotalThreadsPerThreadgroup { get; } -public abstract UIntPtr StaticThreadgroupMemoryLength { get; } +public virtual UIntPtr StaticThreadgroupMemoryLength { get; } -public abstract bool SupportIndirectCommandBuffers { get; } +public virtual bool SupportIndirectCommandBuffers { get; } -public abstract UIntPtr ThreadExecutionWidth { get; } +public virtual UIntPtr ThreadExecutionWidth { get; } ``` Added property: ```csharp public virtual MTLResourceId GpuResourceId { get; } ``` Modified methods: ```diff -public abstract IMTLComputePipelineState CreateComputePipelineState (IMTLFunction[] functions, out Foundation.NSError error) +public virtual IMTLComputePipelineState CreateComputePipelineState (IMTLFunction[] functions, out Foundation.NSError error) -public abstract IMTLFunctionHandle CreateFunctionHandle (IMTLFunction function) +public virtual IMTLFunctionHandle CreateFunctionHandle (IMTLFunction function) -public abstract IMTLIntersectionFunctionTable CreateIntersectionFunctionTable (MTLIntersectionFunctionTableDescriptor descriptor) +public virtual IMTLIntersectionFunctionTable CreateIntersectionFunctionTable (MTLIntersectionFunctionTableDescriptor descriptor) -public abstract IMTLVisibleFunctionTable CreateVisibleFunctionTable (MTLVisibleFunctionTableDescriptor descriptor) +public virtual IMTLVisibleFunctionTable CreateVisibleFunctionTable (MTLVisibleFunctionTableDescriptor descriptor) -public abstract UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions) +public virtual UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions) ``` #### Type Changed: Metal.IMTLCounter Modified properties: ```diff -public abstract string Name { get; } +public virtual string Name { get; } ``` #### Type Changed: Metal.IMTLCounterSampleBuffer Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; } +public virtual string Label { get; } -public abstract UIntPtr SampleCount { get; } +public virtual UIntPtr SampleCount { get; } ``` Modified methods: ```diff -public abstract Foundation.NSData ResolveCounterRange (Foundation.NSRange range) +public virtual Foundation.NSData ResolveCounterRange (Foundation.NSRange range) ``` #### Type Changed: Metal.IMTLCounterSet Modified properties: ```diff -public abstract IMTLCounter[] Counters { get; } +public virtual IMTLCounter[] Counters { get; } -public abstract string Name { get; } +public virtual string Name { get; } ``` #### Type Changed: Metal.IMTLDepthStencilState Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; } +public virtual string Label { get; } ``` #### Type Changed: Metal.IMTLDevice Modified properties: ```diff -public abstract MTLArgumentBuffersTier ArgumentBuffersSupport { get; } +public virtual MTLArgumentBuffersTier ArgumentBuffersSupport { get; } -public abstract IMTLCounterSet[] CounterSets { get; } +public virtual IMTLCounterSet[] CounterSets { get; } -public abstract UIntPtr CurrentAllocatedSize { get; } +public virtual UIntPtr CurrentAllocatedSize { get; } -public abstract bool Depth24Stencil8PixelFormatSupported { get; } +public virtual bool Depth24Stencil8PixelFormatSupported { get; } -public abstract bool HasUnifiedMemory { get; } +public virtual bool HasUnifiedMemory { get; } -public abstract bool Headless { get; } +public virtual bool Headless { get; } -public abstract bool LowPower { get; } +public virtual bool LowPower { get; } -public abstract UIntPtr MaxArgumentBufferSamplerCount { get; } +public virtual UIntPtr MaxArgumentBufferSamplerCount { get; } -public abstract UIntPtr MaxBufferLength { get; } +public virtual UIntPtr MaxBufferLength { get; } -public abstract UIntPtr MaxThreadgroupMemoryLength { get; } +public virtual UIntPtr MaxThreadgroupMemoryLength { get; } -public abstract MTLSize MaxThreadsPerThreadgroup { get; } +public virtual MTLSize MaxThreadsPerThreadgroup { get; } -public abstract string Name { get; } +public virtual string Name { get; } -public abstract bool ProgrammableSamplePositionsSupported { get; } +public virtual bool ProgrammableSamplePositionsSupported { get; } -public abstract bool RasterOrderGroupsSupported { get; } +public virtual bool RasterOrderGroupsSupported { get; } -public abstract MTLReadWriteTextureTier ReadWriteTextureSupport { get; } +public virtual MTLReadWriteTextureTier ReadWriteTextureSupport { get; } -public abstract ulong RecommendedMaxWorkingSetSize { get; } +public virtual ulong RecommendedMaxWorkingSetSize { get; } -public abstract ulong RegistryId { get; } +public virtual ulong RegistryId { get; } -public abstract bool Removable { get; } +public virtual bool Removable { get; } -public abstract UIntPtr SparseTileSizeInBytes { get; } +public virtual UIntPtr SparseTileSizeInBytes { get; } -public abstract bool Supports32BitFloatFiltering { get; } +public virtual bool Supports32BitFloatFiltering { get; } -public abstract bool Supports32BitMsaa { get; } +public virtual bool Supports32BitMsaa { get; } -public abstract bool SupportsDynamicLibraries { get; } +public virtual bool SupportsDynamicLibraries { get; } -public abstract bool SupportsFunctionPointers { get; } +public virtual bool SupportsFunctionPointers { get; } -public abstract bool SupportsFunctionPointersFromRender { get; } +public virtual bool SupportsFunctionPointersFromRender { get; } -public abstract bool SupportsPrimitiveMotionBlur { get; } +public virtual bool SupportsPrimitiveMotionBlur { get; } -public abstract bool SupportsPullModelInterpolation { get; } +public virtual bool SupportsPullModelInterpolation { get; } -public abstract bool SupportsQueryTextureLod { get; } +public virtual bool SupportsQueryTextureLod { get; } -public abstract bool SupportsRaytracing { get; } +public virtual bool SupportsRaytracing { get; } -public abstract bool SupportsRaytracingFromRender { get; } +public virtual bool SupportsRaytracingFromRender { get; } -public abstract bool SupportsRenderDynamicLibraries { get; } +public virtual bool SupportsRenderDynamicLibraries { get; } ``` Added property: ```csharp public virtual MTLArchitecture Architecture { get; } ``` Modified methods: ```diff -public abstract IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor) +public virtual IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor) -public abstract IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size) +public virtual IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size) -public abstract MTLAccelerationStructureSizes CreateAccelerationStructureSizes (MTLAccelerationStructureDescriptor descriptor) +public virtual MTLAccelerationStructureSizes CreateAccelerationStructureSizes (MTLAccelerationStructureDescriptor descriptor) -public abstract IMTLArgumentEncoder CreateArgumentEncoder (MTLArgumentDescriptor[] arguments) +public virtual IMTLArgumentEncoder CreateArgumentEncoder (MTLArgumentDescriptor[] arguments) -public abstract IMTLBinaryArchive CreateBinaryArchive (MTLBinaryArchiveDescriptor descriptor, out Foundation.NSError error) +public virtual IMTLBinaryArchive CreateBinaryArchive (MTLBinaryArchiveDescriptor descriptor, out Foundation.NSError error) -public abstract IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options) +public virtual IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options) -public abstract IMTLBuffer CreateBuffer (IntPtr pointer, UIntPtr length, MTLResourceOptions options) +public virtual IMTLBuffer CreateBuffer (IntPtr pointer, UIntPtr length, MTLResourceOptions options) -public abstract IMTLBuffer CreateBufferNoCopy (IntPtr pointer, UIntPtr length, MTLResourceOptions options, MTLDeallocator deallocator) +public virtual IMTLBuffer CreateBufferNoCopy (IntPtr pointer, UIntPtr length, MTLResourceOptions options, MTLDeallocator deallocator) -public abstract IMTLCommandQueue CreateCommandQueue () +public virtual IMTLCommandQueue CreateCommandQueue () -public abstract IMTLCommandQueue CreateCommandQueue (UIntPtr maxCommandBufferCount) +public virtual IMTLCommandQueue CreateCommandQueue (UIntPtr maxCommandBufferCount) -public abstract void CreateComputePipelineState (IMTLFunction computeFunction, System.Action%LESSERTHANREPLACEMENT%IMTLComputePipelineState,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateComputePipelineState (IMTLFunction computeFunction, System.Action%LESSERTHANREPLACEMENT%IMTLComputePipelineState,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract IMTLComputePipelineState CreateComputePipelineState (IMTLFunction computeFunction, out Foundation.NSError error) +public virtual IMTLComputePipelineState CreateComputePipelineState (IMTLFunction computeFunction, out Foundation.NSError error) -public abstract void CreateComputePipelineState (IMTLFunction computeFunction, MTLPipelineOption options, System.Action%LESSERTHANREPLACEMENT%IMTLComputePipelineState,Metal.MTLComputePipelineReflection,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateComputePipelineState (IMTLFunction computeFunction, MTLPipelineOption options, System.Action%LESSERTHANREPLACEMENT%IMTLComputePipelineState,Metal.MTLComputePipelineReflection,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void CreateComputePipelineState (MTLComputePipelineDescriptor descriptor, MTLPipelineOption options, MTLNewComputePipelineStateWithReflectionCompletionHandler completionHandler) +public virtual void CreateComputePipelineState (MTLComputePipelineDescriptor descriptor, MTLPipelineOption options, MTLNewComputePipelineStateWithReflectionCompletionHandler completionHandler) -public abstract IMTLComputePipelineState CreateComputePipelineState (IMTLFunction computeFunction, MTLPipelineOption options, out MTLComputePipelineReflection reflection, out Foundation.NSError error) +public virtual IMTLComputePipelineState CreateComputePipelineState (IMTLFunction computeFunction, MTLPipelineOption options, out MTLComputePipelineReflection reflection, out Foundation.NSError error) -public abstract IMTLComputePipelineState CreateComputePipelineState (MTLComputePipelineDescriptor descriptor, MTLPipelineOption options, out MTLComputePipelineReflection reflection, out Foundation.NSError error) +public virtual IMTLComputePipelineState CreateComputePipelineState (MTLComputePipelineDescriptor descriptor, MTLPipelineOption options, out MTLComputePipelineReflection reflection, out Foundation.NSError error) -public abstract IMTLCounterSampleBuffer CreateCounterSampleBuffer (MTLCounterSampleBufferDescriptor descriptor, out Foundation.NSError error) +public virtual IMTLCounterSampleBuffer CreateCounterSampleBuffer (MTLCounterSampleBufferDescriptor descriptor, out Foundation.NSError error) -public abstract IMTLLibrary CreateDefaultLibrary () +public virtual IMTLLibrary CreateDefaultLibrary () -public abstract IMTLLibrary CreateDefaultLibrary (Foundation.NSBundle bundle, out Foundation.NSError error) +public virtual IMTLLibrary CreateDefaultLibrary (Foundation.NSBundle bundle, out Foundation.NSError error) -public abstract IMTLDepthStencilState CreateDepthStencilState (MTLDepthStencilDescriptor descriptor) +public virtual IMTLDepthStencilState CreateDepthStencilState (MTLDepthStencilDescriptor descriptor) -public abstract IMTLDynamicLibrary CreateDynamicLibrary (Foundation.NSUrl url, out Foundation.NSError error) +public virtual IMTLDynamicLibrary CreateDynamicLibrary (Foundation.NSUrl url, out Foundation.NSError error) -public abstract IMTLDynamicLibrary CreateDynamicLibrary (IMTLLibrary library, out Foundation.NSError error) +public virtual IMTLDynamicLibrary CreateDynamicLibrary (IMTLLibrary library, out Foundation.NSError error) -public abstract IMTLEvent CreateEvent () +public virtual IMTLEvent CreateEvent () -public abstract IMTLFence CreateFence () +public virtual IMTLFence CreateFence () -public abstract IMTLHeap CreateHeap (MTLHeapDescriptor descriptor) +public virtual IMTLHeap CreateHeap (MTLHeapDescriptor descriptor) -public abstract IMTLIndirectCommandBuffer CreateIndirectCommandBuffer (MTLIndirectCommandBufferDescriptor descriptor, UIntPtr maxCount, MTLResourceOptions options) +public virtual IMTLIndirectCommandBuffer CreateIndirectCommandBuffer (MTLIndirectCommandBufferDescriptor descriptor, UIntPtr maxCount, MTLResourceOptions options) -public abstract IMTLLibrary CreateLibrary (CoreFoundation.DispatchData data, out Foundation.NSError error) +public virtual IMTLLibrary CreateLibrary (CoreFoundation.DispatchData data, out Foundation.NSError error) -public abstract IMTLLibrary CreateLibrary (Foundation.NSUrl url, out Foundation.NSError error) +public virtual IMTLLibrary CreateLibrary (Foundation.NSUrl url, out Foundation.NSError error) -public abstract void CreateLibrary (MTLStitchedLibraryDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLLibrary,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateLibrary (MTLStitchedLibraryDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLLibrary,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract IMTLLibrary CreateLibrary (MTLStitchedLibraryDescriptor descriptor, out Foundation.NSError error) +public virtual IMTLLibrary CreateLibrary (MTLStitchedLibraryDescriptor descriptor, out Foundation.NSError error) -public abstract IMTLLibrary CreateLibrary (string filepath, out Foundation.NSError error) +public virtual IMTLLibrary CreateLibrary (string filepath, out Foundation.NSError error) -public abstract void CreateLibrary (string source, MTLCompileOptions options, System.Action%LESSERTHANREPLACEMENT%IMTLLibrary,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateLibrary (string source, MTLCompileOptions options, System.Action%LESSERTHANREPLACEMENT%IMTLLibrary,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract IMTLLibrary CreateLibrary (string source, MTLCompileOptions options, out Foundation.NSError error) +public virtual IMTLLibrary CreateLibrary (string source, MTLCompileOptions options, out Foundation.NSError error) -public abstract IMTLRasterizationRateMap CreateRasterizationRateMap (MTLRasterizationRateMapDescriptor descriptor) +public virtual IMTLRasterizationRateMap CreateRasterizationRateMap (MTLRasterizationRateMapDescriptor descriptor) -public abstract void CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLRenderPipelineState,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLRenderPipelineState,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract IMTLRenderPipelineState CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, out Foundation.NSError error) +public virtual IMTLRenderPipelineState CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, out Foundation.NSError error) -public abstract void CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, MTLPipelineOption options, System.Action%LESSERTHANREPLACEMENT%IMTLRenderPipelineState,Metal.MTLRenderPipelineReflection,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, MTLPipelineOption options, System.Action%LESSERTHANREPLACEMENT%IMTLRenderPipelineState,Metal.MTLRenderPipelineReflection,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract void CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler) +public virtual void CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler) -public abstract IMTLRenderPipelineState CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error) +public virtual IMTLRenderPipelineState CreateRenderPipelineState (MTLRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error) -public abstract IMTLRenderPipelineState CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error) +public virtual IMTLRenderPipelineState CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error) -public abstract IMTLSamplerState CreateSamplerState (MTLSamplerDescriptor descriptor) +public virtual IMTLSamplerState CreateSamplerState (MTLSamplerDescriptor descriptor) -public abstract IMTLSharedEvent CreateSharedEvent () +public virtual IMTLSharedEvent CreateSharedEvent () -public abstract IMTLSharedEvent CreateSharedEvent (MTLSharedEventHandle sharedEventHandle) +public virtual IMTLSharedEvent CreateSharedEvent (MTLSharedEventHandle sharedEventHandle) -public abstract IMTLTexture CreateSharedTexture (MTLSharedTextureHandle sharedHandle) +public virtual IMTLTexture CreateSharedTexture (MTLSharedTextureHandle sharedHandle) -public abstract IMTLTexture CreateSharedTexture (MTLTextureDescriptor descriptor) +public virtual IMTLTexture CreateSharedTexture (MTLTextureDescriptor descriptor) -public abstract IMTLTexture CreateTexture (MTLTextureDescriptor descriptor) +public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor) -public abstract IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, IOSurface.IOSurface iosurface, UIntPtr plane) +public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, IOSurface.IOSurface iosurface, UIntPtr plane) -public abstract void GetDefaultSamplePositions (IntPtr positions, UIntPtr count) +public virtual void GetDefaultSamplePositions (IntPtr positions, UIntPtr count) -public abstract MTLSizeAndAlign GetHeapBufferSizeAndAlignWithLength (UIntPtr length, MTLResourceOptions options) +public virtual MTLSizeAndAlign GetHeapBufferSizeAndAlignWithLength (UIntPtr length, MTLResourceOptions options) -public abstract MTLSizeAndAlign GetHeapTextureSizeAndAlign (MTLTextureDescriptor desc) +public virtual MTLSizeAndAlign GetHeapTextureSizeAndAlign (MTLTextureDescriptor desc) -public abstract UIntPtr GetMinimumLinearTextureAlignment (MTLPixelFormat format) +public virtual UIntPtr GetMinimumLinearTextureAlignment (MTLPixelFormat format) -public abstract UIntPtr GetMinimumTextureBufferAlignment (MTLPixelFormat format) +public virtual UIntPtr GetMinimumTextureBufferAlignment (MTLPixelFormat format) -public abstract void GetSampleTimestamps (UIntPtr cpuTimestamp, UIntPtr gpuTimestamp) +public virtual void GetSampleTimestamps (UIntPtr cpuTimestamp, UIntPtr gpuTimestamp) -public abstract MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount) +public virtual MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount) -public abstract bool SupportsCounterSampling (MTLCounterSamplingPoint samplingPoint) +public virtual bool SupportsCounterSampling (MTLCounterSamplingPoint samplingPoint) -public abstract bool SupportsFamily (MTLGpuFamily gpuFamily) +public virtual bool SupportsFamily (MTLGpuFamily gpuFamily) -public abstract bool SupportsFeatureSet (MTLFeatureSet featureSet) +public virtual bool SupportsFeatureSet (MTLFeatureSet featureSet) -public abstract bool SupportsRasterizationRateMap (UIntPtr layerCount) +public virtual bool SupportsRasterizationRateMap (UIntPtr layerCount) -public abstract bool SupportsTextureSampleCount (UIntPtr sampleCount) +public virtual bool SupportsTextureSampleCount (UIntPtr sampleCount) -public abstract bool SupportsVertexAmplification (UIntPtr count) +public virtual bool SupportsVertexAmplification (UIntPtr count) ``` Added methods: ```csharp public virtual void ConvertSparsePixelRegions (IntPtr pixelRegions, IntPtr tileRegions, MTLSize tileSize, MTLSparseTextureRegionAlignmentMode mode, UIntPtr numRegions); public virtual void ConvertSparseTileRegions (IntPtr tileRegions, IntPtr pixelRegions, MTLSize tileSize, UIntPtr numRegions); public virtual IMTLArgumentEncoder CreateArgumentEncoder (IMTLBufferBinding bufferBinding); public virtual System.Threading.Tasks.Task<IMTLLibrary> CreateLibraryAsync (MTLStitchedLibraryDescriptor descriptor); public virtual System.Threading.Tasks.Task<IMTLLibrary> CreateLibraryAsync (string source, MTLCompileOptions options); public virtual void CreateRenderPipelineState (MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler); public virtual IMTLRenderPipelineState CreateRenderPipelineState (MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error); public virtual MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (MTLAccelerationStructureDescriptor descriptor); public virtual MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (UIntPtr size); public virtual MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, UIntPtr sampleCount, MTLSparsePageSize sparsePageSize); public virtual UIntPtr GetSparseTileSizeInBytes (MTLSparsePageSize sparsePageSize); ``` #### Type Changed: Metal.IMTLDrawable Modified properties: ```diff -public abstract UIntPtr DrawableId { get; } +public virtual UIntPtr DrawableId { get; } -public abstract double PresentedTime { get; } +public virtual double PresentedTime { get; } ``` Modified methods: ```diff -public abstract void AddPresentedHandler (System.Action%LESSERTHANREPLACEMENT%IMTLDrawable%GREATERTHANREPLACEMENT% block) +public virtual void AddPresentedHandler (System.Action%LESSERTHANREPLACEMENT%IMTLDrawable%GREATERTHANREPLACEMENT% block) -public abstract void Present () +public virtual void Present () -public abstract void Present (double presentationTime) +public virtual void Present (double presentationTime) -public abstract void PresentAfter (double duration) +public virtual void PresentAfter (double duration) ``` #### Type Changed: Metal.IMTLDynamicLibrary Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string InstallName { get; } +public virtual string InstallName { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } ``` Modified methods: ```diff -public abstract bool Serialize (Foundation.NSUrl url, out Foundation.NSError error) +public virtual bool Serialize (Foundation.NSUrl url, out Foundation.NSError error) ``` #### Type Changed: Metal.IMTLEvent Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } ``` #### Type Changed: Metal.IMTLFence Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } ``` #### Type Changed: Metal.IMTLFunction Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Metal.MTLFunctionConstant%GREATERTHANREPLACEMENT% FunctionConstants { get; } +public virtual Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Metal.MTLFunctionConstant%GREATERTHANREPLACEMENT% FunctionConstants { get; } -public abstract MTLFunctionType FunctionType { get; } +public virtual MTLFunctionType FunctionType { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } -public abstract string Name { get; } +public virtual string Name { get; } -public abstract MTLFunctionOptions Options { get; } +public virtual MTLFunctionOptions Options { get; } -public abstract IntPtr PatchControlPointCount { get; } +public virtual IntPtr PatchControlPointCount { get; } -public abstract MTLPatchType PatchType { get; } +public virtual MTLPatchType PatchType { get; } -public abstract MTLAttribute[] StageInputAttributes { get; } +public virtual MTLAttribute[] StageInputAttributes { get; } -public abstract MTLVertexAttribute[] VertexAttributes { get; } +public virtual MTLVertexAttribute[] VertexAttributes { get; } ``` Modified methods: ```diff -public abstract IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr bufferIndex) +public virtual IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr bufferIndex) -public abstract IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr bufferIndex, out MTLArgument reflection) +public virtual IMTLArgumentEncoder CreateArgumentEncoder (UIntPtr bufferIndex, out MTLArgument reflection) ``` #### Type Changed: Metal.IMTLFunctionHandle Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract MTLFunctionType FunctionType { get; } +public virtual MTLFunctionType FunctionType { get; } -public abstract string Name { get; } +public virtual string Name { get; } ``` #### Type Changed: Metal.IMTLFunctionLog Modified properties: ```diff -public abstract IMTLFunctionLogDebugLocation DebugLocation { get; } +public virtual IMTLFunctionLogDebugLocation DebugLocation { get; } -public abstract string EncoderLabel { get; } +public virtual string EncoderLabel { get; } -public abstract IMTLFunction Function { get; } +public virtual IMTLFunction Function { get; } -public abstract MTLFunctionLogType Type { get; } +public virtual MTLFunctionLogType Type { get; } ``` #### Type Changed: Metal.IMTLFunctionLogDebugLocation Modified properties: ```diff -public abstract UIntPtr Column { get; } +public virtual UIntPtr Column { get; } -public abstract string FunctionName { get; } +public virtual string FunctionName { get; } -public abstract UIntPtr Line { get; } +public virtual UIntPtr Line { get; } -public abstract Foundation.NSUrl Url { get; } +public virtual Foundation.NSUrl Url { get; } ``` #### Type Changed: Metal.IMTLHeap Modified properties: ```diff -public abstract MTLCpuCacheMode CpuCacheMode { get; } +public virtual MTLCpuCacheMode CpuCacheMode { get; } -public abstract UIntPtr CurrentAllocatedSize { get; } +public virtual UIntPtr CurrentAllocatedSize { get; } -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract MTLHazardTrackingMode HazardTrackingMode { get; } +public virtual MTLHazardTrackingMode HazardTrackingMode { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } -public abstract MTLResourceOptions ResourceOptions { get; } +public virtual MTLResourceOptions ResourceOptions { get; } -public abstract UIntPtr Size { get; } +public virtual UIntPtr Size { get; } -public abstract MTLStorageMode StorageMode { get; } +public virtual MTLStorageMode StorageMode { get; } -public abstract MTLHeapType Type { get; } +public virtual MTLHeapType Type { get; } -public abstract UIntPtr UsedSize { get; } +public virtual UIntPtr UsedSize { get; } ``` Modified methods: ```diff -public abstract IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options) +public virtual IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options) -public abstract IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options, UIntPtr offset) +public virtual IMTLBuffer CreateBuffer (UIntPtr length, MTLResourceOptions options, UIntPtr offset) -public abstract IMTLTexture CreateTexture (MTLTextureDescriptor desc) +public virtual IMTLTexture CreateTexture (MTLTextureDescriptor desc) -public abstract IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset) +public virtual IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, UIntPtr offset) -public abstract UIntPtr GetMaxAvailableSize (UIntPtr alignment) +public virtual UIntPtr GetMaxAvailableSize (UIntPtr alignment) -public abstract MTLPurgeableState SetPurgeableState (MTLPurgeableState state) +public virtual MTLPurgeableState SetPurgeableState (MTLPurgeableState state) ``` Added methods: ```csharp public virtual IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor); public virtual IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size); public virtual IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor, UIntPtr offset); public virtual IMTLAccelerationStructure CreateAccelerationStructure (UIntPtr size, UIntPtr offset); ``` #### Type Changed: Metal.IMTLIndirectCommandBuffer Modified properties: ```diff -public abstract UIntPtr Size { get; } +public virtual UIntPtr Size { get; } ``` Added property: ```csharp public virtual MTLResourceId GpuResourceID { get; } ``` Modified methods: ```diff -public abstract IMTLIndirectRenderCommand GetCommand (UIntPtr commandIndex) +public virtual IMTLIndirectRenderCommand GetCommand (UIntPtr commandIndex) -public abstract IMTLIndirectComputeCommand GetIndirectComputeCommand (UIntPtr commandIndex) +public virtual IMTLIndirectComputeCommand GetIndirectComputeCommand (UIntPtr commandIndex) -public abstract void Reset (Foundation.NSRange range) +public virtual void Reset (Foundation.NSRange range) ``` #### Type Changed: Metal.IMTLIndirectComputeCommand Modified methods: ```diff -public abstract void ClearBarrier () +public virtual void ClearBarrier () -public abstract void ConcurrentDispatchThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerThreadgroup) +public virtual void ConcurrentDispatchThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerThreadgroup) -public abstract void ConcurrentDispatchThreads (MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup) +public virtual void ConcurrentDispatchThreads (MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup) -public abstract void Reset () +public virtual void Reset () -public abstract void SetBarrier () +public virtual void SetBarrier () -public abstract void SetComputePipelineState (IMTLComputePipelineState pipelineState) +public virtual void SetComputePipelineState (IMTLComputePipelineState pipelineState) -public abstract void SetImageblock (UIntPtr width, UIntPtr height) +public virtual void SetImageblock (UIntPtr width, UIntPtr height) -public abstract void SetKernelBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetKernelBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) -public abstract void SetStageInRegion (MTLRegion region) +public virtual void SetStageInRegion (MTLRegion region) -public abstract void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr index) +public virtual void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr index) ``` Added method: ```csharp public virtual void SetKernelBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index); ``` #### Type Changed: Metal.IMTLIndirectRenderCommand Modified methods: ```diff -public abstract void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance, IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride) +public virtual void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance, IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride) -public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount, IntPtr baseVertex, UIntPtr baseInstance) +public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount, IntPtr baseVertex, UIntPtr baseInstance) -public abstract void DrawPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance, IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride) +public virtual void DrawPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance, IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride) -public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount, UIntPtr baseInstance) +public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount, UIntPtr baseInstance) -public abstract void Reset () +public virtual void Reset () -public abstract void SetFragmentBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetFragmentBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) -public abstract void SetRenderPipelineState (IMTLRenderPipelineState pipelineState) +public virtual void SetRenderPipelineState (IMTLRenderPipelineState pipelineState) -public abstract void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) ``` Added methods: ```csharp public virtual void ClearBarrier (); public virtual void DrawMeshThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public virtual void DrawMeshThreads (MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public virtual void SetBarrier (); public virtual void SetMeshBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index); public virtual void SetObjectBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index); public virtual void SetObjectThreadgroupMemoryLength (UIntPtr length, UIntPtr index); public virtual void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index); ``` #### Type Changed: Metal.IMTLIntersectionFunctionTable Added property: ```csharp public virtual MTLResourceId GpuResourceId { get; } ``` Modified methods: ```diff -public abstract void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) -public abstract void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range) +public virtual void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range) -public abstract void SetFunction (IMTLFunctionHandle function, UIntPtr index) +public virtual void SetFunction (IMTLFunctionHandle function, UIntPtr index) -public abstract void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range) +public virtual void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range) -public abstract void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range) +public virtual void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range) -public abstract void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, UIntPtr index) +public virtual void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, UIntPtr index) -public abstract void SetVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex) +public virtual void SetVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex) -public abstract void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange bufferRange) +public virtual void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange bufferRange) ``` Added methods: ```csharp public virtual void SetOpaqueCurveIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range); public virtual void SetOpaqueCurveIntersectionFunction (MTLIntersectionFunctionSignature signature, UIntPtr index); ``` #### Type Changed: Metal.IMTLLibrary Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string[] FunctionNames { get; } +public virtual string[] FunctionNames { get; } -public abstract string InstallName { get; } +public virtual string InstallName { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } -public abstract MTLLibraryType Type { get; } +public virtual MTLLibraryType Type { get; } ``` Modified methods: ```diff -public abstract IMTLFunction CreateFunction (string functionName) +public virtual IMTLFunction CreateFunction (string functionName) -public abstract void CreateFunction (MTLFunctionDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateFunction (MTLFunctionDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract IMTLFunction CreateFunction (MTLFunctionDescriptor descriptor, out Foundation.NSError error) +public virtual IMTLFunction CreateFunction (MTLFunctionDescriptor descriptor, out Foundation.NSError error) -public abstract void CreateFunction (string name, MTLFunctionConstantValues constantValues, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateFunction (string name, MTLFunctionConstantValues constantValues, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract IMTLFunction CreateFunction (string name, MTLFunctionConstantValues constantValues, out Foundation.NSError error) +public virtual IMTLFunction CreateFunction (string name, MTLFunctionConstantValues constantValues, out Foundation.NSError error) -public abstract void CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, System.Action%LESSERTHANREPLACEMENT%IMTLFunction,Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) -public abstract IMTLFunction CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, out Foundation.NSError error) +public virtual IMTLFunction CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, out Foundation.NSError error) ``` Added method: ```csharp public virtual System.Threading.Tasks.Task<IMTLFunction> CreateFunctionAsync (string name, MTLFunctionConstantValues constantValues); ``` #### Type Changed: Metal.IMTLParallelRenderCommandEncoder Modified methods: ```diff -public abstract IMTLRenderCommandEncoder CreateRenderCommandEncoder () +public virtual IMTLRenderCommandEncoder CreateRenderCommandEncoder () -public abstract void SetColorStoreAction (MTLStoreAction storeAction, UIntPtr colorAttachmentIndex) +public virtual void SetColorStoreAction (MTLStoreAction storeAction, UIntPtr colorAttachmentIndex) -public abstract void SetColorStoreActionOptions (MTLStoreActionOptions storeActionOptions, UIntPtr colorAttachmentIndex) +public virtual void SetColorStoreActionOptions (MTLStoreActionOptions storeActionOptions, UIntPtr colorAttachmentIndex) -public abstract void SetDepthStoreAction (MTLStoreAction storeAction) +public virtual void SetDepthStoreAction (MTLStoreAction storeAction) -public abstract void SetDepthStoreActionOptions (MTLStoreActionOptions storeActionOptions) +public virtual void SetDepthStoreActionOptions (MTLStoreActionOptions storeActionOptions) -public abstract void SetStencilStoreAction (MTLStoreAction storeAction) +public virtual void SetStencilStoreAction (MTLStoreAction storeAction) -public abstract void SetStencilStoreActionOptions (MTLStoreActionOptions storeActionOptions) +public virtual void SetStencilStoreActionOptions (MTLStoreActionOptions storeActionOptions) ``` #### Type Changed: Metal.IMTLRasterizationRateMap Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; } +public virtual string Label { get; } -public abstract UIntPtr LayerCount { get; } +public virtual UIntPtr LayerCount { get; } -public abstract MTLSizeAndAlign ParameterBufferSizeAndAlign { get; } +public virtual MTLSizeAndAlign ParameterBufferSizeAndAlign { get; } -public abstract MTLSize PhysicalGranularity { get; } +public virtual MTLSize PhysicalGranularity { get; } -public abstract MTLSize ScreenSize { get; } +public virtual MTLSize ScreenSize { get; } ``` Modified methods: ```diff -public abstract void CopyParameterData (IMTLBuffer buffer, UIntPtr offset) +public virtual void CopyParameterData (IMTLBuffer buffer, UIntPtr offset) -public abstract MTLSize GetPhysicalSize (UIntPtr layerIndex) +public virtual MTLSize GetPhysicalSize (UIntPtr layerIndex) -public abstract MTLCoordinate2D MapPhysicalToScreenCoordinates (MTLCoordinate2D physicalCoordinates, UIntPtr layerIndex) +public virtual MTLCoordinate2D MapPhysicalToScreenCoordinates (MTLCoordinate2D physicalCoordinates, UIntPtr layerIndex) -public abstract MTLCoordinate2D MapScreenToPhysicalCoordinates (MTLCoordinate2D screenCoordinates, UIntPtr layerIndex) +public virtual MTLCoordinate2D MapScreenToPhysicalCoordinates (MTLCoordinate2D screenCoordinates, UIntPtr layerIndex) ``` #### Type Changed: Metal.IMTLRenderCommandEncoder Modified properties: ```diff -public abstract UIntPtr TileHeight { get; } +public virtual UIntPtr TileHeight { get; } -public abstract UIntPtr TileWidth { get; } +public virtual UIntPtr TileWidth { get; } ``` Modified methods: ```diff -public abstract void DispatchThreadsPerTile (MTLSize threadsPerTile) +public virtual void DispatchThreadsPerTile (MTLSize threadsPerTile) -public abstract void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) +public virtual void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) -public abstract void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance) +public virtual void DrawIndexedPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, UIntPtr controlPointIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance) -public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset) +public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset) -public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) +public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) -public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount) +public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount) -public abstract void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount, IntPtr baseVertex, UIntPtr baseInstance) +public virtual void DrawIndexedPrimitives (MTLPrimitiveType primitiveType, UIntPtr indexCount, MTLIndexType indexType, IMTLBuffer indexBuffer, UIntPtr indexBufferOffset, UIntPtr instanceCount, IntPtr baseVertex, UIntPtr baseInstance) -public abstract void DrawPatches (UIntPtr numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) +public virtual void DrawPatches (UIntPtr numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) -public abstract void DrawPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance) +public virtual void DrawPatches (UIntPtr numberOfPatchControlPoints, UIntPtr patchStart, UIntPtr patchCount, IMTLBuffer patchIndexBuffer, UIntPtr patchIndexBufferOffset, UIntPtr instanceCount, UIntPtr baseInstance) -public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) +public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset) -public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount) +public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount) -public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount) +public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount) -public abstract void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount, UIntPtr baseInstance) +public virtual void DrawPrimitives (MTLPrimitiveType primitiveType, UIntPtr vertexStart, UIntPtr vertexCount, UIntPtr instanceCount, UIntPtr baseInstance) -public abstract void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange) +public virtual void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandBuffer, Foundation.NSRange executionRange) -public abstract void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, UIntPtr indirectBufferOffset) +public virtual void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, UIntPtr indirectBufferOffset) -public abstract void MemoryBarrier (MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before) +public virtual void MemoryBarrier (MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before) -public abstract void MemoryBarrier (IMTLResource[] resources, UIntPtr count, MTLRenderStages after, MTLRenderStages before) +public virtual void MemoryBarrier (IMTLResource[] resources, UIntPtr count, MTLRenderStages after, MTLRenderStages before) -public abstract void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier) +public virtual void SampleCounters (IMTLCounterSampleBuffer sampleBuffer, UIntPtr sampleIndex, bool barrier) -public abstract void SetBlendColor (float red, float green, float blue, float alpha) +public virtual void SetBlendColor (float red, float green, float blue, float alpha) -public abstract void SetColorStoreAction (MTLStoreAction storeAction, UIntPtr colorAttachmentIndex) +public virtual void SetColorStoreAction (MTLStoreAction storeAction, UIntPtr colorAttachmentIndex) -public abstract void SetColorStoreActionOptions (MTLStoreActionOptions storeActionOptions, UIntPtr colorAttachmentIndex) +public virtual void SetColorStoreActionOptions (MTLStoreActionOptions storeActionOptions, UIntPtr colorAttachmentIndex) -public abstract void SetCullMode (MTLCullMode cullMode) +public virtual void SetCullMode (MTLCullMode cullMode) -public abstract void SetDepthBias (float depthBias, float slopeScale, float clamp) +public virtual void SetDepthBias (float depthBias, float slopeScale, float clamp) -public abstract void SetDepthClipMode (MTLDepthClipMode depthClipMode) +public virtual void SetDepthClipMode (MTLDepthClipMode depthClipMode) -public abstract void SetDepthStencilState (IMTLDepthStencilState depthStencilState) +public virtual void SetDepthStencilState (IMTLDepthStencilState depthStencilState) -public abstract void SetDepthStoreAction (MTLStoreAction storeAction) +public virtual void SetDepthStoreAction (MTLStoreAction storeAction) -public abstract void SetDepthStoreActionOptions (MTLStoreActionOptions storeActionOptions) +public virtual void SetDepthStoreActionOptions (MTLStoreActionOptions storeActionOptions) -public abstract void SetFragmentAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex) +public virtual void SetFragmentAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex) -public abstract void SetFragmentBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetFragmentBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) -public abstract void SetFragmentBufferOffset (UIntPtr offset, UIntPtr index) +public virtual void SetFragmentBufferOffset (UIntPtr offset, UIntPtr index) -public abstract void SetFragmentBuffers (IMTLBuffer buffers, IntPtr IntPtrOffsets, Foundation.NSRange range) +public virtual void SetFragmentBuffers (IMTLBuffer buffers, IntPtr IntPtrOffsets, Foundation.NSRange range) -public abstract void SetFragmentBytes (IntPtr bytes, UIntPtr length, UIntPtr index) +public virtual void SetFragmentBytes (IntPtr bytes, UIntPtr length, UIntPtr index) -public abstract void SetFragmentIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex) +public virtual void SetFragmentIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex) -public abstract void SetFragmentIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range) +public virtual void SetFragmentIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range) -public abstract void SetFragmentSamplerState (IMTLSamplerState sampler, UIntPtr index) +public virtual void SetFragmentSamplerState (IMTLSamplerState sampler, UIntPtr index) -public abstract void SetFragmentSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index) +public virtual void SetFragmentSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index) -public abstract void SetFragmentSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) +public virtual void SetFragmentSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) -public abstract void SetFragmentSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range) +public virtual void SetFragmentSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range) -public abstract void SetFragmentTexture (IMTLTexture texture, UIntPtr index) +public virtual void SetFragmentTexture (IMTLTexture texture, UIntPtr index) -public abstract void SetFragmentTextures (IMTLTexture[] textures, Foundation.NSRange range) +public virtual void SetFragmentTextures (IMTLTexture[] textures, Foundation.NSRange range) -public abstract void SetFragmentVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex) +public virtual void SetFragmentVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex) -public abstract void SetFragmentVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range) +public virtual void SetFragmentVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range) -public abstract void SetFrontFacingWinding (MTLWinding frontFacingWinding) +public virtual void SetFrontFacingWinding (MTLWinding frontFacingWinding) -public abstract void SetRenderPipelineState (IMTLRenderPipelineState pipelineState) +public virtual void SetRenderPipelineState (IMTLRenderPipelineState pipelineState) -public abstract void SetScissorRect (MTLScissorRect rect) +public virtual void SetScissorRect (MTLScissorRect rect) -public abstract void SetScissorRects (IntPtr scissorRects, UIntPtr count) +public virtual void SetScissorRects (IntPtr scissorRects, UIntPtr count) -public abstract void SetStencilFrontReferenceValue (uint frontReferenceValue, uint backReferenceValue) +public virtual void SetStencilFrontReferenceValue (uint frontReferenceValue, uint backReferenceValue) -public abstract void SetStencilReferenceValue (uint referenceValue) +public virtual void SetStencilReferenceValue (uint referenceValue) -public abstract void SetStencilStoreAction (MTLStoreAction storeAction) +public virtual void SetStencilStoreAction (MTLStoreAction storeAction) -public abstract void SetStencilStoreActionOptions (MTLStoreActionOptions storeActionOptions) +public virtual void SetStencilStoreActionOptions (MTLStoreActionOptions storeActionOptions) -public abstract void SetTessellationFactorBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride) +public virtual void SetTessellationFactorBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr instanceStride) -public abstract void SetTessellationFactorScale (float scale) +public virtual void SetTessellationFactorScale (float scale) -public abstract void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr offset, UIntPtr index) +public virtual void SetThreadgroupMemoryLength (UIntPtr length, UIntPtr offset, UIntPtr index) -public abstract void SetTileAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex) +public virtual void SetTileAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex) -public abstract void SetTileBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetTileBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) -public abstract void SetTileBufferOffset (UIntPtr offset, UIntPtr index) +public virtual void SetTileBufferOffset (UIntPtr offset, UIntPtr index) -public abstract void SetTileBuffers (IMTLBuffer[] buffers, IntPtr offsets, Foundation.NSRange range) +public virtual void SetTileBuffers (IMTLBuffer[] buffers, IntPtr offsets, Foundation.NSRange range) -public abstract void SetTileBytes (IntPtr bytes, UIntPtr length, UIntPtr index) +public virtual void SetTileBytes (IntPtr bytes, UIntPtr length, UIntPtr index) -public abstract void SetTileIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex) +public virtual void SetTileIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex) -public abstract void SetTileIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range) +public virtual void SetTileIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range) -public abstract void SetTileSamplerState (IMTLSamplerState sampler, UIntPtr index) +public virtual void SetTileSamplerState (IMTLSamplerState sampler, UIntPtr index) -public abstract void SetTileSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index) +public virtual void SetTileSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index) -public abstract void SetTileSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) +public virtual void SetTileSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) -public abstract void SetTileSamplerStates (IMTLSamplerState[] samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range) +public virtual void SetTileSamplerStates (IMTLSamplerState[] samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range) -public abstract void SetTileTexture (IMTLTexture texture, UIntPtr index) +public virtual void SetTileTexture (IMTLTexture texture, UIntPtr index) -public abstract void SetTileTextures (IMTLTexture[] textures, Foundation.NSRange range) +public virtual void SetTileTextures (IMTLTexture[] textures, Foundation.NSRange range) -public abstract void SetTileVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex) +public virtual void SetTileVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex) -public abstract void SetTileVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range) +public virtual void SetTileVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range) -public abstract void SetTriangleFillMode (MTLTriangleFillMode fillMode) +public virtual void SetTriangleFillMode (MTLTriangleFillMode fillMode) -public abstract void SetVertexAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex) +public virtual void SetVertexAccelerationStructure (IMTLAccelerationStructure accelerationStructure, UIntPtr bufferIndex) -public abstract void SetVertexAmplificationCount (UIntPtr count, MTLVertexAmplificationViewMapping viewMappings) +public virtual void SetVertexAmplificationCount (UIntPtr count, MTLVertexAmplificationViewMapping viewMappings) -public abstract void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) +public virtual void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index) -public abstract void SetVertexBufferOffset (UIntPtr offset, UIntPtr index) +public virtual void SetVertexBufferOffset (UIntPtr offset, UIntPtr index) -public abstract void SetVertexBuffers (IMTLBuffer[] buffers, IntPtr uintArrayPtrOffsets, Foundation.NSRange range) +public virtual void SetVertexBuffers (IMTLBuffer[] buffers, IntPtr uintArrayPtrOffsets, Foundation.NSRange range) -public abstract void SetVertexBytes (IntPtr bytes, UIntPtr length, UIntPtr index) +public virtual void SetVertexBytes (IntPtr bytes, UIntPtr length, UIntPtr index) -public abstract void SetVertexIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex) +public virtual void SetVertexIntersectionFunctionTable (IMTLIntersectionFunctionTable intersectionFunctionTable, UIntPtr bufferIndex) -public abstract void SetVertexIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range) +public virtual void SetVertexIntersectionFunctionTables (IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range) -public abstract void SetVertexSamplerState (IMTLSamplerState sampler, UIntPtr index) +public virtual void SetVertexSamplerState (IMTLSamplerState sampler, UIntPtr index) -public abstract void SetVertexSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index) +public virtual void SetVertexSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index) -public abstract void SetVertexSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) +public virtual void SetVertexSamplerStates (IMTLSamplerState[] samplers, Foundation.NSRange range) -public abstract void SetVertexSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range) +public virtual void SetVertexSamplerStates (IMTLSamplerState[] samplers, IntPtr floatArrayPtrLodMinClamps, IntPtr floatArrayPtrLodMaxClamps, Foundation.NSRange range) -public abstract void SetVertexTexture (IMTLTexture texture, UIntPtr index) +public virtual void SetVertexTexture (IMTLTexture texture, UIntPtr index) -public abstract void SetVertexTextures (IMTLTexture[] textures, Foundation.NSRange range) +public virtual void SetVertexTextures (IMTLTexture[] textures, Foundation.NSRange range) -public abstract void SetVertexVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex) +public virtual void SetVertexVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, UIntPtr bufferIndex) -public abstract void SetVertexVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range) +public virtual void SetVertexVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range) -public abstract void SetViewport (MTLViewport viewport) +public virtual void SetViewport (MTLViewport viewport) -public abstract void SetViewports (IntPtr viewports, UIntPtr count) +public virtual void SetViewports (IntPtr viewports, UIntPtr count) -public abstract void SetVisibilityResultMode (MTLVisibilityResultMode mode, UIntPtr offset) +public virtual void SetVisibilityResultMode (MTLVisibilityResultMode mode, UIntPtr offset) -public abstract void Update (IMTLFence fence, MTLRenderStages stages) +public virtual void Update (IMTLFence fence, MTLRenderStages stages) -public abstract void UseHeap (IMTLHeap heap) +public virtual void UseHeap (IMTLHeap heap) -public abstract void UseHeap (IMTLHeap heap, MTLRenderStages stages) +public virtual void UseHeap (IMTLHeap heap, MTLRenderStages stages) -public abstract void UseHeaps (IMTLHeap[] heaps, UIntPtr count) +public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count) -public abstract void UseHeaps (IMTLHeap[] heaps, UIntPtr count, MTLRenderStages stages) +public virtual void UseHeaps (IMTLHeap[] heaps, UIntPtr count, MTLRenderStages stages) -public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage) +public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage) -public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage, MTLRenderStages stages) +public virtual void UseResource (IMTLResource resource, MTLResourceUsage usage, MTLRenderStages stages) -public abstract void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage) +public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage) -public abstract void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage, MTLRenderStages stages) +public virtual void UseResources (IMTLResource[] resources, UIntPtr count, MTLResourceUsage usage, MTLRenderStages stages) -public abstract void Wait (IMTLFence fence, MTLRenderStages stages) +public virtual void Wait (IMTLFence fence, MTLRenderStages stages) ``` Added methods: ```csharp public virtual void DrawMeshThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public virtual void DrawMeshThreadgroups (IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public virtual void DrawMeshThreads (MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); public virtual void SetMeshBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index); public virtual void SetMeshBufferOffset (UIntPtr offset, UIntPtr index); public virtual void SetMeshBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range); public virtual void SetMeshBytes (IntPtr bytes, UIntPtr length, UIntPtr index); public virtual void SetMeshSamplerState (IMTLSamplerState sampler, UIntPtr index); public virtual void SetMeshSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index); public virtual void SetMeshSamplerStates (IntPtr samplers, Foundation.NSRange range); public virtual void SetMeshSamplerStates (IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range); public virtual void SetMeshTexture (IMTLTexture texture, UIntPtr index); public virtual void SetMeshTextures (IntPtr textures, Foundation.NSRange range); public virtual void SetObjectBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr index); public virtual void SetObjectBufferOffset (UIntPtr offset, UIntPtr index); public virtual void SetObjectBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range); public virtual void SetObjectBytes (IntPtr bytes, UIntPtr length, UIntPtr index); public virtual void SetObjectSamplerState (IMTLSamplerState sampler, UIntPtr index); public virtual void SetObjectSamplerState (IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, UIntPtr index); public virtual void SetObjectSamplerStates (IntPtr samplers, Foundation.NSRange range); public virtual void SetObjectSamplerStates (IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range); public virtual void SetObjectTexture (IMTLTexture texture, UIntPtr index); public virtual void SetObjectTextures (IntPtr textures, Foundation.NSRange range); public virtual void SetObjectThreadgroupMemoryLength (UIntPtr length, UIntPtr index); public virtual void SetVertexBuffer (IMTLBuffer buffer, UIntPtr offset, UIntPtr stride, UIntPtr index); public virtual void SetVertexBufferOffset (UIntPtr offset, UIntPtr stride, UIntPtr index); public virtual void SetVertexBuffers (IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range); public virtual void SetVertexBytes (IntPtr bytes, UIntPtr length, UIntPtr stride, UIntPtr index); ``` #### Type Changed: Metal.IMTLRenderPipelineState Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract UIntPtr ImageblockSampleLength { get; } +public virtual UIntPtr ImageblockSampleLength { get; } -public abstract string Label { get; } +public virtual string Label { get; } -public abstract UIntPtr MaxTotalThreadsPerThreadgroup { get; } +public virtual UIntPtr MaxTotalThreadsPerThreadgroup { get; } -public abstract bool SupportIndirectCommandBuffers { get; } +public virtual bool SupportIndirectCommandBuffers { get; } -public abstract bool ThreadgroupSizeMatchesTileSize { get; } +public virtual bool ThreadgroupSizeMatchesTileSize { get; } ``` Added properties: ```csharp public virtual MTLResourceId GpuResourceId { get; } public virtual UIntPtr MaxTotalThreadgroupsPerMeshGrid { get; } public virtual UIntPtr MaxTotalThreadsPerMeshThreadgroup { get; } public virtual UIntPtr MaxTotalThreadsPerObjectThreadgroup { get; } public virtual UIntPtr MeshThreadExecutionWidth { get; } public virtual UIntPtr ObjectThreadExecutionWidth { get; } ``` Modified methods: ```diff -public abstract IMTLFunctionHandle FunctionHandleWithFunction (IMTLFunction function, MTLRenderStages stage) +public virtual IMTLFunctionHandle FunctionHandleWithFunction (IMTLFunction function, MTLRenderStages stage) -public abstract UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions) +public virtual UIntPtr GetImageblockMemoryLength (MTLSize imageblockDimensions) -public abstract IMTLIntersectionFunctionTable NewIntersectionFunctionTableWithDescriptor (MTLIntersectionFunctionTableDescriptor descriptor, MTLRenderStages stage) +public virtual IMTLIntersectionFunctionTable NewIntersectionFunctionTableWithDescriptor (MTLIntersectionFunctionTableDescriptor descriptor, MTLRenderStages stage) -public abstract IMTLRenderPipelineState NewRenderPipelineStateWithAdditionalBinaryFunctions (MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions, out Foundation.NSError error) +public virtual IMTLRenderPipelineState NewRenderPipelineStateWithAdditionalBinaryFunctions (MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions, out Foundation.NSError error) -public abstract IMTLVisibleFunctionTable NewVisibleFunctionTableWithDescriptor (MTLVisibleFunctionTableDescriptor descriptor, MTLRenderStages stage) +public virtual IMTLVisibleFunctionTable NewVisibleFunctionTableWithDescriptor (MTLVisibleFunctionTableDescriptor descriptor, MTLRenderStages stage) ``` #### Type Changed: Metal.IMTLResource Modified properties: ```diff -public abstract UIntPtr AllocatedSize { get; } +public virtual UIntPtr AllocatedSize { get; } -public abstract MTLCpuCacheMode CpuCacheMode { get; } +public virtual MTLCpuCacheMode CpuCacheMode { get; } -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract MTLHazardTrackingMode HazardTrackingMode { get; } +public virtual MTLHazardTrackingMode HazardTrackingMode { get; } -public abstract IMTLHeap Heap { get; } +public virtual IMTLHeap Heap { get; } -public abstract UIntPtr HeapOffset { get; } +public virtual UIntPtr HeapOffset { get; } -public abstract bool IsAliasable { get; } +public virtual bool IsAliasable { get; } -public abstract string Label { get; set; } +public virtual string Label { get; set; } -public abstract MTLResourceOptions ResourceOptions { get; } +public virtual MTLResourceOptions ResourceOptions { get; } -public abstract MTLStorageMode StorageMode { get; } +public virtual MTLStorageMode StorageMode { get; } ``` Modified methods: ```diff -public abstract void MakeAliasable () +public virtual void MakeAliasable () -public abstract MTLPurgeableState SetPurgeableState (MTLPurgeableState state) +public virtual MTLPurgeableState SetPurgeableState (MTLPurgeableState state) ``` Added method: ```csharp public virtual int SetOwnerWithIdentity (uint taskIdToken); ``` #### Type Changed: Metal.IMTLResourceStateCommandEncoder Added methods: ```csharp public virtual void MoveTextureMappings (IMTLTexture sourceTexture, UIntPtr sourceSlice, UIntPtr sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, UIntPtr destinationSlice, UIntPtr destinationLevel, MTLOrigin destinationOrigin); public virtual void Update (IMTLFence fence); public virtual void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, IMTLBuffer indirectBuffer, UIntPtr indirectBufferOffset); public virtual void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, MTLRegion region, UIntPtr mipLevel, UIntPtr slice); public virtual void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, IntPtr regions, IntPtr mipLevels, IntPtr slices, UIntPtr numRegions); public virtual void Wait (IMTLFence fence); ``` #### Type Changed: Metal.IMTLSamplerState Modified properties: ```diff -public abstract IMTLDevice Device { get; } +public virtual IMTLDevice Device { get; } -public abstract string Label { get; } +public virtual string Label { get; } ``` Added property: ```csharp public virtual MTLResourceId GpuResourceId { get; } ``` #### Type Changed: Metal.IMTLSharedEvent Modified properties: ```diff -public abstract ulong SignaledValue { get; set; } +public virtual ulong SignaledValue { get; set; } ``` Modified methods: ```diff -public abstract MTLSharedEventHandle CreateSharedEventHandle () +public virtual MTLSharedEventHandle CreateSharedEventHandle () -public abstract void NotifyListener (MTLSharedEventListener listener, ulong atValue, MTLSharedEventNotificationBlock block) +public virtual void NotifyListener (MTLSharedEventListener listener, ulong atValue, MTLSharedEventNotificationBlock block) ``` Added method: ```csharp public virtual bool WaitUntilSignaledValue (ulong value, ulong milliseconds); ``` #### Type Changed: Metal.IMTLTexture Modified properties: ```diff -public abstract bool AllowGpuOptimizedContents { get; } +public virtual bool AllowGpuOptimizedContents { get; } -public abstract UIntPtr ArrayLength { get; } +public virtual UIntPtr ArrayLength { get; } -public abstract IMTLBuffer Buffer { get; } +public virtual IMTLBuffer Buffer { get; } -public abstract UIntPtr BufferBytesPerRow { get; } +public virtual UIntPtr BufferBytesPerRow { get; } -public abstract UIntPtr BufferOffset { get; } +public virtual UIntPtr BufferOffset { get; } -public abstract UIntPtr Depth { get; } +public virtual UIntPtr Depth { get; } -public abstract bool FramebufferOnly { get; } +public virtual bool FramebufferOnly { get; } -public abstract UIntPtr Height { get; } +public virtual UIntPtr Height { get; } -public abstract IOSurface.IOSurface IOSurface { get; } +public virtual IOSurface.IOSurface IOSurface { get; } -public abstract UIntPtr IOSurfacePlane { get; } +public virtual UIntPtr IOSurfacePlane { get; } -public abstract UIntPtr MipmapLevelCount { get; } +public virtual UIntPtr MipmapLevelCount { get; } -public abstract UIntPtr ParentRelativeLevel { get; } +public virtual UIntPtr ParentRelativeLevel { get; } -public abstract UIntPtr ParentRelativeSlice { get; } +public virtual UIntPtr ParentRelativeSlice { get; } -public abstract IMTLTexture ParentTexture { get; } +public virtual IMTLTexture ParentTexture { get; } -public abstract MTLPixelFormat PixelFormat { get; } +public virtual MTLPixelFormat PixelFormat { get; } -public abstract IMTLResource RootResource { get; } +public virtual IMTLResource RootResource { get; } -public abstract UIntPtr SampleCount { get; } +public virtual UIntPtr SampleCount { get; } -public abstract bool Shareable { get; } +public virtual bool Shareable { get; } -public abstract MTLTextureSwizzleChannels Swizzle { get; } +public virtual MTLTextureSwizzleChannels Swizzle { get; } -public abstract MTLTextureType TextureType { get; } +public virtual MTLTextureType TextureType { get; } -public abstract MTLTextureUsage Usage { get; } +public virtual MTLTextureUsage Usage { get; } -public abstract UIntPtr Width { get; } +public virtual UIntPtr Width { get; } ``` Added properties: ```csharp public virtual UIntPtr FirstMipmapInTail { get; } public virtual MTLResourceId GpuResourceId { get; } public virtual bool IsSparse { get; } public virtual UIntPtr TailSizeInBytes { get; } ``` Modified methods: ```diff -public abstract IMTLTexture Create (MTLPixelFormat pixelFormat, MTLTextureType textureType, Foundation.NSRange levelRange, Foundation.NSRange sliceRange, MTLTextureSwizzleChannels swizzle) +public virtual IMTLTexture Create (MTLPixelFormat pixelFormat, MTLTextureType textureType, Foundation.NSRange levelRange, Foundation.NSRange sliceRange, MTLTextureSwizzleChannels swizzle) -public abstract MTLSharedTextureHandle CreateSharedTextureHandle () +public virtual MTLSharedTextureHandle CreateSharedTextureHandle () -public abstract IMTLTexture CreateTextureView (MTLPixelFormat pixelFormat) +public virtual IMTLTexture CreateTextureView (MTLPixelFormat pixelFormat) -public abstract IMTLTexture CreateTextureView (MTLPixelFormat pixelFormat, MTLTextureType textureType, Foundation.NSRange levelRange, Foundation.NSRange sliceRange) +public virtual IMTLTexture CreateTextureView (MTLPixelFormat pixelFormat, MTLTextureType textureType, Foundation.NSRange levelRange, Foundation.NSRange sliceRange) -public abstract void GetBytes (IntPtr pixelBytes, UIntPtr bytesPerRow, MTLRegion region, UIntPtr level) +public virtual void GetBytes (IntPtr pixelBytes, UIntPtr bytesPerRow, MTLRegion region, UIntPtr level) -public abstract void GetBytes (IntPtr pixelBytes, UIntPtr bytesPerRow, UIntPtr bytesPerImage, MTLRegion region, UIntPtr level, UIntPtr slice) +public virtual void GetBytes (IntPtr pixelBytes, UIntPtr bytesPerRow, UIntPtr bytesPerImage, MTLRegion region, UIntPtr level, UIntPtr slice) -public abstract void ReplaceRegion (MTLRegion region, UIntPtr level, IntPtr pixelBytes, UIntPtr bytesPerRow) +public virtual void ReplaceRegion (MTLRegion region, UIntPtr level, IntPtr pixelBytes, UIntPtr bytesPerRow) -public abstract void ReplaceRegion (MTLRegion region, UIntPtr level, UIntPtr slice, IntPtr pixelBytes, UIntPtr bytesPerRow, UIntPtr bytesPerImage) +public virtual void ReplaceRegion (MTLRegion region, UIntPtr level, UIntPtr slice, IntPtr pixelBytes, UIntPtr bytesPerRow, UIntPtr bytesPerImage) ``` #### Type Changed: Metal.IMTLVisibleFunctionTable Added property: ```csharp public virtual MTLResourceId GpuResourceId { get; } ``` Modified methods: ```diff -public abstract void SetFunction (IMTLFunctionHandle function, UIntPtr index) +public virtual void SetFunction (IMTLFunctionHandle function, UIntPtr index) -public abstract void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range) +public virtual void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range) ``` #### 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.MTLTextureDescriptor Added property: ```csharp public virtual MTLTextureCompressionType CompressionType { get; set; } ``` #### Type Changed: Metal.MTLTextureUsage Added value: ```csharp ShaderAtomic = 32, ``` #### Type Changed: Metal.MTLTexture_Extensions Added method: ```csharp public static MTLResourceId GetGpuResourceId (this IMTLTexture This); ``` #### 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 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.MTLTextureCompressionType ```csharp [Serializable] public enum MTLTextureCompressionType { Lossless = 0, Lossy = 1, } ``` #### New Type: Metal.MTLVisibleFunctionTable_Extensions ```csharp public static class MTLVisibleFunctionTable_Extensions { // methods public static MTLResourceId GetGpuResourceId (this IMTLVisibleFunctionTable This); } ``` ### Namespace MetalKit #### Type Changed: MetalKit.IMTKViewDelegate Modified methods: ```diff -public abstract void Draw (MTKView view) +public virtual void Draw (MTKView view) -public abstract void DrawableSizeWillChange (MTKView view, CoreGraphics.CGSize size) +public virtual void DrawableSizeWillChange (MTKView view, CoreGraphics.CGSize size) ``` ### Namespace MetalPerformanceShaders #### Type Changed: MetalPerformanceShaders.IMPSCnnBatchNormalizationDataSource Modified properties: ```diff -public abstract IntPtr Beta { get; } +public virtual IntPtr Beta { get; } -public abstract IntPtr Gamma { get; } +public virtual IntPtr Gamma { get; } -public abstract string Label { get; } +public virtual string Label { get; } -public abstract bool Load { get; } +public virtual bool Load { get; } -public abstract IntPtr Mean { get; } +public virtual IntPtr Mean { get; } -public abstract UIntPtr NumberOfFeatureChannels { get; } +public virtual UIntPtr NumberOfFeatureChannels { get; } -public abstract IntPtr Variance { get; } +public virtual IntPtr Variance { get; } ``` Added property: ```csharp public virtual float Epsilon { get; } ``` Modified methods: ```diff -public abstract void Purge () +public virtual void Purge () ``` Added methods: ```csharp public virtual IMPSCnnBatchNormalizationDataSource Copy (Foundation.NSZone zone, Metal.IMTLDevice device); public static T CreateInstance<T> (Foundation.NSCoder decoder); public virtual void Encode (Foundation.NSCoder coder); public static bool GetSupportsSecureCoding<T> (); public virtual bool UpdateGammaAndBeta (MPSCnnBatchNormalizationState batchNormalizationState); public virtual MPSCnnNormalizationGammaAndBetaState UpdateGammaAndBeta (Metal.IMTLCommandBuffer commandBuffer, MPSCnnBatchNormalizationState batchNormalizationState); public virtual bool UpdateMeanAndVariance (MPSCnnBatchNormalizationState batchNormalizationState); public virtual MPSCnnNormalizationMeanAndVarianceState UpdateMeanAndVariance (Metal.IMTLCommandBuffer commandBuffer, MPSCnnBatchNormalizationState batchNormalizationState); ``` #### Type Changed: MetalPerformanceShaders.IMPSCnnConvolutionDataSource Modified properties: ```diff -public abstract IntPtr BiasTerms { get; } +public virtual IntPtr BiasTerms { get; } -public abstract MPSDataType DataType { get; } +public virtual MPSDataType DataType { get; } -public abstract MPSCnnConvolutionDescriptor Descriptor { get; } +public virtual MPSCnnConvolutionDescriptor Descriptor { get; } -public abstract string Label { get; } +public virtual string Label { get; } -public abstract IntPtr Weights { get; } +public virtual IntPtr Weights { get; } ``` Added property: ```csharp public virtual MPSDataType KernelWeightsDataType { get; } ``` Modified methods: ```diff -public abstract bool Load () +public virtual bool Load () -public abstract void Purge () +public virtual void Purge () ``` Added methods: ```csharp public virtual IMPSCnnConvolutionDataSource Copy (Foundation.NSZone zone, Metal.IMTLDevice device); public virtual IntPtr GetLookupTableForUInt8Kernel (); public virtual IntPtr GetRangesForUInt8Kernel (); public virtual MPSCnnWeightsQuantizationType GetWeightsQuantizationType (); public virtual bool Update (MPSCnnConvolutionGradientState gradientState, MPSCnnConvolutionWeightsAndBiasesState sourceState); public virtual MPSCnnConvolutionWeightsAndBiasesState Update (Metal.IMTLCommandBuffer commandBuffer, MPSCnnConvolutionGradientState gradientState, MPSCnnConvolutionWeightsAndBiasesState sourceState); ``` #### Type Changed: MetalPerformanceShaders.IMPSCnnInstanceNormalizationDataSource Modified properties: ```diff -public abstract IntPtr Beta { get; } +public virtual IntPtr Beta { get; } -public abstract IntPtr Gamma { get; } +public virtual IntPtr Gamma { get; } -public abstract string Label { get; } +public virtual string Label { get; } -public abstract UIntPtr NumberOfFeatureChannels { get; } +public virtual UIntPtr NumberOfFeatureChannels { get; } ``` Added methods: ```csharp public virtual IMPSCnnInstanceNormalizationDataSource Copy (Foundation.NSZone zone, Metal.IMTLDevice device); public static T CreateInstance<T> (Foundation.NSCoder decoder); public virtual void Encode (Foundation.NSCoder coder); public virtual float GetEpsilon (); public virtual bool UpdateGammaAndBeta (MPSCnnInstanceNormalizationGradientState[] instanceNormalizationStateBatch); public virtual MPSCnnNormalizationGammaAndBetaState UpdateGammaAndBeta (Metal.IMTLCommandBuffer commandBuffer, MPSCnnInstanceNormalizationGradientState[] instanceNormalizationStateBatch); ``` #### Type Changed: MetalPerformanceShaders.IMPSDeviceProvider Modified methods: ```diff -public abstract Metal.IMTLDevice GetMTLDevice () +public virtual Metal.IMTLDevice GetMTLDevice () ``` #### Type Changed: MetalPerformanceShaders.IMPSHandle Modified properties: ```diff -public abstract string Label { get; } +public virtual string Label { get; } ``` #### Type Changed: MetalPerformanceShaders.IMPSHeapProvider Modified methods: ```diff -public abstract Metal.IMTLHeap GetNewHeap (Metal.MTLHeapDescriptor descriptor) +public virtual Metal.IMTLHeap GetNewHeap (Metal.MTLHeapDescriptor descriptor) ``` Added method: ```csharp public virtual void RetireHeap (Metal.IMTLHeap heap, double seconds); ``` #### Type Changed: MetalPerformanceShaders.IMPSImageAllocator Modified methods: ```diff -public abstract MPSImage GetImage (Metal.IMTLCommandBuffer cmdBuf, MPSImageDescriptor descriptor, MPSKernel kernel) +public virtual MPSImage GetImage (Metal.IMTLCommandBuffer cmdBuf, MPSImageDescriptor descriptor, MPSKernel kernel) ``` Added method: ```csharp public virtual Foundation.NSArray<MPSImage> GetImageBatch (Metal.IMTLCommandBuffer commandBuffer, MPSImageDescriptor descriptor, MPSKernel kernel, UIntPtr count); ``` #### Type Changed: MetalPerformanceShaders.IMPSImageSizeEncodingState Modified properties: ```diff -public abstract UIntPtr SourceHeight { get; } +public virtual UIntPtr SourceHeight { get; } -public abstract UIntPtr SourceWidth { get; } +public virtual UIntPtr SourceWidth { get; } ``` #### Type Changed: MetalPerformanceShaders.IMPSImageTransformProvider Modified methods: ```diff -public abstract MPSScaleTransform GetTransform (MPSImage image, IMPSHandle handle) +public virtual MPSScaleTransform GetTransform (MPSImage image, IMPSHandle handle) ``` #### Type Changed: MetalPerformanceShaders.IMPSNDArrayAllocator Modified methods: ```diff -public abstract MPSNDArray AllocateArray (Metal.IMTLCommandBuffer cmdBuf, MPSNDArrayDescriptor descriptor, MPSKernel kernel) +public virtual MPSNDArray AllocateArray (Metal.IMTLCommandBuffer cmdBuf, MPSNDArrayDescriptor descriptor, MPSKernel kernel) ``` #### Type Changed: MetalPerformanceShaders.IMPSNNLossCallback Modified methods: ```diff -public abstract float GetScalarWeight (MPSImage sourceImage, MPSImage destinationImage) +public virtual float GetScalarWeight (MPSImage sourceImage, MPSImage destinationImage) ``` #### Type Changed: MetalPerformanceShaders.IMPSNNPadding Modified properties: ```diff -public abstract MPSNNPaddingMethod PaddingMethod { get; } +public virtual MPSNNPaddingMethod PaddingMethod { get; } ``` Added methods: ```csharp public virtual MPSImageDescriptor GetDestinationImageDescriptor (MPSImage[] sourceImages, MPSState[] sourceStates, MPSKernel kernel, MPSImageDescriptor inDescriptor); public virtual IMPSNNPadding GetInverse (); public virtual string GetLabel (); ``` #### Type Changed: MetalPerformanceShaders.IMPSNNTrainableNode Modified properties: ```diff -public abstract MPSNNTrainingStyle TrainingStyle { get; set; } +public virtual MPSNNTrainingStyle TrainingStyle { get; set; } ``` #### Type Changed: MetalPerformanceShaders.MPSCommandBuffer Added method: ```csharp public virtual Metal.IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (Metal.MTLAccelerationStructurePassDescriptor descriptor); ``` ### Namespace MetricKit #### Type Changed: MetricKit.IMXMetricManagerSubscriber Added methods: ```csharp public virtual void DidReceiveDiagnosticPayloads (MXDiagnosticPayload[] payloads); public virtual void DidReceiveMetricPayloads (MXMetricPayload[] payloads); ``` ### Namespace ModelIO #### Type Changed: ModelIO.IMDLAssetResolver Modified methods: ```diff -public abstract bool CanResolveAsset (string name) +public virtual bool CanResolveAsset (string name) -public abstract Foundation.NSUrl ResolveAsset (string name) +public virtual Foundation.NSUrl ResolveAsset (string name) ``` #### Type Changed: ModelIO.IMDLLightProbeIrradianceDataSource Modified properties: ```diff -public abstract MDLAxisAlignedBoundingBox BoundingBox { get; set; } +public virtual MDLAxisAlignedBoundingBox BoundingBox { get; set; } ``` Added property: ```csharp public virtual UIntPtr SphericalHarmonicsLevel { get; set; } ``` Added method: ```csharp public virtual Foundation.NSData GetSphericalHarmonicsCoefficients (System.Numerics.Vector3 position); ``` #### Type Changed: ModelIO.IMDLMeshBuffer Modified properties: ```diff -public abstract IMDLMeshBufferAllocator Allocator { get; } +public virtual IMDLMeshBufferAllocator Allocator { get; } -public abstract UIntPtr Length { get; } +public virtual UIntPtr Length { get; } -public abstract MDLMeshBufferMap Map { get; } +public virtual MDLMeshBufferMap Map { get; } -public abstract MDLMeshBufferType Type { get; } +public virtual MDLMeshBufferType Type { get; } -public abstract IMDLMeshBufferZone Zone { get; } +public virtual IMDLMeshBufferZone Zone { get; } ``` Modified methods: ```diff -public abstract void FillData (Foundation.NSData data, UIntPtr offset) +public virtual void FillData (Foundation.NSData data, UIntPtr offset) ``` #### Type Changed: ModelIO.IMDLMeshBufferAllocator Modified methods: ```diff -public abstract IMDLMeshBuffer CreateBuffer (Foundation.NSData data, MDLMeshBufferType type) +public virtual IMDLMeshBuffer CreateBuffer (Foundation.NSData data, MDLMeshBufferType type) -public abstract IMDLMeshBuffer CreateBuffer (UIntPtr length, MDLMeshBufferType type) +public virtual IMDLMeshBuffer CreateBuffer (UIntPtr length, MDLMeshBufferType type) -public abstract IMDLMeshBuffer CreateBuffer (IMDLMeshBufferZone zone, Foundation.NSData data, MDLMeshBufferType type) +public virtual IMDLMeshBuffer CreateBuffer (IMDLMeshBufferZone zone, Foundation.NSData data, MDLMeshBufferType type) -public abstract IMDLMeshBuffer CreateBuffer (IMDLMeshBufferZone zone, UIntPtr length, MDLMeshBufferType type) +public virtual IMDLMeshBuffer CreateBuffer (IMDLMeshBufferZone zone, UIntPtr length, MDLMeshBufferType type) -public abstract IMDLMeshBufferZone CreateZone (UIntPtr capacity) +public virtual IMDLMeshBufferZone CreateZone (UIntPtr capacity) -public abstract IMDLMeshBufferZone CreateZone (Foundation.NSNumber[] sizes, Foundation.NSNumber[] types) +public virtual IMDLMeshBufferZone CreateZone (Foundation.NSNumber[] sizes, Foundation.NSNumber[] types) ``` #### Type Changed: ModelIO.IMDLMeshBufferZone Modified properties: ```diff -public abstract IMDLMeshBufferAllocator Allocator { get; } +public virtual IMDLMeshBufferAllocator Allocator { get; } -public abstract UIntPtr Capacity { get; } +public virtual UIntPtr Capacity { get; } ``` #### Type Changed: ModelIO.IMDLNamed Modified properties: ```diff -public abstract string Name { get; set; } +public virtual string Name { get; set; } ``` #### Type Changed: ModelIO.IMDLObjectContainerComponent Modified properties: ```diff -public abstract UIntPtr Count { get; } +public virtual UIntPtr Count { get; } -public abstract MDLObject[] Objects { get; } +public virtual MDLObject[] Objects { get; } ``` Modified methods: ```diff -public abstract void AddObject (MDLObject object) +public virtual void AddObject (MDLObject object) -public abstract MDLObject GetObject (UIntPtr index) +public virtual MDLObject GetObject (UIntPtr index) -public abstract void RemoveObject (MDLObject object) +public virtual void RemoveObject (MDLObject object) ``` #### Type Changed: ModelIO.IMDLTransformComponent Modified properties: ```diff -public abstract Foundation.NSNumber[] KeyTimes { get; } +public virtual Foundation.NSNumber[] KeyTimes { get; } -public abstract CoreGraphics.NMatrix4 Matrix { get; set; } +public virtual CoreGraphics.NMatrix4 Matrix { get; set; } -public abstract double MaximumTime { get; } +public virtual double MaximumTime { get; } -public abstract double MinimumTime { get; } +public virtual double MinimumTime { get; } -public abstract bool ResetsTransform { get; set; } +public virtual bool ResetsTransform { get; set; } ``` Added methods: ```csharp public static CoreGraphics.NMatrix4 CreateGlobalTransform<T> (MDLObject obj, double atTime); public virtual CoreGraphics.NMatrix4 GetLocalTransform (double atTime); public virtual void SetLocalTransform (CoreGraphics.NMatrix4 transform); public virtual void SetLocalTransform (CoreGraphics.NMatrix4 transform, double time); ``` #### Type Changed: ModelIO.IMDLTransformOp Modified properties: ```diff -public abstract bool IsInverseOp { get; } +public virtual bool IsInverseOp { get; } -public abstract string Name { get; } +public virtual string Name { get; } ``` Modified methods: ```diff -public abstract CoreGraphics.NMatrix4 GetNMatrix4 (double atTime) +public virtual CoreGraphics.NMatrix4 GetNMatrix4 (double atTime) -public abstract CoreGraphics.NMatrix4d GetNMatrix4d (double atTime) +public virtual CoreGraphics.NMatrix4d GetNMatrix4d (double atTime) ``` #### Type Changed: ModelIO.MDLMaterial Added properties: ```csharp public MDLMaterialProperty Item { get; } public MDLMaterialProperty Item { get; } ``` ### Namespace MultipeerConnectivity #### Type Changed: MultipeerConnectivity.IMCAdvertiserAssistantDelegate Added methods: ```csharp public virtual void DidDismissInvitation (MCAdvertiserAssistant advertiserAssistant); public virtual void WillPresentInvitation (MCAdvertiserAssistant advertiserAssistant); ``` #### Type Changed: MultipeerConnectivity.IMCBrowserViewControllerDelegate Modified methods: ```diff -public abstract void DidFinish (MCBrowserViewController browserViewController) +public virtual void DidFinish (MCBrowserViewController browserViewController) -public abstract void WasCancelled (MCBrowserViewController browserViewController) +public virtual void WasCancelled (MCBrowserViewController browserViewController) ``` Added method: ```csharp public virtual bool ShouldPresentNearbyPeer (MCBrowserViewController browserViewController, MCPeerID peerID, Foundation.NSDictionary info); ``` #### Type Changed: MultipeerConnectivity.IMCNearbyServiceAdvertiserDelegate Modified methods: ```diff -public abstract void DidReceiveInvitationFromPeer (MCNearbyServiceAdvertiser advertiser, MCPeerID peerID, Foundation.NSData context, MCNearbyServiceAdvertiserInvitationHandler invitationHandler) +public virtual void DidReceiveInvitationFromPeer (MCNearbyServiceAdvertiser advertiser, MCPeerID peerID, Foundation.NSData context, MCNearbyServiceAdvertiserInvitationHandler invitationHandler) ``` Added method: ```csharp public virtual void DidNotStartAdvertisingPeer (MCNearbyServiceAdvertiser advertiser, Foundation.NSError error); ``` #### Type Changed: MultipeerConnectivity.IMCNearbyServiceBrowserDelegate Modified methods: ```diff -public abstract void FoundPeer (MCNearbyServiceBrowser browser, MCPeerID peerID, Foundation.NSDictionary info) +public virtual void FoundPeer (MCNearbyServiceBrowser browser, MCPeerID peerID, Foundation.NSDictionary info) -public abstract void LostPeer (MCNearbyServiceBrowser browser, MCPeerID peerID) +public virtual void LostPeer (MCNearbyServiceBrowser browser, MCPeerID peerID) ``` Added method: ```csharp public virtual void DidNotStartBrowsingForPeers (MCNearbyServiceBrowser browser, Foundation.NSError error); ``` #### Type Changed: MultipeerConnectivity.IMCSessionDelegate Modified methods: ```diff -public abstract void DidChangeState (MCSession session, MCPeerID peerID, MCSessionState state) +public virtual void DidChangeState (MCSession session, MCPeerID peerID, MCSessionState state) -public abstract void DidFinishReceivingResource (MCSession session, string resourceName, MCPeerID fromPeer, Foundation.NSUrl localUrl, Foundation.NSError error) +public virtual void DidFinishReceivingResource (MCSession session, string resourceName, MCPeerID fromPeer, Foundation.NSUrl localUrl, Foundation.NSError error) -public abstract void DidReceiveData (MCSession session, Foundation.NSData data, MCPeerID peerID) +public virtual void DidReceiveData (MCSession session, Foundation.NSData data, MCPeerID peerID) -public abstract void DidReceiveStream (MCSession session, Foundation.NSInputStream stream, string streamName, MCPeerID peerID) +public virtual void DidReceiveStream (MCSession session, Foundation.NSInputStream stream, string streamName, MCPeerID peerID) -public abstract void DidStartReceivingResource (MCSession session, string resourceName, MCPeerID fromPeer, Foundation.NSProgress progress) +public virtual void DidStartReceivingResource (MCSession session, string resourceName, MCPeerID fromPeer, Foundation.NSProgress progress) ``` Added method: ```csharp public virtual bool DidReceiveCertificate (MCSession session, Security.SecCertificate[] certificate, MCPeerID peerID, System.Action<bool> certificateHandler); ``` ### Namespace NearbyInteraction #### Type Changed: NearbyInteraction.INIDeviceCapability Modified properties: ```diff -public abstract bool SupportsCameraAssistance { get; } +public virtual bool SupportsCameraAssistance { get; } -public abstract bool SupportsDirectionMeasurement { get; } +public virtual bool SupportsDirectionMeasurement { get; } -public abstract bool SupportsPreciseDistanceMeasurement { get; } +public virtual bool SupportsPreciseDistanceMeasurement { get; } ``` Added property: ```csharp public virtual bool SupportsExtendedDistanceMeasurement { get; } ``` #### Type Changed: NearbyInteraction.INISessionDelegate Added methods: ```csharp public virtual void DidGenerateShareableConfigurationData (NISession session, Foundation.NSData shareableConfigurationData, NINearbyObject object); public virtual void DidSessionInvalidate (NISession session, Foundation.NSError error); public virtual void DidSessionRemoveNearbyObjects (NISession session, NINearbyObject[] nearbyObjects, NINearbyObjectRemovalReason reason); public virtual void DidSessionStartRunning (NISession session); public virtual void DidSessionUpdateNearbyObjects (NISession session, NINearbyObject[] nearbyObjects); public virtual void DidUpdateAlgorithmConvergence (NISession session, NIAlgorithmConvergence convergence, NINearbyObject object); public virtual void SessionSuspensionEnded (NISession session); public virtual void SessionWasSuspended (NISession session); ``` ### 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 NetworkExtension #### Type Changed: NetworkExtension.INEAppPushDelegate Modified methods: ```diff -public abstract void DidReceiveIncomingCall (NEAppPushManager manager, Foundation.NSDictionary userInfo) +public virtual void DidReceiveIncomingCall (NEAppPushManager manager, Foundation.NSDictionary userInfo) ``` #### Type Changed: NetworkExtension.INWTcpConnectionAuthenticationDelegate Added methods: ```csharp public virtual void EvaluateTrust (NWTcpConnection connection, Foundation.NSArray peerCertificateChain, System.Action<Security.SecTrust> completion); public virtual System.Threading.Tasks.Task<Security.SecTrust> EvaluateTrustAsync (NWTcpConnection connection, Foundation.NSArray peerCertificateChain); public virtual void ProvideIdentity (NWTcpConnection connection, System.Action<Security.SecIdentity,Foundation.NSArray> completion); public virtual bool ShouldEvaluateTrust (NWTcpConnection connection); public virtual bool ShouldProvideIdentity (NWTcpConnection connection); ``` #### Type Changed: NetworkExtension.NEVpnProtocol Added property: ```csharp public virtual bool ExcludeDeviceCommunication { get; set; } ``` ### Namespace OSLog #### Type Changed: OSLog.IOSLogEntryFromProcess Modified properties: ```diff -public abstract ulong ActivityIdentifier { get; } +public virtual ulong ActivityIdentifier { get; } -public abstract string Process { get; } +public virtual string Process { get; } -public abstract int ProcessIdentifier { get; } +public virtual int ProcessIdentifier { get; } -public abstract string Sender { get; } +public virtual string Sender { get; } -public abstract ulong ThreadIdentifier { get; } +public virtual ulong ThreadIdentifier { get; } ``` #### Type Changed: OSLog.IOSLogEntryWithPayload Modified properties: ```diff -public abstract string Category { get; } +public virtual string Category { get; } -public abstract OSLogMessageComponent[] Components { get; } +public virtual OSLogMessageComponent[] Components { get; } -public abstract string FormatString { get; } +public virtual string FormatString { get; } -public abstract string Subsystem { get; } +public virtual string Subsystem { get; } ``` ### Namespace ObjCRuntime #### Type Changed: ObjCRuntime.Constants Modified fields: ```diff -public const string SdkVersion = "17.2"; +public const string SdkVersion = "18.0"; -public const string Version = "17.2.0"; +public const string Version = "17.99.0"; ``` Added fields: ```csharp public static const string CryptoTokenKitLibrary = "/System/Library/Frameworks/CryptoTokenKit.framework/CryptoTokenKit"; public static const string SafetyKitLibrary = "/System/Library/Frameworks/SafetyKit.framework/SafetyKit"; ``` #### Type Changed: ObjCRuntime.DisposableObject Added method: ```csharp protected void ClearHandle (); ``` #### Type Changed: ObjCRuntime.Dlfcn Added method: ```csharp public static void SetObject (IntPtr handle, string symbol, Foundation.NSObject value); ``` #### Type Changed: ObjCRuntime.LinkWithAttribute Added property: ```csharp public bool LinkWithSwiftSystemLibraries { get; set; } ``` #### New Type: ObjCRuntime.BlockCallbackAttribute ```csharp public class BlockCallbackAttribute : System.Attribute { // constructors public BlockCallbackAttribute (); } ``` #### New Type: ObjCRuntime.CCallbackAttribute ```csharp public class CCallbackAttribute : System.Attribute { // constructors public CCallbackAttribute (); } ``` ### Namespace PassKit #### Type Changed: PassKit.IPKAddPassesViewControllerDelegate Added method: ```csharp public virtual void Finished (PKAddPassesViewController controller); ``` #### Type Changed: PassKit.IPKAddPaymentPassViewControllerDelegate Modified methods: ```diff -public abstract void DidFinishAddingPaymentPass (PKAddPaymentPassViewController controller, PKPaymentPass pass, Foundation.NSError error) +public virtual void DidFinishAddingPaymentPass (PKAddPaymentPassViewController controller, PKPaymentPass pass, Foundation.NSError error) -public abstract void GenerateRequestWithCertificateChain (PKAddPaymentPassViewController controller, Foundation.NSData[] certificates, Foundation.NSData nonce, Foundation.NSData nonceSignature, System.Action%LESSERTHANREPLACEMENT%PKAddPaymentPassRequest%GREATERTHANREPLACEMENT% handler) +public virtual void GenerateRequestWithCertificateChain (PKAddPaymentPassViewController controller, Foundation.NSData[] certificates, Foundation.NSData nonce, Foundation.NSData nonceSignature, System.Action%LESSERTHANREPLACEMENT%PKAddPaymentPassRequest%GREATERTHANREPLACEMENT% handler) ``` #### Type Changed: PassKit.IPKAddSecureElementPassViewControllerDelegate Modified methods: ```diff -public abstract void DidFinishAddingSecureElementPass (PKAddSecureElementPassViewController controller, PKSecureElementPass pass, Foundation.NSError error) +public virtual void DidFinishAddingSecureElementPass (PKAddSecureElementPassViewController controller, PKSecureElementPass pass, Foundation.NSError error) -public abstract void DidFinishAddingSecureElementPasses (PKAddSecureElementPassViewController controller, PKSecureElementPass[] passes, Foundation.NSError error) +public virtual void DidFinishAddingSecureElementPasses (PKAddSecureElementPassViewController controller, PKSecureElementPass[] passes, Foundation.NSError error) ``` #### Type Changed: PassKit.IPKIdentityDocumentDescriptor Modified properties: ```diff -public abstract PKIdentityElement[] Elements { get; } +public virtual PKIdentityElement[] Elements { get; } ``` Modified methods: ```diff -public abstract void AddElements (PKIdentityElement[] elements, PKIdentityIntentToStore intentToStore) +public virtual void AddElements (PKIdentityElement[] elements, PKIdentityIntentToStore intentToStore) -public abstract PKIdentityIntentToStore GetIntentToStore (PKIdentityElement element) +public virtual PKIdentityIntentToStore GetIntentToStore (PKIdentityElement element) ``` #### Type Changed: PassKit.IPKIssuerProvisioningExtensionAuthorizationProviding Modified properties: ```diff -public abstract System.Action%LESSERTHANREPLACEMENT%PKIssuerProvisioningExtensionAuthorizationResult%GREATERTHANREPLACEMENT% CompletionHandler { get; set; } +public virtual System.Action%LESSERTHANREPLACEMENT%PKIssuerProvisioningExtensionAuthorizationResult%GREATERTHANREPLACEMENT% CompletionHandler { get; set; } ``` #### Type Changed: PassKit.IPKPaymentAuthorizationControllerDelegate Modified methods: ```diff -public abstract void DidFinish (PKPaymentAuthorizationController controller) +public virtual void DidFinish (PKPaymentAuthorizationController controller) -public abstract UIKit.UIWindow GetPresentationWindow (PKPaymentAuthorizationController controller) +public virtual UIKit.UIWindow GetPresentationWindow (PKPaymentAuthorizationController controller) ``` Added methods: ```csharp public virtual void DidAuthorizePayment (PKPaymentAuthorizationController controller, PKPayment payment, System.Action<PKPaymentAuthorizationResult> completion); public virtual void DidAuthorizePayment (PKPaymentAuthorizationController controller, PKPayment payment, System.Action<PKPaymentAuthorizationStatus> completion); public virtual void DidChangeCouponCode (PKPaymentAuthorizationController controller, string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion); public virtual void DidRequestMerchantSessionUpdate (PKPaymentAuthorizationController controller, System.Action<PKPaymentRequestMerchantSessionUpdate> handler); public virtual void DidSelectPaymentMethod (PKPaymentAuthorizationController controller, PKPaymentMethod paymentMethod, System.Action<PKPaymentRequestPaymentMethodUpdate> completion); public virtual void DidSelectPaymentMethod (PKPaymentAuthorizationController controller, PKPaymentMethod paymentMethod, System.Action<PKPaymentSummaryItem[]> completion); public virtual void DidSelectShippingContact (PKPaymentAuthorizationController controller, PKContact contact, System.Action<PKPaymentRequestShippingContactUpdate> completion); public virtual void DidSelectShippingContact (PKPaymentAuthorizationController controller, PKContact contact, System.Action<PKPaymentAuthorizationStatus,PassKit.PKShippingMethod[],PassKit.PKPaymentSummaryItem[]> completion); public virtual void DidSelectShippingMethod (PKPaymentAuthorizationController controller, PKPaymentMethod paymentMethod, System.Action<PKPaymentRequestPaymentMethodUpdate> completion); public virtual void DidSelectShippingMethod (PKPaymentAuthorizationController controller, PKShippingMethod shippingMethod, System.Action<PKPaymentAuthorizationStatus,PassKit.PKPaymentSummaryItem[]> completion); public virtual void WillAuthorizePayment (PKPaymentAuthorizationController controller); ``` #### Type Changed: PassKit.IPKPaymentAuthorizationViewControllerDelegate Modified methods: ```diff -public abstract void PaymentAuthorizationViewControllerDidFinish (PKPaymentAuthorizationViewController controller) +public virtual void PaymentAuthorizationViewControllerDidFinish (PKPaymentAuthorizationViewController controller) ``` Added methods: ```csharp public virtual void DidAuthorizePayment (PKPaymentAuthorizationViewController controller, PKPayment payment, System.Action<PKPaymentAuthorizationStatus> completion); public virtual void DidAuthorizePayment2 (PKPaymentAuthorizationViewController controller, PKPayment payment, System.Action<PKPaymentAuthorizationResult> completion); public virtual void DidChangeCouponCode (PKPaymentAuthorizationViewController controller, string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion); public virtual void DidRequestMerchantSessionUpdate (PKPaymentAuthorizationViewController controller, System.Action<PKPaymentRequestMerchantSessionUpdate> updateHandler); public virtual void DidSelectPaymentMethod (PKPaymentAuthorizationViewController controller, PKPaymentMethod paymentMethod, System.Action<PKPaymentSummaryItem[]> completion); public virtual void DidSelectPaymentMethod2 (PKPaymentAuthorizationViewController controller, PKPaymentMethod paymentMethod, System.Action<PKPaymentRequestPaymentMethodUpdate> completion); public virtual void DidSelectShippingContact (PKPaymentAuthorizationViewController controller, PKContact contact, PKPaymentShippingAddressSelected completion); public virtual void DidSelectShippingContact2 (PKPaymentAuthorizationViewController controller, PKContact contact, System.Action<PKPaymentRequestShippingContactUpdate> completion); public virtual void DidSelectShippingMethod (PKPaymentAuthorizationViewController controller, PKShippingMethod shippingMethod, PKPaymentShippingMethodSelected completion); public virtual void DidSelectShippingMethod2 (PKPaymentAuthorizationViewController controller, PKShippingMethod shippingMethod, System.Action<PKPaymentRequestShippingMethodUpdate> completion); public virtual void WillAuthorizePayment (PKPaymentAuthorizationViewController controller); ``` #### Type Changed: PassKit.IPKPaymentInformationRequestHandling Modified methods: ```diff -public abstract void HandleConfigurationRequest (PKBarcodeEventConfigurationRequest configurationRequest, System.Action completion) +public virtual void HandleConfigurationRequest (PKBarcodeEventConfigurationRequest configurationRequest, System.Action completion) -public abstract void HandleInformationRequest (PKBarcodeEventMetadataRequest infoRequest, PKInformationRequestCompletionBlock completion) +public virtual void HandleInformationRequest (PKBarcodeEventMetadataRequest infoRequest, PKInformationRequestCompletionBlock completion) -public abstract void HandleSignatureRequest (PKBarcodeEventSignatureRequest signatureRequest, PKSignatureRequestCompletionBlock completion) +public virtual void HandleSignatureRequest (PKBarcodeEventSignatureRequest signatureRequest, PKSignatureRequestCompletionBlock completion) ``` #### Type Changed: PassKit.IPKShareSecureElementPassViewControllerDelegate Modified methods: ```diff -public abstract void DidFinish (PKShareSecureElementPassViewController controller, PKShareSecureElementPassResult result) +public virtual void DidFinish (PKShareSecureElementPassViewController controller, PKShareSecureElementPassResult result) ``` Added method: ```csharp public virtual void DidCreateShareUrl (PKShareSecureElementPassViewController controller, Foundation.NSUrl universalShareUrl, string activationCode); ``` #### Type Changed: PassKit.IPKVehicleConnectionDelegate Modified methods: ```diff -public abstract void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState) +public virtual void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState) -public abstract void SessionDidReceiveData (Foundation.NSData data) +public virtual void SessionDidReceiveData (Foundation.NSData data) ``` #### Type Changed: PassKit.PKPaymentNetwork Added properties: ```csharp public static Foundation.NSString BankAxept { get; } public static Foundation.NSString Meeza { get; } public static Foundation.NSString Napas { get; } ``` ### Namespace PdfKit #### Type Changed: PdfKit.IPdfDocumentDelegate Added methods: ```csharp public virtual void DidBeginDocumentFind (Foundation.NSNotification notification); public virtual void DidMatchString (PdfSelection sender); public virtual void DidUnlock (Foundation.NSNotification notification); public virtual void FindFinished (Foundation.NSNotification notification); public virtual ObjCRuntime.Class GetClassForAnnotationType (string annotationType); public virtual ObjCRuntime.Class GetClassForPage (); public virtual void MatchFound (Foundation.NSNotification notification); public virtual void PageFindFinished (Foundation.NSNotification notification); public virtual void PageFindStarted (Foundation.NSNotification notification); ``` #### Type Changed: PdfKit.IPdfPageOverlayViewProvider Modified methods: ```diff -public abstract UIKit.UIView GetOverlayView (PdfView view, PdfPage page) +public virtual UIKit.UIView GetOverlayView (PdfView view, PdfPage page) ``` Added methods: ```csharp public virtual void WillDisplayOverlayView (PdfView pdfView, UIKit.UIView overlayView, PdfPage page); public virtual void WillEndDisplayingOverlayView (PdfView pdfView, UIKit.UIView overlayView, PdfPage page); ``` #### Type Changed: PdfKit.IPdfViewDelegate Added property: ```csharp public virtual UIKit.UIViewController ParentViewController { get; } ``` Added methods: ```csharp public virtual void OpenPdf (PdfView sender, PdfActionRemoteGoTo action); public virtual void PerformFind (PdfView sender); public virtual void PerformGoToPage (PdfView sender); public virtual void WillClickOnLink (PdfView sender, Foundation.NSUrl url); ``` ### Namespace PencilKit #### Type Changed: PencilKit.IPKCanvasViewDelegate Added methods: ```csharp public virtual void DidBeginUsingTool (PKCanvasView canvasView); public virtual void DidFinishRendering (PKCanvasView canvasView); public virtual void DrawingDidChange (PKCanvasView canvasView); public virtual void EndUsingTool (PKCanvasView canvasView); ``` #### Type Changed: PencilKit.IPKToolPickerObserver Added methods: ```csharp public virtual void FramesObscuredDidChange (PKToolPicker toolPicker); public virtual void IsRulerActiveDidChange (PKToolPicker toolPicker); public virtual void SelectedToolDidChange (PKToolPicker toolPicker); public virtual void VisibilityDidChange (PKToolPicker toolPicker); ``` #### Type Changed: PencilKit.PKContentVersion Added value: ```csharp Version3 = 3, ``` ### Namespace Photos #### Type Changed: Photos.IPHLivePhotoFrame Modified properties: ```diff -public abstract CoreImage.CIImage Image { get; } +public virtual CoreImage.CIImage Image { get; } -public abstract System.Runtime.InteropServices.NFloat RenderScale { get; } +public virtual System.Runtime.InteropServices.NFloat RenderScale { get; } -public abstract CoreMedia.CMTime Time { get; } +public virtual CoreMedia.CMTime Time { get; } -public abstract PHLivePhotoFrameType Type { get; } +public virtual PHLivePhotoFrameType Type { get; } ``` #### Type Changed: Photos.IPHPhotoLibraryAvailabilityObserver Modified methods: ```diff -public abstract void PhotoLibraryDidBecomeUnavailable (PHPhotoLibrary photoLibrary) +public virtual void PhotoLibraryDidBecomeUnavailable (PHPhotoLibrary photoLibrary) ``` #### Type Changed: Photos.IPHPhotoLibraryChangeObserver Modified methods: ```diff -public abstract void PhotoLibraryDidChange (PHChange changeInstance) +public virtual void PhotoLibraryDidChange (PHChange changeInstance) ``` #### Type Changed: Photos.PHAssetCollectionSubtype Added value: ```csharp SmartAlbumSpatial = 219, ``` #### Type Changed: Photos.PHAssetMediaSubtype Added value: ```csharp SmartAlbumSpatial = 1024, ``` ### Namespace PhotosUI #### Type Changed: PhotosUI.IPHContentEditingController Modified properties: ```diff -public abstract bool ShouldShowCancelConfirmation { get; } +public virtual bool ShouldShowCancelConfirmation { get; } ``` Modified methods: ```diff -public abstract bool CanHandleAdjustmentData (Photos.PHAdjustmentData adjustmentData) +public virtual bool CanHandleAdjustmentData (Photos.PHAdjustmentData adjustmentData) -public abstract void CancelContentEditing () +public virtual void CancelContentEditing () -public abstract void FinishContentEditing (System.Action%LESSERTHANREPLACEMENT%Photos.PHContentEditingOutput%GREATERTHANREPLACEMENT% completionHandler) +public virtual void FinishContentEditing (System.Action%LESSERTHANREPLACEMENT%Photos.PHContentEditingOutput%GREATERTHANREPLACEMENT% completionHandler) -public abstract void StartContentEditing (Photos.PHContentEditingInput contentEditingInput, UIKit.UIImage placeholderImage) +public virtual void StartContentEditing (Photos.PHContentEditingInput contentEditingInput, UIKit.UIImage placeholderImage) ``` #### Type Changed: PhotosUI.IPHLivePhotoViewDelegate Added methods: ```csharp public virtual bool CanBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle); public virtual void DidEndPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle); public virtual double GetExtraMinimumTouchDuration (PHLivePhotoView livePhotoView, UIKit.UITouch touch, PHLivePhotoViewPlaybackStyle playbackStyle); public virtual void WillBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle); ``` #### Type Changed: PhotosUI.IPHPickerViewControllerDelegate Modified methods: ```diff -public abstract void DidFinishPicking (PHPickerViewController picker, PHPickerResult[] results) +public virtual void DidFinishPicking (PHPickerViewController picker, PHPickerResult[] results) ``` ### Namespace PushKit #### Type Changed: PushKit.IPKPushRegistryDelegate Modified methods: ```diff -public abstract void DidUpdatePushCredentials (PKPushRegistry registry, PKPushCredentials credentials, string type) +public virtual void DidUpdatePushCredentials (PKPushRegistry registry, PKPushCredentials credentials, string type) ``` Added methods: ```csharp public virtual void DidInvalidatePushToken (PKPushRegistry registry, string type); public virtual void DidReceiveIncomingPush (PKPushRegistry registry, PKPushPayload payload, string type, System.Action completion); ``` ### Namespace QuickLook #### Type Changed: QuickLook.IQLPreviewControllerDataSource Modified methods: ```diff -public abstract IQLPreviewItem GetPreviewItem (QLPreviewController controller, IntPtr index) +public virtual IQLPreviewItem GetPreviewItem (QLPreviewController controller, IntPtr index) -public abstract IntPtr PreviewItemCount (QLPreviewController controller) +public virtual IntPtr PreviewItemCount (QLPreviewController controller) ``` #### Type Changed: QuickLook.IQLPreviewControllerDelegate Added methods: ```csharp public virtual void DidDismiss (QLPreviewController controller); public virtual void DidSaveEditedCopy (QLPreviewController controller, IQLPreviewItem previewItem, Foundation.NSUrl modifiedContentsUrl); public virtual void DidUpdateContents (QLPreviewController controller, IQLPreviewItem previewItem); public virtual CoreGraphics.CGRect FrameForPreviewItem (QLPreviewController controller, IQLPreviewItem item, ref UIKit.UIView view); public virtual QLPreviewItemEditingMode GetEditingMode (QLPreviewController controller, IQLPreviewItem previewItem); public virtual bool ShouldOpenUrl (QLPreviewController controller, Foundation.NSUrl url, IQLPreviewItem item); public virtual UIKit.UIImage TransitionImageForPreviewItem (QLPreviewController controller, IQLPreviewItem item, CoreGraphics.CGRect contentRect); public virtual UIKit.UIView TransitionViewForPreviewItem (QLPreviewController controller, IQLPreviewItem item); public virtual void WillDismiss (QLPreviewController controller); ``` #### Type Changed: QuickLook.IQLPreviewItem Modified properties: ```diff -public abstract Foundation.NSUrl PreviewItemUrl { get; } +public virtual Foundation.NSUrl PreviewItemUrl { get; } ``` Added property: ```csharp public virtual string PreviewItemTitle { get; } ``` #### Type Changed: QuickLook.IQLPreviewingController Added methods: ```csharp public virtual void PreparePreviewOfFile (Foundation.NSUrl url, System.Action<Foundation.NSError> handler); public virtual void PreparePreviewOfSearchableItem (string identifier, string queryString, System.Action<Foundation.NSError> handler); public virtual void ProvidePreview (QLFilePreviewRequest request, System.Action<QLPreviewReply,Foundation.NSError> handler); ``` ### Namespace QuickLookThumbnailing #### Type Changed: QuickLookThumbnailing.QLThumbnailGenerator Added methods: ```csharp public virtual void SaveBestRepresentationAsContent (QLThumbnailGenerationRequest request, Foundation.NSUrl fileUrl, string contentType, System.Action<Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task SaveBestRepresentationAsContentAsync (QLThumbnailGenerationRequest request, Foundation.NSUrl fileUrl, string contentType); ``` ### Namespace ReplayKit #### Type Changed: ReplayKit.IRPBroadcastActivityViewControllerDelegate Modified methods: ```diff -public abstract void DidFinish (RPBroadcastActivityViewController broadcastActivityViewController, RPBroadcastController broadcastController, Foundation.NSError error) +public virtual void DidFinish (RPBroadcastActivityViewController broadcastActivityViewController, RPBroadcastController broadcastController, Foundation.NSError error) ``` #### Type Changed: ReplayKit.IRPBroadcastControllerDelegate Added methods: ```csharp public virtual void DidFinish (RPBroadcastController broadcastController, Foundation.NSError error); public virtual void DidUpdateBroadcastUrl (RPBroadcastController broadcastController, Foundation.NSUrl broadcastUrl); public virtual void DidUpdateServiceInfo (RPBroadcastController broadcastController, Foundation.NSDictionary<Foundation.NSString,Foundation.INSCoding> serviceInfo); ``` #### Type Changed: ReplayKit.IRPPreviewViewControllerDelegate Added methods: ```csharp public virtual void DidFinish (RPPreviewViewController previewController); public virtual void DidFinish (RPPreviewViewController previewController, Foundation.NSSet<Foundation.NSString> activityTypes); ``` #### Type Changed: ReplayKit.IRPScreenRecorderDelegate Added methods: ```csharp public virtual void DidChangeAvailability (RPScreenRecorder screenRecorder); public virtual void DidStopRecording (RPScreenRecorder screenRecorder, Foundation.NSError error, RPPreviewViewController previewViewController); public virtual void DidStopRecording (RPScreenRecorder screenRecorder, RPPreviewViewController previewViewController, Foundation.NSError error); ``` ### Namespace SafariServices #### Type Changed: SafariServices.ISFSafariViewControllerDelegate Added methods: ```csharp public virtual void DidCompleteInitialLoad (SFSafariViewController controller, bool didLoadSuccessfully); public virtual void DidFinish (SFSafariViewController controller); public virtual UIKit.UIActivity[] GetActivityItems (SFSafariViewController controller, Foundation.NSUrl url, string title); public virtual string[] GetExcludedActivityTypes (SFSafariViewController controller, Foundation.NSUrl url, string title); public virtual void InitialLoadDidRedirectToUrl (SFSafariViewController controller, Foundation.NSUrl url); public virtual void WillOpenInBrowser (SFSafariViewController controller); ``` #### New Type: SafariServices.ISFAddToHomeScreenActivityItem ```csharp public interface ISFAddToHomeScreenActivityItem : ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual Foundation.NSItemProvider IconItemProvider { get; } public virtual string Title { get; } public virtual Foundation.NSUrl Url { get; } } ``` ### Namespace SceneKit #### Type Changed: SceneKit.ISCNActionable Modified properties: ```diff -public abstract string[] ActionKeys { get; } +public virtual string[] ActionKeys { get; } ``` Modified methods: ```diff -public abstract SCNAction GetAction (string key) +public virtual SCNAction GetAction (string key) -public abstract bool HasActions () +public virtual bool HasActions () -public abstract void RemoveAction (string key) +public virtual void RemoveAction (string key) -public abstract void RemoveAllActions () +public virtual void RemoveAllActions () -public abstract void RunAction (SCNAction action) +public virtual void RunAction (SCNAction action) -public abstract void RunAction (SCNAction action, System.Action block) +public virtual void RunAction (SCNAction action, System.Action block) -public abstract void RunAction (SCNAction action, string key) +public virtual void RunAction (SCNAction action, string key) -public abstract void RunAction (SCNAction action, string key, System.Action block) +public virtual void RunAction (SCNAction action, string key, System.Action block) ``` #### Type Changed: SceneKit.ISCNAnimatable Modified methods: ```diff -public abstract void AddAnimation (ISCNAnimationProtocol scnAnimation, string key) +public virtual void AddAnimation (ISCNAnimationProtocol scnAnimation, string key) -public abstract void AddAnimation (SCNAnimationPlayer player, Foundation.NSString key) +public virtual void AddAnimation (SCNAnimationPlayer player, Foundation.NSString key) -public abstract CoreAnimation.CAAnimation GetAnimation (Foundation.NSString key) +public virtual CoreAnimation.CAAnimation GetAnimation (Foundation.NSString key) -public abstract Foundation.NSString[] GetAnimationKeys () +public virtual Foundation.NSString[] GetAnimationKeys () -public abstract SCNAnimationPlayer GetAnimationPlayer (Foundation.NSString key) +public virtual SCNAnimationPlayer GetAnimationPlayer (Foundation.NSString key) -public abstract bool IsAnimationPaused (Foundation.NSString key) +public virtual bool IsAnimationPaused (Foundation.NSString key) -public abstract void PauseAnimation (Foundation.NSString key) +public virtual void PauseAnimation (Foundation.NSString key) -public abstract void RemoveAllAnimations () +public virtual void RemoveAllAnimations () -public abstract void RemoveAllAnimationsWithBlendOutDuration (System.Runtime.InteropServices.NFloat duration) +public virtual void RemoveAllAnimationsWithBlendOutDuration (System.Runtime.InteropServices.NFloat duration) -public abstract void RemoveAnimation (Foundation.NSString key) +public virtual void RemoveAnimation (Foundation.NSString key) -public abstract void RemoveAnimation (Foundation.NSString key, System.Runtime.InteropServices.NFloat duration) +public virtual void RemoveAnimation (Foundation.NSString key, System.Runtime.InteropServices.NFloat duration) -public abstract void RemoveAnimationUsingBlendOutDuration (Foundation.NSString key, System.Runtime.InteropServices.NFloat blendOutDuration) +public virtual void RemoveAnimationUsingBlendOutDuration (Foundation.NSString key, System.Runtime.InteropServices.NFloat blendOutDuration) -public abstract void ResumeAnimation (Foundation.NSString key) +public virtual void ResumeAnimation (Foundation.NSString key) -public abstract void SetSpeed (System.Runtime.InteropServices.NFloat speed, Foundation.NSString key) +public virtual void SetSpeed (System.Runtime.InteropServices.NFloat speed, Foundation.NSString key) ``` #### Type Changed: SceneKit.ISCNAvoidOccluderConstraintDelegate Added methods: ```csharp public virtual void DidAvoidOccluder (SCNAvoidOccluderConstraint constraint, SCNNode occluder, SCNNode node); public virtual bool ShouldAvoidOccluder (SCNAvoidOccluderConstraint constraint, SCNNode occluder, SCNNode node); ``` #### Type Changed: SceneKit.ISCNBoundingVolume Modified methods: ```diff -public abstract bool GetBoundingBox (ref SCNVector3 min, ref SCNVector3 max) +public virtual bool GetBoundingBox (ref SCNVector3 min, ref SCNVector3 max) -public abstract bool GetBoundingSphere (ref SCNVector3 center, ref System.Runtime.InteropServices.NFloat radius) +public virtual bool GetBoundingSphere (ref SCNVector3 center, ref System.Runtime.InteropServices.NFloat radius) -public abstract void SetBoundingBox (ref SCNVector3 min, ref SCNVector3 max) +public virtual void SetBoundingBox (ref SCNVector3 min, ref SCNVector3 max) ``` #### Type Changed: SceneKit.ISCNBufferStream Modified methods: ```diff -public abstract void Length (IntPtr bytes, UIntPtr length) +public virtual void Length (IntPtr bytes, UIntPtr length) ``` #### Type Changed: SceneKit.ISCNCameraControlConfiguration Modified properties: ```diff -public abstract bool AllowsTranslation { get; set; } +public virtual bool AllowsTranslation { get; set; } -public abstract bool AutoSwitchToFreeCamera { get; set; } +public virtual bool AutoSwitchToFreeCamera { get; set; } -public abstract System.Runtime.InteropServices.NFloat FlyModeVelocity { get; set; } +public virtual System.Runtime.InteropServices.NFloat FlyModeVelocity { get; set; } -public abstract System.Runtime.InteropServices.NFloat PanSensitivity { get; set; } +public virtual System.Runtime.InteropServices.NFloat PanSensitivity { get; set; } -public abstract System.Runtime.InteropServices.NFloat RotationSensitivity { get; set; } +public virtual System.Runtime.InteropServices.NFloat RotationSensitivity { get; set; } -public abstract System.Runtime.InteropServices.NFloat TruckSensitivity { get; set; } +public virtual System.Runtime.InteropServices.NFloat TruckSensitivity { get; set; } ``` #### Type Changed: SceneKit.ISCNCameraControllerDelegate Added methods: ```csharp public virtual void CameraInertiaDidEnd (SCNCameraController cameraController); public virtual void CameraInertiaWillStart (SCNCameraController cameraController); ``` #### Type Changed: SceneKit.ISCNNodeRendererDelegate Added method: ```csharp public virtual void Render (SCNNode node, SCNRenderer renderer, Foundation.NSDictionary arguments); ``` #### Type Changed: SceneKit.ISCNPhysicsContactDelegate Added methods: ```csharp public virtual void DidBeginContact (SCNPhysicsWorld world, SCNPhysicsContact contact); public virtual void DidEndContact (SCNPhysicsWorld world, SCNPhysicsContact contact); public virtual void DidUpdateContact (SCNPhysicsWorld world, SCNPhysicsContact contact); ``` #### Type Changed: SceneKit.ISCNProgramDelegate Added method: ```csharp public virtual void HandleError (SCNProgram program, Foundation.NSError error); ``` #### Type Changed: SceneKit.ISCNSceneExportDelegate Added method: ```csharp public virtual Foundation.NSUrl WriteImage (UIKit.UIImage image, Foundation.NSUrl documentUrl, Foundation.NSUrl originalImageUrl); ``` #### Type Changed: SceneKit.ISCNSceneRenderer Modified properties: ```diff -public abstract AVFoundation.AVAudioEngine AudioEngine { get; } +public virtual AVFoundation.AVAudioEngine AudioEngine { get; } -public abstract AVFoundation.AVAudioEnvironmentNode AudioEnvironmentNode { get; } +public virtual AVFoundation.AVAudioEnvironmentNode AudioEnvironmentNode { get; } -public abstract SCNNode AudioListener { get; set; } +public virtual SCNNode AudioListener { get; set; } -public abstract bool AutoenablesDefaultLighting { get; set; } +public virtual bool AutoenablesDefaultLighting { get; set; } -public abstract Metal.MTLPixelFormat ColorPixelFormat { get; } +public virtual Metal.MTLPixelFormat ColorPixelFormat { get; } -public abstract Metal.IMTLCommandQueue CommandQueue { get; } +public virtual Metal.IMTLCommandQueue CommandQueue { get; } -public abstract Metal.IMTLRenderCommandEncoder CurrentRenderCommandEncoder { get; } +public virtual Metal.IMTLRenderCommandEncoder CurrentRenderCommandEncoder { get; } -public abstract Metal.MTLRenderPassDescriptor CurrentRenderPassDescriptor { get; } +public virtual Metal.MTLRenderPassDescriptor CurrentRenderPassDescriptor { get; } -public abstract CoreGraphics.CGRect CurrentViewport { get; } +public virtual CoreGraphics.CGRect CurrentViewport { get; } -public abstract SCNDebugOptions DebugOptions { get; set; } +public virtual SCNDebugOptions DebugOptions { get; set; } -public abstract Metal.MTLPixelFormat DepthPixelFormat { get; } +public virtual Metal.MTLPixelFormat DepthPixelFormat { get; } -public abstract Metal.IMTLDevice Device { get; } +public virtual Metal.IMTLDevice Device { get; } -public abstract bool JitteringEnabled { get; set; } +public virtual bool JitteringEnabled { get; set; } -public abstract bool Loops { get; set; } +public virtual bool Loops { get; set; } -public abstract SpriteKit.SKScene OverlayScene { get; set; } +public virtual SpriteKit.SKScene OverlayScene { get; set; } -public abstract bool Playing { get; set; } +public virtual bool Playing { get; set; } -public abstract SCNNode PointOfView { get; set; } +public virtual SCNNode PointOfView { get; set; } -public abstract SCNRenderingApi RenderingApi { get; } +public virtual SCNRenderingApi RenderingApi { get; } -public abstract SCNScene Scene { get; set; } +public virtual SCNScene Scene { get; set; } -public abstract double SceneTimeInSeconds { get; set; } +public virtual double SceneTimeInSeconds { get; set; } -public abstract bool ShowsStatistics { get; set; } +public virtual bool ShowsStatistics { get; set; } -public abstract Metal.MTLPixelFormat StencilPixelFormat { get; } +public virtual Metal.MTLPixelFormat StencilPixelFormat { get; } -public abstract bool TemporalAntialiasingEnabled { get; set; } +public virtual bool TemporalAntialiasingEnabled { get; set; } -public abstract bool UsesReverseZ { get; set; } +public virtual bool UsesReverseZ { get; set; } -public abstract Foundation.NSObject WeakSceneRendererDelegate { get; set; } +public virtual Foundation.NSObject WeakSceneRendererDelegate { get; set; } ``` Added property: ```csharp public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; } ``` Modified methods: ```diff -public abstract SCNNode[] GetNodesInsideFrustum (SCNNode pointOfView) +public virtual SCNNode[] GetNodesInsideFrustum (SCNNode pointOfView) -public abstract SCNHitTestResult[] HitTest (CoreGraphics.CGPoint thePoint, Foundation.NSDictionary options) +public virtual SCNHitTestResult[] HitTest (CoreGraphics.CGPoint thePoint, Foundation.NSDictionary options) -public abstract bool IsNodeInsideFrustum (SCNNode node, SCNNode pointOfView) +public virtual bool IsNodeInsideFrustum (SCNNode node, SCNNode pointOfView) -public abstract bool Prepare (Foundation.NSObject obj, System.Func%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% abortHandler) +public virtual bool Prepare (Foundation.NSObject obj, System.Func%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% abortHandler) -public abstract void Prepare (Foundation.NSObject[] objects, System.Action%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% completionHandler) +public virtual void Prepare (Foundation.NSObject[] objects, System.Action%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% completionHandler) -public abstract void PresentScene (SCNScene scene, SpriteKit.SKTransition transition, SCNNode pointOfView, System.Action completionHandler) +public virtual void PresentScene (SCNScene scene, SpriteKit.SKTransition transition, SCNNode pointOfView, System.Action completionHandler) -public abstract SCNVector3 ProjectPoint (SCNVector3 point) +public virtual SCNVector3 ProjectPoint (SCNVector3 point) -public abstract SCNVector3 UnprojectPoint (SCNVector3 point) +public virtual SCNVector3 UnprojectPoint (SCNVector3 point) ``` Added methods: ```csharp public virtual System.Threading.Tasks.Task<bool> PrepareAsync (Foundation.NSObject[] objects); public virtual System.Threading.Tasks.Task PresentSceneAsync (SCNScene scene, SpriteKit.SKTransition transition, SCNNode pointOfView); ``` #### Type Changed: SceneKit.ISCNSceneRendererDelegate Added methods: ```csharp public virtual void DidApplyAnimations (ISCNSceneRenderer renderer, double timeInSeconds); public virtual void DidApplyConstraints (ISCNSceneRenderer renderer, double atTime); public virtual void DidRenderScene (ISCNSceneRenderer renderer, SCNScene scene, double timeInSeconds); public virtual void DidSimulatePhysics (ISCNSceneRenderer renderer, double timeInSeconds); public virtual void Update (ISCNSceneRenderer renderer, double timeInSeconds); public virtual void WillRenderScene (ISCNSceneRenderer renderer, SCNScene scene, double timeInSeconds); ``` #### Type Changed: SceneKit.ISCNShadable Added properties: ```csharp public virtual Foundation.NSNumber MinimumLanguageVersion { get; set; } public virtual SCNProgram Program { get; set; } public virtual Foundation.NSDictionary WeakShaderModifiers { get; set; } ``` Added methods: ```csharp public virtual void HandleBinding (string symbol, SCNBindingHandler handler); public virtual void HandleUnbinding (string symbol, SCNBindingHandler handler); ``` #### Type Changed: SceneKit.ISCNTechniqueSupport Modified properties: ```diff -public abstract SCNTechnique Technique { get; set; } +public virtual SCNTechnique Technique { get; set; } ``` #### Type Changed: SceneKit.SCNGeometry Added property: ```csharp public virtual int[] GeometrySourceChannels { get; } ``` Added method: ```csharp public static SCNGeometry Create (SCNGeometrySource[] sources, SCNGeometryElement[] elements, int[] sourceChannels); ``` #### Type Changed: SceneKit.SCNGeometryElement Added properties: ```csharp public virtual IntPtr IndicesChannelCount { get; } public virtual bool InterleavedIndicesChannels { get; } ``` Added methods: ```csharp public static SCNGeometryElement FromBuffer (Metal.IMTLBuffer data, SCNGeometryPrimitiveType primitiveType, IntPtr primitiveCount, IntPtr indicesChannelCount, bool interleavedIndicesChannels, IntPtr bytesPerIndex); public static SCNGeometryElement FromData (Foundation.NSData data, SCNGeometryPrimitiveType primitiveType, IntPtr primitiveCount, IntPtr indicesChannelCount, bool interleavedIndicesChannels, IntPtr bytesPerIndex); ``` #### Type Changed: SceneKit.SCNMaterialProperty Added methods: ```csharp public static Foundation.NSObject GetPrecomputedLightingEnvironmentContents (Foundation.NSData url, out Foundation.NSError error); public static Foundation.NSObject GetPrecomputedLightingEnvironmentContents (Foundation.NSUrl url, out Foundation.NSError error); public static Foundation.NSData GetPrecomputedLightingEnvironmentData (Foundation.NSObject contents, Metal.IMTLDevice device, out Foundation.NSError error); ``` ### Namespace SensorKit #### Type Changed: SensorKit.ISRSensorReaderDelegate Added methods: ```csharp public virtual void DidChangeAuthorizationStatus (SRSensorReader reader, SRAuthorizationStatus authorizationStatus); public virtual void DidCompleteFetch (SRSensorReader reader, SRFetchRequest fetchRequest); public virtual void DidFetchDevices (SRSensorReader reader, SRDevice[] devices); public virtual bool DidFetchResult (SRSensorReader reader, SRFetchRequest fetchRequest, SensorKit.SRFetchResult<Foundation.NSObject> result); public virtual void DidStopRecording (SRSensorReader reader); public virtual void FetchDevicesFailed (SRSensorReader reader, Foundation.NSError error); public virtual void FetchingRequestFailed (SRSensorReader reader, SRFetchRequest fetchRequest, Foundation.NSError error); public virtual void StartRecordingFailed (SRSensorReader reader, Foundation.NSError error); public virtual void StopRecordingFailed (SRSensorReader reader, Foundation.NSError error); public virtual void WillStartRecording (SRSensorReader reader); ``` #### Type Changed: SensorKit.SRDevice Added property: ```csharp public virtual string ProductType { get; } ``` #### Type Changed: SensorKit.SRSensor Added values: ```csharp Electrocardiogram = 18, FaceMetrics = 14, HeartRate = 15, Odometer = 16, Photoplethysmogram = 19, WristTemperature = 17, ``` #### New Type: SensorKit.SRAudioLevel ```csharp public class SRAudioLevel : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRAudioLevel (Foundation.NSCoder coder); protected SRAudioLevel (Foundation.NSObjectFlag t); protected SRAudioLevel (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual double Loudness { get; } public virtual CoreMedia.CMTimeRange TimeRange { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRElectrocardiogramData ```csharp public class SRElectrocardiogramData : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRElectrocardiogramData (Foundation.NSCoder coder); protected SRElectrocardiogramData (Foundation.NSObjectFlag t); protected SRElectrocardiogramData (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual SRElectrocardiogramDataFlags Flags { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitElectricPotentialDifference> Value { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRElectrocardiogramDataFlags ```csharp [Serializable] [Flags] public enum SRElectrocardiogramDataFlags { CrownTouched = 2, None = 0, SignalInvalid = 1, } ``` #### New Type: SensorKit.SRElectrocardiogramLead ```csharp [Serializable] public enum SRElectrocardiogramLead { LeftArmMinusRightArm = 2, RightArmMinusLeftArm = 1, } ``` #### New Type: SensorKit.SRElectrocardiogramSample ```csharp public class SRElectrocardiogramSample : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRElectrocardiogramSample (Foundation.NSCoder coder); protected SRElectrocardiogramSample (Foundation.NSObjectFlag t); protected SRElectrocardiogramSample (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual SRElectrocardiogramData[] Data { get; } public virtual Foundation.NSDate Date { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitFrequency> Frequency { get; } public virtual SRElectrocardiogramLead Lead { get; } public virtual SRElectrocardiogramSession Session { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRElectrocardiogramSession ```csharp public class SRElectrocardiogramSession : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRElectrocardiogramSession (Foundation.NSCoder coder); protected SRElectrocardiogramSession (Foundation.NSObjectFlag t); protected SRElectrocardiogramSession (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Identifier { get; } public virtual SRElectrocardiogramSessionGuidance SessionGuidance { get; } public virtual SRElectrocardiogramSessionState State { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRElectrocardiogramSessionGuidance ```csharp [Serializable] public enum SRElectrocardiogramSessionGuidance { Guided = 1, Unguided = 2, } ``` #### New Type: SensorKit.SRElectrocardiogramSessionState ```csharp [Serializable] public enum SRElectrocardiogramSessionState { Active = 2, Begin = 1, End = 3, } ``` #### New Type: SensorKit.SRFaceMetricsContext ```csharp [Serializable] [Flags] public enum SRFaceMetricsContext { DeviceUnlock = 1, MessagingAppUsage = 2, } ``` #### New Type: SensorKit.SRFaceMetricsExpression ```csharp public class SRFaceMetricsExpression : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRFaceMetricsExpression (Foundation.NSCoder coder); protected SRFaceMetricsExpression (Foundation.NSObjectFlag t); protected SRFaceMetricsExpression (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Identifier { get; } public virtual double Value { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRPhotoplethysmogramAccelerometerSample ```csharp public class SRPhotoplethysmogramAccelerometerSample : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRPhotoplethysmogramAccelerometerSample (Foundation.NSCoder coder); protected SRPhotoplethysmogramAccelerometerSample (Foundation.NSObjectFlag t); protected SRPhotoplethysmogramAccelerometerSample (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual long NanosecondsSinceStart { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitFrequency> SamplingFrequency { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitAcceleration> X { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitAcceleration> Y { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitAcceleration> Z { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRPhotoplethysmogramOpticalSample ```csharp public class SRPhotoplethysmogramOpticalSample : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRPhotoplethysmogramOpticalSample (Foundation.NSCoder coder); protected SRPhotoplethysmogramOpticalSample (Foundation.NSObjectFlag t); protected SRPhotoplethysmogramOpticalSample (ObjCRuntime.NativeHandle handle); // properties public virtual Foundation.NSIndexSet ActivePhotodiodeIndexes { get; } public virtual double? BackgroundNoise { get; } public virtual double? BackgroundNoiseOffset { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSString[] Conditions { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitLength> EffectiveWavelength { get; } public virtual IntPtr Emitter { get; } public virtual long NanosecondsSinceStart { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitLength> NominalWavelength { get; } public virtual double? NormalizedReflectance { get; } public virtual double? PinkNoise { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitFrequency> SamplingFrequency { get; } public virtual IntPtr SignalIdentifier { get; } public virtual double? WhiteNoise { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRPhotoplethysmogramOpticalSampleCondition ```csharp [Serializable] public enum SRPhotoplethysmogramOpticalSampleCondition { SignalSaturation = 0, UnreliableNoise = 1, } ``` #### New Type: SensorKit.SRPhotoplethysmogramOpticalSampleConditionExtensions ```csharp public static class SRPhotoplethysmogramOpticalSampleConditionExtensions { // methods public static Foundation.NSString GetConstant (this SRPhotoplethysmogramOpticalSampleCondition self); public static SRPhotoplethysmogramOpticalSampleCondition GetValue (Foundation.NSString constant); } ``` #### New Type: SensorKit.SRPhotoplethysmogramSample ```csharp public class SRPhotoplethysmogramSample : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRPhotoplethysmogramSample (Foundation.NSCoder coder); protected SRPhotoplethysmogramSample (Foundation.NSObjectFlag t); protected SRPhotoplethysmogramSample (ObjCRuntime.NativeHandle handle); // properties public virtual SRPhotoplethysmogramAccelerometerSample[] AccelerometerSamples { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual long NanosecondsSinceStart { get; } public virtual SRPhotoplethysmogramOpticalSample[] OpticalSamples { get; } public virtual Foundation.NSDate StartDate { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitTemperature> Temperature { get; } public virtual Foundation.NSString[] Usage { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRPhotoplethysmogramSampleUsage ```csharp [Serializable] public enum SRPhotoplethysmogramSampleUsage { BackgroundSystem = 3, DeepBreathing = 1, ForegroundBloodOxygen = 2, ForegroundHeartRate = 0, } ``` #### New Type: SensorKit.SRPhotoplethysmogramSampleUsageExtensions ```csharp public static class SRPhotoplethysmogramSampleUsageExtensions { // methods public static Foundation.NSString GetConstant (this SRPhotoplethysmogramSampleUsage self); public static SRPhotoplethysmogramSampleUsage GetValue (Foundation.NSString constant); } ``` #### New Type: SensorKit.SRSpeechExpression ```csharp public class SRSpeechExpression : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRSpeechExpression (Foundation.NSCoder coder); protected SRSpeechExpression (Foundation.NSObjectFlag t); protected SRSpeechExpression (ObjCRuntime.NativeHandle handle); // properties public virtual double Activation { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual double Confidence { get; } public virtual double Dominance { get; } public virtual double Mood { get; } public virtual CoreMedia.CMTimeRange TimeRange { get; } public virtual double Valence { get; } public virtual string Version { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRSpeechMetrics ```csharp public class SRSpeechMetrics : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRSpeechMetrics (Foundation.NSCoder coder); protected SRSpeechMetrics (Foundation.NSObjectFlag t); protected SRSpeechMetrics (ObjCRuntime.NativeHandle handle); // properties public virtual SRAudioLevel AudioLevel { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual SRSpeechMetricsSessionFlags SessionFlags { get; } public virtual string SessionIdentifier { get; } public virtual SoundAnalysis.SNClassificationResult SoundClassification { get; } public virtual SRSpeechExpression SpeechExpression { get; } public virtual Speech.SFSpeechRecognitionResult SpeechRecognition { get; } public virtual double TimeSinceAudioStart { get; } public virtual Foundation.NSDate Timestamp { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRSpeechMetricsSessionFlags ```csharp [Serializable] [Flags] public enum SRSpeechMetricsSessionFlags { BypassVoiceProcessing = 1, Default = 0, } ``` #### New Type: SensorKit.SRWristTemperature ```csharp public class SRWristTemperature : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRWristTemperature (Foundation.NSCoder coder); protected SRWristTemperature (Foundation.NSObjectFlag t); protected SRWristTemperature (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual SRWristTemperatureCondition Condition { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitTemperature> ErrorEstimate { get; } public virtual Foundation.NSDate Timestamp { get; } public virtual Foundation.NSMeasurement<Foundation.NSUnitTemperature> Value { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRWristTemperatureCondition ```csharp [Serializable] [Flags] public enum SRWristTemperatureCondition { InMotion = 4, None = 0, OffWrist = 1, OnCharger = 2, } ``` #### New Type: SensorKit.SRWristTemperatureSession ```csharp public class SRWristTemperatureSession : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRWristTemperatureSession (Foundation.NSCoder coder); protected SRWristTemperatureSession (Foundation.NSObjectFlag t); protected SRWristTemperatureSession (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual double Duration { get; } public virtual Foundation.NSDate StartDate { get; } public virtual Foundation.NSEnumerator<SRWristTemperature> Temperatures { get; } public virtual string Version { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` ### Namespace SharedWithYou #### Type Changed: SharedWithYou.ISWCollaborationViewDelegate Added methods: ```csharp public virtual void DidDismissPopover (SWCollaborationView collaborationView); public virtual bool ShouldPresentPopover (SWCollaborationView collaborationView); public virtual void WillPresentPopover (SWCollaborationView collaborationView); ``` #### Type Changed: SharedWithYou.ISWHighlightCenterDelegate Modified methods: ```diff -public abstract void HighlightsDidChange (SWHighlightCenter highlightCenter) +public virtual void HighlightsDidChange (SWHighlightCenter highlightCenter) ``` #### Type Changed: SharedWithYou.ISWHighlightEvent Modified properties: ```diff -public abstract Foundation.NSUrl HighlightUrl { get; } +public virtual Foundation.NSUrl HighlightUrl { get; } ``` ### Namespace SharedWithYouCore #### Type Changed: SharedWithYouCore.ISWCollaborationActionHandler Modified methods: ```diff -public abstract void HandleStartCollaborationAction (SWCollaborationCoordinator coordinator, SWStartCollaborationAction action) +public virtual void HandleStartCollaborationAction (SWCollaborationCoordinator coordinator, SWStartCollaborationAction action) -public abstract void HandleUpdateCollaborationParticipantsAction (SWCollaborationCoordinator coordinator, SWUpdateCollaborationParticipantsAction action) +public virtual void HandleUpdateCollaborationParticipantsAction (SWCollaborationCoordinator coordinator, SWUpdateCollaborationParticipantsAction action) ``` ### Namespace ShazamKit #### Type Changed: ShazamKit.ISHSessionDelegate Added methods: ```csharp public virtual void DidFindMatch (SHSession session, SHMatch match); public virtual void DidNotFindMatch (SHSession session, SHSignature signature, Foundation.NSError error); ``` #### Type Changed: ShazamKit.SHCustomCatalog Added constructor: ```csharp public SHCustomCatalog (Foundation.NSData data, out Foundation.NSError error); ``` Added property: ```csharp public virtual Foundation.NSData DataRepresentation { get; } ``` ### Namespace SoundAnalysis #### Type Changed: SoundAnalysis.ISNResultsObserving Modified methods: ```diff -public abstract void DidProduceResult (ISNRequest request, ISNResult result) +public virtual void DidProduceResult (ISNRequest request, ISNResult result) ``` Added methods: ```csharp public virtual void DidComplete (ISNRequest request); public virtual void DidFail (ISNRequest request, Foundation.NSError error); ``` ### Namespace Speech #### Type Changed: Speech.ISFSpeechRecognitionTaskDelegate Added methods: ```csharp public virtual void DidDetectSpeech (SFSpeechRecognitionTask task); public virtual void DidFinishRecognition (SFSpeechRecognitionTask task, SFSpeechRecognitionResult recognitionResult); public virtual void DidFinishSuccessfully (SFSpeechRecognitionTask task, bool successfully); public virtual void DidHypothesizeTranscription (SFSpeechRecognitionTask task, SFTranscription transcription); public virtual void DidProcessAudioDuration (SFSpeechRecognitionTask task, double duration); public virtual void FinishedReadingAudio (SFSpeechRecognitionTask task); public virtual void WasCancelled (SFSpeechRecognitionTask task); ``` #### Type Changed: Speech.ISFSpeechRecognizerDelegate Added method: ```csharp public virtual void AvailabilityDidChange (SFSpeechRecognizer speechRecognizer, bool available); ``` #### Type Changed: Speech.SFSpeechErrorCode Added value: ```csharp AudioReadFailed = 2, ``` #### Type Changed: Speech.SFSpeechRecognitionTaskDelegate Added method: ```csharp public virtual void DidProcessAudioDuration (SFSpeechRecognitionTask task, double duration); ``` #### Type Changed: Speech.SFSpeechRecognitionTaskDelegate_Extensions Added method: ```csharp public static void DidProcessAudioDuration (this ISFSpeechRecognitionTaskDelegate This, SFSpeechRecognitionTask task, double duration); ``` ### Namespace SpriteKit #### Type Changed: SpriteKit.ISKPhysicsContactDelegate Added methods: ```csharp public virtual void DidBeginContact (SKPhysicsContact contact); public virtual void DidEndContact (SKPhysicsContact contact); ``` #### Type Changed: SpriteKit.ISKSceneDelegate Added methods: ```csharp public virtual void DidApplyConstraints (SKScene scene); public virtual void DidEvaluateActions (SKScene scene); public virtual void DidFinishUpdate (SKScene scene); public virtual void DidSimulatePhysics (SKScene scene); public virtual void Update (double currentTime, SKScene scene); ``` #### Type Changed: SpriteKit.ISKViewDelegate Added method: ```csharp public virtual bool ShouldRender (SKView view, double time); ``` #### Type Changed: SpriteKit.ISKWarpable Modified properties: ```diff -public abstract IntPtr SubdivisionLevels { get; set; } +public virtual IntPtr SubdivisionLevels { get; set; } -public abstract SKWarpGeometry WarpGeometry { get; set; } +public virtual SKWarpGeometry WarpGeometry { get; set; } ``` #### Type Changed: SpriteKit.SKNode Added interfaces: ```csharp UIKit.IUICoordinateSpace UIKit.IUIFocusItemContainer ``` Added properties: ```csharp public virtual CoreGraphics.CGRect Bounds { get; } public virtual UIKit.IUICoordinateSpace CoordinateSpace { get; } ``` Added methods: ```csharp public virtual CoreGraphics.CGPoint ConvertPointFromCoordinateSpace (CoreGraphics.CGPoint point, UIKit.IUICoordinateSpace coordinateSpace); public virtual CoreGraphics.CGPoint ConvertPointToCoordinateSpace (CoreGraphics.CGPoint point, UIKit.IUICoordinateSpace coordinateSpace); public virtual CoreGraphics.CGRect ConvertRectFromCoordinateSpace (CoreGraphics.CGRect rect, UIKit.IUICoordinateSpace coordinateSpace); public virtual CoreGraphics.CGRect ConvertRectToCoordinateSpace (CoreGraphics.CGRect rect, UIKit.IUICoordinateSpace coordinateSpace); public virtual UIKit.IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect); ``` ### Namespace StoreKit #### Type Changed: StoreKit.ISKCloudServiceSetupViewControllerDelegate Added method: ```csharp public virtual void DidDismiss (SKCloudServiceSetupViewController cloudServiceSetupViewController); ``` #### Type Changed: StoreKit.ISKOverlayDelegate Added methods: ```csharp public virtual void DidFailToLoad (SKOverlay overlay, Foundation.NSError error); public virtual void DidFinishDismissal (SKOverlay overlay, SKOverlayTransitionContext transitionContext); public virtual void DidFinishPresentation (SKOverlay overlay, SKOverlayTransitionContext transitionContext); public virtual void WillStartDismissal (SKOverlay overlay, SKOverlayTransitionContext transitionContext); public virtual void WillStartPresentation (SKOverlay overlay, SKOverlayTransitionContext transitionContext); ``` #### Type Changed: StoreKit.ISKPaymentQueueDelegate Added methods: ```csharp public virtual bool ShouldContinueTransaction (SKPaymentQueue paymentQueue, SKPaymentTransaction transaction, SKStorefront newStorefront); public virtual bool ShouldShowPriceConsent (SKPaymentQueue paymentQueue); ``` #### Type Changed: StoreKit.ISKPaymentTransactionObserver Modified methods: ```diff -public abstract void UpdatedTransactions (SKPaymentQueue queue, SKPaymentTransaction[] transactions) +public virtual void UpdatedTransactions (SKPaymentQueue queue, SKPaymentTransaction[] transactions) ``` Added methods: ```csharp public virtual void DidChangeStorefront (SKPaymentQueue queue); public virtual void DidRevokeEntitlements (SKPaymentQueue queue, string[] productIdentifiers); public virtual void RemovedTransactions (SKPaymentQueue queue, SKPaymentTransaction[] transactions); public virtual void RestoreCompletedTransactionsFailedWithError (SKPaymentQueue queue, Foundation.NSError error); public virtual void RestoreCompletedTransactionsFinished (SKPaymentQueue queue); public virtual bool ShouldAddStorePayment (SKPaymentQueue queue, SKPayment payment, SKProduct product); public virtual void UpdatedDownloads (SKPaymentQueue queue, SKDownload[] downloads); ``` #### Type Changed: StoreKit.ISKProductsRequestDelegate Modified methods: ```diff -public abstract void ReceivedResponse (SKProductsRequest request, SKProductsResponse response) +public virtual void ReceivedResponse (SKProductsRequest request, SKProductsResponse response) ``` #### Type Changed: StoreKit.ISKRequestDelegate Added methods: ```csharp public virtual void RequestFailed (SKRequest request, Foundation.NSError error); public virtual void RequestFinished (SKRequest request); ``` #### Type Changed: StoreKit.ISKStoreProductViewControllerDelegate Added method: ```csharp public virtual void Finished (SKStoreProductViewController controller); ``` ### Namespace Symbols #### Type Changed: Symbols.NSSymbolEffectOptions Added methods: ```csharp public static NSSymbolEffectOptions Create (NSSymbolEffectOptionsRepeatBehavior behavior); public virtual NSSymbolEffectOptions Get (NSSymbolEffectOptionsRepeatBehavior behavior); ``` #### Type Changed: Symbols.NSSymbolReplaceContentTransition Added method: ```csharp public static NSSymbolMagicReplaceContentTransition CreateMagicTransition (NSSymbolReplaceContentTransition fallback); ``` #### New Type: Symbols.NSSymbolBreatheEffect ```csharp public class NSSymbolBreatheEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolBreatheEffect (Foundation.NSCoder coder); protected NSSymbolBreatheEffect (Foundation.NSObjectFlag t); protected NSSymbolBreatheEffect (ObjCRuntime.NativeHandle handle); // properties public virtual NSSymbolBreatheEffect ByLayer { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual NSSymbolBreatheEffect WholeSymbol { get; } // methods public static NSSymbolBreatheEffect Create (); public static NSSymbolBreatheEffect CreatePlainEffect (); public static NSSymbolBreatheEffect CreatePulseEffect (); } ``` #### New Type: Symbols.NSSymbolEffectOptionsRepeatBehavior ```csharp public class NSSymbolEffectOptionsRepeatBehavior : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public NSSymbolEffectOptionsRepeatBehavior (Foundation.NSCoder coder); protected NSSymbolEffectOptionsRepeatBehavior (Foundation.NSObjectFlag t); protected NSSymbolEffectOptionsRepeatBehavior (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static NSSymbolEffectOptionsRepeatBehavior CreateContinuous (); public static NSSymbolEffectOptionsRepeatBehavior CreatePeriodic (); public static NSSymbolEffectOptionsRepeatBehavior CreatePeriodic (double delay); public static NSSymbolEffectOptionsRepeatBehavior CreatePeriodic (IntPtr count); public static NSSymbolEffectOptionsRepeatBehavior CreatePeriodic (IntPtr count, double delay); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: Symbols.NSSymbolMagicReplaceContentTransition ```csharp public class NSSymbolMagicReplaceContentTransition : Symbols.NSSymbolContentTransition { // constructors public NSSymbolMagicReplaceContentTransition (Foundation.NSCoder coder); protected NSSymbolMagicReplaceContentTransition (Foundation.NSObjectFlag t); protected NSSymbolMagicReplaceContentTransition (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: Symbols.NSSymbolRotateEffect ```csharp public class NSSymbolRotateEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolRotateEffect (Foundation.NSCoder coder); protected NSSymbolRotateEffect (Foundation.NSObjectFlag t); protected NSSymbolRotateEffect (ObjCRuntime.NativeHandle handle); // properties public virtual NSSymbolRotateEffect ByLayer { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual NSSymbolRotateEffect WholeSymbol { get; } // methods public static NSSymbolRotateEffect Create (); public static NSSymbolRotateEffect CreateClockwiseEffect (); public static NSSymbolRotateEffect CreateCounterClockwiseEffect (); } ``` #### New Type: Symbols.NSSymbolWiggleEffect ```csharp public class NSSymbolWiggleEffect : Symbols.NSSymbolEffect { // constructors public NSSymbolWiggleEffect (Foundation.NSCoder coder); protected NSSymbolWiggleEffect (Foundation.NSObjectFlag t); protected NSSymbolWiggleEffect (ObjCRuntime.NativeHandle handle); // properties public virtual NSSymbolWiggleEffect ByLayer { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual NSSymbolWiggleEffect WholeSymbol { get; } // methods public static NSSymbolWiggleEffect Create (); public static NSSymbolWiggleEffect CreateBackwardEffect (); public static NSSymbolWiggleEffect CreateClockwiseEffect (); public static NSSymbolWiggleEffect CreateCounterClockwiseEffect (); public static NSSymbolWiggleEffect CreateCustomAngleEffect (double angle); public static NSSymbolWiggleEffect CreateDownEffect (); public static NSSymbolWiggleEffect CreateForwardEffect (); public static NSSymbolWiggleEffect CreateLeftEffect (); public static NSSymbolWiggleEffect CreateRightEffect (); public static NSSymbolWiggleEffect CreateUpEffect (); } ``` ### Namespace UIKit #### Type Changed: UIKit.INSCollectionLayoutContainer Modified properties: ```diff -public abstract NSDirectionalEdgeInsets ContentInsets { get; } +public virtual NSDirectionalEdgeInsets ContentInsets { get; } -public abstract CoreGraphics.CGSize ContentSize { get; } +public virtual CoreGraphics.CGSize ContentSize { get; } -public abstract NSDirectionalEdgeInsets EffectiveContentInsets { get; } +public virtual NSDirectionalEdgeInsets EffectiveContentInsets { get; } -public abstract CoreGraphics.CGSize EffectiveContentSize { get; } +public virtual CoreGraphics.CGSize EffectiveContentSize { get; } ``` #### Type Changed: UIKit.INSCollectionLayoutEnvironment Modified properties: ```diff -public abstract INSCollectionLayoutContainer Container { get; } +public virtual INSCollectionLayoutContainer Container { get; } -public abstract UITraitCollection TraitCollection { get; } +public virtual UITraitCollection TraitCollection { get; } ``` #### Type Changed: UIKit.INSCollectionLayoutVisibleItem Modified properties: ```diff -public abstract System.Runtime.InteropServices.NFloat Alpha { get; set; } +public virtual System.Runtime.InteropServices.NFloat Alpha { get; set; } -public abstract CoreGraphics.CGRect Frame { get; } +public virtual CoreGraphics.CGRect Frame { get; } -public abstract bool Hidden { get; set; } +public virtual bool Hidden { get; set; } -public abstract Foundation.NSIndexPath IndexPath { get; } +public virtual Foundation.NSIndexPath IndexPath { get; } -public abstract string Name { get; } +public virtual string Name { get; } -public abstract UICollectionElementCategory RepresentedElementCategory { get; } +public virtual UICollectionElementCategory RepresentedElementCategory { get; } -public abstract string RepresentedElementKind { get; } +public virtual string RepresentedElementKind { get; } -public abstract CoreAnimation.CATransform3D Transform3D { get; set; } +public virtual CoreAnimation.CATransform3D Transform3D { get; set; } -public abstract IntPtr ZIndex { get; set; } +public virtual IntPtr ZIndex { get; set; } ``` #### Type Changed: UIKit.INSLayoutManagerDelegate Added methods: ```csharp public virtual void DidChangeGeometry (NSLayoutManager layoutManager, NSTextContainer textContainer, CoreGraphics.CGSize oldSize); public virtual void DidCompleteLayout (NSLayoutManager layoutManager, NSTextContainer textContainer, bool layoutFinishedFlag); public virtual void DidInvalidatedLayout (NSLayoutManager sender); public virtual CoreGraphics.CGRect GetBoundingBox (NSLayoutManager layoutManager, UIntPtr glyphIndex, NSTextContainer textContainer, CoreGraphics.CGRect proposedRect, CoreGraphics.CGPoint glyphPosition, UIntPtr characterIndex); public virtual System.Runtime.InteropServices.NFloat GetLineSpacingAfterGlyph (NSLayoutManager layoutManager, UIntPtr glyphIndex, CoreGraphics.CGRect rect); public virtual System.Runtime.InteropServices.NFloat GetParagraphSpacingAfterGlyph (NSLayoutManager layoutManager, UIntPtr glyphIndex, CoreGraphics.CGRect rect); public virtual System.Runtime.InteropServices.NFloat GetParagraphSpacingBeforeGlyph (NSLayoutManager layoutManager, UIntPtr glyphIndex, CoreGraphics.CGRect rect); public virtual bool ShouldBreakLineByHyphenatingBeforeCharacter (NSLayoutManager layoutManager, UIntPtr characterIndex); public virtual bool ShouldBreakLineByWordBeforeCharacter (NSLayoutManager layoutManager, UIntPtr characterIndex); public virtual UIntPtr ShouldGenerateGlyphs (NSLayoutManager layoutManager, IntPtr glyphBuffer, IntPtr properties, IntPtr characterIndexes, UIFont font, Foundation.NSRange glyphRange); public virtual bool ShouldSetLineFragmentRect (NSLayoutManager layoutManager, ref CoreGraphics.CGRect lineFragmentRect, ref CoreGraphics.CGRect lineFragmentUsedRect, ref System.Runtime.InteropServices.NFloat baselineOffset, NSTextContainer textContainer, Foundation.NSRange glyphRange); public virtual NSControlCharacterAction ShouldUseAction (NSLayoutManager layoutManager, NSControlCharacterAction action, UIntPtr characterIndex); ``` #### Type Changed: UIKit.INSTextAttachmentContainer Modified methods: ```diff -public abstract CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint glyphPosition, UIntPtr characterIndex) +public virtual CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint glyphPosition, UIntPtr characterIndex) -public abstract UIImage GetImageForBounds (CoreGraphics.CGRect bounds, NSTextContainer textContainer, UIntPtr characterIndex) +public virtual UIImage GetImageForBounds (CoreGraphics.CGRect bounds, NSTextContainer textContainer, UIntPtr characterIndex) ``` #### Type Changed: UIKit.INSTextAttachmentLayout Modified methods: ```diff -public abstract CoreGraphics.CGRect GetAttachmentBounds (Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint position) +public virtual CoreGraphics.CGRect GetAttachmentBounds (Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint position) -public abstract UIImage GetImageForBounds (CoreGraphics.CGRect bounds, Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer) +public virtual UIImage GetImageForBounds (CoreGraphics.CGRect bounds, Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% attributes, INSTextLocation location, NSTextContainer textContainer) -public abstract NSTextAttachmentViewProvider GetViewProvider (UIView parentView, INSTextLocation location, NSTextContainer textContainer) +public virtual NSTextAttachmentViewProvider GetViewProvider (UIView parentView, INSTextLocation location, NSTextContainer textContainer) ``` #### Type Changed: UIKit.INSTextContentManagerDelegate Added methods: ```csharp public virtual NSTextElement GetTextContentManager (NSTextContentManager textContentManager, INSTextLocation location); public virtual bool ShouldEnumerateTextElement (NSTextContentManager textContentManager, NSTextElement textElement, NSTextContentManagerEnumerationOptions options); ``` #### Type Changed: UIKit.INSTextContentStorageDelegate Added method: ```csharp public virtual NSTextParagraph GetTextParagraph (NSTextContentStorage textContentStorage, Foundation.NSRange range); ``` #### Type Changed: UIKit.INSTextElementProvider Modified properties: ```diff -public abstract NSTextRange DocumentRange { get; } +public virtual NSTextRange DocumentRange { get; } ``` Modified methods: ```diff -public abstract INSTextLocation EnumerateTextElements (INSTextLocation textLocation, NSTextContentManagerEnumerationOptions options, System.Func%LESSERTHANREPLACEMENT%NSTextElement,System.Boolean%GREATERTHANREPLACEMENT% handler) +public virtual INSTextLocation EnumerateTextElements (INSTextLocation textLocation, NSTextContentManagerEnumerationOptions options, System.Func%LESSERTHANREPLACEMENT%NSTextElement,System.Boolean%GREATERTHANREPLACEMENT% handler) -public abstract void ReplaceContents (NSTextRange range, NSTextElement[] textElements) +public virtual void ReplaceContents (NSTextRange range, NSTextElement[] textElements) -public abstract void Synchronize (System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) +public virtual void Synchronize (System.Action%LESSERTHANREPLACEMENT%Foundation.NSError%GREATERTHANREPLACEMENT% completionHandler) ``` Added methods: ```csharp public virtual NSTextRange AdjustedRange (NSTextRange textRange, bool forEditingTextSelection); public virtual INSTextLocation GetLocation (INSTextLocation location, IntPtr offset); public virtual IntPtr GetOffset (INSTextLocation from, INSTextLocation to); ``` #### Type Changed: UIKit.INSTextLayoutManagerDelegate Added methods: ```csharp public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetRenderingAttributes (NSTextLayoutManager textLayoutManager, Foundation.NSObject link, INSTextLocation location, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> renderingAttributes); public virtual NSTextLayoutFragment GetTextLayoutFragment (NSTextLayoutManager textLayoutManager, INSTextLocation location, NSTextElement textElement); public virtual bool ShouldBreakLineBeforeLocation (NSTextLayoutManager textLayoutManager, INSTextLocation location, bool hyphenating); ``` #### Type Changed: UIKit.INSTextLayoutOrientationProvider Modified properties: ```diff -public abstract NSTextLayoutOrientation LayoutOrientation { get; } +public virtual NSTextLayoutOrientation LayoutOrientation { get; } ``` #### Type Changed: UIKit.INSTextLocation Modified methods: ```diff -public abstract Foundation.NSComparisonResult Compare (INSTextLocation location) +public virtual Foundation.NSComparisonResult Compare (INSTextLocation location) ``` #### Type Changed: UIKit.INSTextSelectionDataSource Modified properties: ```diff -public abstract NSTextRange DocumentRange { get; } +public virtual NSTextRange DocumentRange { get; } ``` Modified methods: ```diff -public abstract void EnumerateCaretOffsets (INSTextLocation location, NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate handler) +public virtual void EnumerateCaretOffsets (INSTextLocation location, NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate handler) -public abstract void EnumerateSubstrings (INSTextLocation location, Foundation.NSStringEnumerationOptions options, NSTextSelectionDataSourceEnumerateSubstringsDelegate handler) +public virtual void EnumerateSubstrings (INSTextLocation location, Foundation.NSStringEnumerationOptions options, NSTextSelectionDataSourceEnumerateSubstringsDelegate handler) -public abstract NSTextSelectionNavigationWritingDirection GetBaseWritingDirection (INSTextLocation location) +public virtual NSTextSelectionNavigationWritingDirection GetBaseWritingDirection (INSTextLocation location) -public abstract NSTextRange GetLineFragmentRange (CoreGraphics.CGPoint point, INSTextLocation location) +public virtual NSTextRange GetLineFragmentRange (CoreGraphics.CGPoint point, INSTextLocation location) -public abstract INSTextLocation GetLocation (INSTextLocation location, IntPtr offset) +public virtual INSTextLocation GetLocation (INSTextLocation location, IntPtr offset) -public abstract IntPtr GetOffsetFromLocation (INSTextLocation from, INSTextLocation to) +public virtual IntPtr GetOffsetFromLocation (INSTextLocation from, INSTextLocation to) -public abstract NSTextRange GetTextRange (NSTextSelectionGranularity selectionGranularity, INSTextLocation location) +public virtual NSTextRange GetTextRange (NSTextSelectionGranularity selectionGranularity, INSTextLocation location) ``` Added methods: ```csharp public virtual void EnumerateContainerBoundaries (INSTextLocation location, bool reverse, NSTextSelectionDataSourceEnumerateContainerBoundariesDelegate handler); public virtual NSTextSelectionNavigationLayoutOrientation GetTextLayoutOrientation (INSTextLocation location); ``` #### Type Changed: UIKit.INSTextStorageDelegate Added methods: ```csharp public virtual void DidProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editedMask, Foundation.NSRange editedRange, IntPtr delta); public virtual void WillProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editedMask, Foundation.NSRange editedRange, IntPtr delta); ``` #### Type Changed: UIKit.INSTextStorageObserving Modified properties: ```diff -public abstract NSTextStorage TextStorage { get; set; } +public virtual NSTextStorage TextStorage { get; set; } ``` Modified methods: ```diff -public abstract void PerformEditingTransaction (NSTextStorage textStorage, System.Action transaction) +public virtual void PerformEditingTransaction (NSTextStorage textStorage, System.Action transaction) -public abstract void ProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editMask, Foundation.NSRange newCharRange, IntPtr delta, Foundation.NSRange invalidatedCharRange) +public virtual void ProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editMask, Foundation.NSRange newCharRange, IntPtr delta, Foundation.NSRange invalidatedCharRange) ``` #### Type Changed: UIKit.INSTextViewportLayoutControllerDelegate Modified methods: ```diff -public abstract void ConfigureRenderingSurface (NSTextViewportLayoutController textViewportLayoutController, NSTextLayoutFragment textLayoutFragment) +public virtual void ConfigureRenderingSurface (NSTextViewportLayoutController textViewportLayoutController, NSTextLayoutFragment textLayoutFragment) -public abstract CoreGraphics.CGRect GetViewportBounds (NSTextViewportLayoutController textViewportLayoutController) +public virtual CoreGraphics.CGRect GetViewportBounds (NSTextViewportLayoutController textViewportLayoutController) ``` Added methods: ```csharp public virtual void DidLayout (NSTextViewportLayoutController textViewportLayoutController); public virtual void WillLayout (NSTextViewportLayoutController textViewportLayoutController); ``` #### Type Changed: UIKit.IUIAccelerometerDelegate Added method: ```csharp public virtual void DidAccelerate (UIAccelerometer accelerometer, UIAcceleration acceleration); ``` #### Type Changed: UIKit.IUIAccessibilityContainer Added property: ```csharp public virtual UIAccessibilityContainerType AccessibilityContainerType { get; set; } ``` Added methods: ```csharp public virtual IntPtr AccessibilityElementCount (); public virtual Foundation.NSObject GetAccessibilityElementAt (IntPtr index); public virtual Foundation.NSObject GetAccessibilityElements (); public virtual IntPtr GetIndexOfAccessibilityElement (Foundation.NSObject element); public virtual void SetAccessibilityElements (Foundation.NSObject elements); ``` #### Type Changed: UIKit.IUIAccessibilityContainerDataTable Modified properties: ```diff -public abstract UIntPtr AccessibilityColumnCount { get; } +public virtual UIntPtr AccessibilityColumnCount { get; } -public abstract UIntPtr AccessibilityRowCount { get; } +public virtual UIntPtr AccessibilityRowCount { get; } ``` Modified methods: ```diff -public abstract IUIAccessibilityContainerDataTableCell GetAccessibilityDataTableCellElement (UIntPtr row, UIntPtr column) +public virtual IUIAccessibilityContainerDataTableCell GetAccessibilityDataTableCellElement (UIntPtr row, UIntPtr column) ``` Added methods: ```csharp public virtual IUIAccessibilityContainerDataTableCell[] GetAccessibilityHeaderElementsForColumn (UIntPtr column); public virtual IUIAccessibilityContainerDataTableCell[] GetAccessibilityHeaderElementsForRow (UIntPtr row); ``` #### Type Changed: UIKit.IUIAccessibilityContainerDataTableCell Modified methods: ```diff -public abstract Foundation.NSRange GetAccessibilityColumnRange () +public virtual Foundation.NSRange GetAccessibilityColumnRange () -public abstract Foundation.NSRange GetAccessibilityRowRange () +public virtual Foundation.NSRange GetAccessibilityRowRange () ``` #### Type Changed: UIKit.IUIAccessibilityContentSizeCategoryImageAdjusting Modified properties: ```diff -public abstract bool AdjustsImageSizeForAccessibilityContentSizeCategory { get; set; } +public virtual bool AdjustsImageSizeForAccessibilityContentSizeCategory { get; set; } ``` #### Type Changed: UIKit.IUIAccessibilityIdentification Modified properties: ```diff -public abstract string AccessibilityIdentifier { get; set; } +public virtual string AccessibilityIdentifier { get; set; } ``` #### Type Changed: UIKit.IUIAccessibilityReadingContent Modified methods: ```diff -public abstract string GetAccessibilityContent (IntPtr lineNumber) +public virtual string GetAccessibilityContent (IntPtr lineNumber) -public abstract CoreGraphics.CGRect GetAccessibilityFrame (IntPtr lineNumber) +public virtual CoreGraphics.CGRect GetAccessibilityFrame (IntPtr lineNumber) -public abstract IntPtr GetAccessibilityLineNumber (CoreGraphics.CGPoint point) +public virtual IntPtr GetAccessibilityLineNumber (CoreGraphics.CGPoint point) -public abstract string GetAccessibilityPageContent () +public virtual string GetAccessibilityPageContent () ``` Added methods: ```csharp public virtual Foundation.NSAttributedString GetAccessibilityAttributedContent (IntPtr lineNumber); public virtual Foundation.NSAttributedString GetAccessibilityAttributedPageContent (); ``` #### Type Changed: UIKit.IUIActionSheetDelegate Added methods: ```csharp public virtual void Canceled (UIActionSheet actionSheet); public virtual void Clicked (UIActionSheet actionSheet, IntPtr buttonIndex); public virtual void Dismissed (UIActionSheet actionSheet, IntPtr buttonIndex); public virtual void Presented (UIActionSheet actionSheet); public virtual void WillDismiss (UIActionSheet actionSheet, IntPtr buttonIndex); public virtual void WillPresent (UIActionSheet actionSheet); ``` #### Type Changed: UIKit.IUIActivityItemSource Modified methods: ```diff -public abstract Foundation.NSObject GetItemForActivity (UIActivityViewController activityViewController, Foundation.NSString activityType) +public virtual Foundation.NSObject GetItemForActivity (UIActivityViewController activityViewController, Foundation.NSString activityType) -public abstract Foundation.NSObject GetPlaceholderData (UIActivityViewController activityViewController) +public virtual Foundation.NSObject GetPlaceholderData (UIActivityViewController activityViewController) ``` Added methods: ```csharp public virtual string GetDataTypeIdentifierForActivity (UIActivityViewController activityViewController, Foundation.NSString activityType); public virtual LinkPresentation.LPLinkMetadata GetLinkMetadata (UIActivityViewController activityViewController); public virtual string GetSubjectForActivity (UIActivityViewController activityViewController, Foundation.NSString activityType); public virtual UIImage GetThumbnailImageForActivity (UIActivityViewController activityViewController, Foundation.NSString activityType, CoreGraphics.CGSize suggestedSize); ``` #### Type Changed: UIKit.IUIActivityItemsConfigurationProviding Modified properties: ```diff -public abstract IUIActivityItemsConfigurationReading ActivityItemsConfiguration { get; } +public virtual IUIActivityItemsConfigurationReading ActivityItemsConfiguration { get; } ``` #### Type Changed: UIKit.IUIActivityItemsConfigurationReading Modified properties: ```diff -public abstract Foundation.NSItemProvider[] ItemProvidersForActivityItemsConfiguration { get; } +public virtual Foundation.NSItemProvider[] ItemProvidersForActivityItemsConfiguration { get; } ``` Added methods: ```csharp public virtual Foundation.NSObject GetActivityItemsConfigurationMetadata (Foundation.NSString activityItemsConfigurationMetadataKey); public virtual Foundation.NSObject GetActivityItemsConfigurationMetadata (IntPtr index, Foundation.NSString activityItemsConfigurationMetadataKey); public virtual Foundation.NSItemProvider GetActivityItemsConfigurationPreview (IntPtr index, Foundation.NSString activityItemsConfigurationPreviewIntent, CoreGraphics.CGSize suggestedSize); public virtual bool GetActivityItemsConfigurationSupportsInteraction (Foundation.NSString activityItemsConfigurationInteraction); public virtual UIActivity[] GetApplicationActivitiesForActivityItemsConfiguration (); ``` #### Type Changed: UIKit.IUIAdaptivePresentationControllerDelegate Added methods: ```csharp public virtual void DidAttemptToDismiss (UIPresentationController presentationController); public virtual void DidDismiss (UIPresentationController presentationController); public virtual UIModalPresentationStyle GetAdaptivePresentationStyle (UIPresentationController forPresentationController); public virtual UIModalPresentationStyle GetAdaptivePresentationStyle (UIPresentationController controller, UITraitCollection traitCollection); public virtual UIViewController GetViewControllerForAdaptivePresentation (UIPresentationController controller, UIModalPresentationStyle style); public virtual void PrepareAdaptivePresentationController (UIPresentationController presentationController, UIPresentationController adaptivePresentationController); public virtual bool ShouldDismiss (UIPresentationController presentationController); public virtual void WillDismiss (UIPresentationController presentationController); public virtual void WillPresent (UIPresentationController presentationController, UIModalPresentationStyle style, IUIViewControllerTransitionCoordinator transitionCoordinator); ``` #### Type Changed: UIKit.IUIAlertViewDelegate Added methods: ```csharp public virtual void Canceled (UIAlertView alertView); public virtual void Clicked (UIAlertView alertview, IntPtr buttonIndex); public virtual void Dismissed (UIAlertView alertView, IntPtr buttonIndex); public virtual void Presented (UIAlertView alertView); public virtual bool ShouldEnableFirstOtherButton (UIAlertView alertView); public virtual void WillDismiss (UIAlertView alertView, IntPtr buttonIndex); public virtual void WillPresent (UIAlertView alertView); ``` #### Type Changed: UIKit.IUIApplicationDelegate Added property: ```csharp public virtual UIWindow Window { get; set; } ``` Added methods: ```csharp public virtual void ApplicationSignificantTimeChange (UIApplication application); public virtual void ChangedStatusBarFrame (UIApplication application, CoreGraphics.CGRect oldStatusBarFrame); public virtual bool ContinueUserActivity (UIApplication application, Foundation.NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler); public virtual void DidChangeStatusBarOrientation (UIApplication application, UIInterfaceOrientation oldStatusBarOrientation); public virtual void DidDecodeRestorableState (UIApplication application, Foundation.NSCoder coder); public virtual void DidDiscardSceneSessions (UIApplication application, Foundation.NSSet<UISceneSession> sceneSessions); public virtual void DidEnterBackground (UIApplication application); public virtual void DidFailToContinueUserActivity (UIApplication application, string userActivityType, Foundation.NSError error); public virtual void DidReceiveRemoteNotification (UIApplication application, Foundation.NSDictionary userInfo, System.Action<UIBackgroundFetchResult> completionHandler); public virtual void DidRegisterUserNotificationSettings (UIApplication application, UIUserNotificationSettings notificationSettings); public virtual void FailedToRegisterForRemoteNotifications (UIApplication application, Foundation.NSError error); public virtual void FinishedLaunching (UIApplication application); public virtual bool FinishedLaunching (UIApplication application, Foundation.NSDictionary launchOptions); public virtual UISceneConfiguration GetConfiguration (UIApplication application, UISceneSession connectingSceneSession, UISceneConnectionOptions options); public virtual Foundation.NSObject GetHandlerForIntent (UIApplication application, Intents.INIntent intent); public virtual UIInterfaceOrientationMask GetSupportedInterfaceOrientations (UIApplication application, UIWindow forWindow); public virtual UIViewController GetViewController (UIApplication application, string[] restorationIdentifierComponents, Foundation.NSCoder coder); public virtual void HandleAction (UIApplication application, string actionIdentifier, Foundation.NSDictionary remoteNotificationInfo, System.Action completionHandler); public virtual void HandleAction (UIApplication application, string actionIdentifier, UILocalNotification localNotification, System.Action completionHandler); public virtual void HandleAction (UIApplication application, string actionIdentifier, Foundation.NSDictionary remoteNotificationInfo, Foundation.NSDictionary responseInfo, System.Action completionHandler); public virtual void HandleAction (UIApplication application, string actionIdentifier, UILocalNotification localNotification, Foundation.NSDictionary responseInfo, System.Action completionHandler); public virtual void HandleEventsForBackgroundUrl (UIApplication application, string sessionIdentifier, System.Action completionHandler); public virtual void HandleIntent (UIApplication application, Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler); public virtual bool HandleOpenURL (UIApplication application, Foundation.NSUrl url); public virtual void HandleWatchKitExtensionRequest (UIApplication application, Foundation.NSDictionary userInfo, System.Action<Foundation.NSDictionary> reply); public virtual void OnActivated (UIApplication application); public virtual void OnResignActivation (UIApplication application); public virtual bool OpenUrl (UIApplication app, Foundation.NSUrl url, Foundation.NSDictionary options); public virtual bool OpenUrl (UIApplication application, Foundation.NSUrl url, string sourceApplication, Foundation.NSObject annotation); public virtual void PerformActionForShortcutItem (UIApplication application, UIApplicationShortcutItem shortcutItem, UIOperationHandler completionHandler); public virtual void PerformFetch (UIApplication application, System.Action<UIBackgroundFetchResult> completionHandler); public virtual void ProtectedDataDidBecomeAvailable (UIApplication application); public virtual void ProtectedDataWillBecomeUnavailable (UIApplication application); public virtual void ReceiveMemoryWarning (UIApplication application); public virtual void ReceivedLocalNotification (UIApplication application, UILocalNotification notification); public virtual void ReceivedRemoteNotification (UIApplication application, Foundation.NSDictionary userInfo); public virtual void RegisteredForRemoteNotifications (UIApplication application, Foundation.NSData deviceToken); public virtual bool ShouldAllowExtensionPointIdentifier (UIApplication application, Foundation.NSString extensionPointIdentifier); public virtual bool ShouldAutomaticallyLocalizeKeyCommands (UIApplication application); public virtual void ShouldRequestHealthAuthorization (UIApplication application); public virtual bool ShouldRestoreApplicationState (UIApplication application, Foundation.NSCoder coder); public virtual bool ShouldRestoreSecureApplicationState (UIApplication application, Foundation.NSCoder coder); public virtual bool ShouldSaveApplicationState (UIApplication application, Foundation.NSCoder coder); public virtual bool ShouldSaveSecureApplicationState (UIApplication application, Foundation.NSCoder coder); public virtual void UserActivityUpdated (UIApplication application, Foundation.NSUserActivity userActivity); public virtual void UserDidAcceptCloudKitShare (UIApplication application, CloudKit.CKShareMetadata cloudKitShareMetadata); public virtual void WillChangeStatusBarFrame (UIApplication application, CoreGraphics.CGRect newStatusBarFrame); public virtual void WillChangeStatusBarOrientation (UIApplication application, UIInterfaceOrientation newStatusBarOrientation, double duration); public virtual bool WillContinueUserActivity (UIApplication application, string userActivityType); public virtual void WillEncodeRestorableState (UIApplication application, Foundation.NSCoder coder); public virtual void WillEnterForeground (UIApplication application); public virtual bool WillFinishLaunching (UIApplication application, Foundation.NSDictionary launchOptions); public virtual void WillTerminate (UIApplication application); ``` #### Type Changed: UIKit.IUIBarPositioning Modified properties: ```diff -public abstract UIBarPosition BarPosition { get; } +public virtual UIBarPosition BarPosition { get; } ``` #### Type Changed: UIKit.IUIBarPositioningDelegate Added method: ```csharp public virtual UIBarPosition GetPositionForBar (IUIBarPositioning barPositioning); ``` #### Type Changed: UIKit.IUICGFloatTraitDefinition Added method: ```csharp public static System.Runtime.InteropServices.NFloat GetDefaultValue<T> (); ``` #### Type Changed: UIKit.IUICalendarSelectionMultiDateDelegate Modified methods: ```diff -public abstract void DidDeselectDate (UICalendarSelectionMultiDate selection, Foundation.NSDateComponents dateComponents) +public virtual void DidDeselectDate (UICalendarSelectionMultiDate selection, Foundation.NSDateComponents dateComponents) -public abstract void DidSelectDate (UICalendarSelectionMultiDate selection, Foundation.NSDateComponents dateComponents) +public virtual void DidSelectDate (UICalendarSelectionMultiDate selection, Foundation.NSDateComponents dateComponents) ``` Added methods: ```csharp public virtual bool CanDeselectDate (UICalendarSelectionMultiDate selection, Foundation.NSDateComponents dateComponents); public virtual bool CanSelectDate (UICalendarSelectionMultiDate selection, Foundation.NSDateComponents dateComponents); ``` #### Type Changed: UIKit.IUICalendarSelectionSingleDateDelegate Modified methods: ```diff -public abstract void DidSelectDate (UICalendarSelectionSingleDate selection, Foundation.NSDateComponents dateComponents) +public virtual void DidSelectDate (UICalendarSelectionSingleDate selection, Foundation.NSDateComponents dateComponents) ``` Added method: ```csharp public virtual bool CanSelectDate (UICalendarSelectionSingleDate selection, Foundation.NSDateComponents dateComponents); ``` #### Type Changed: UIKit.IUICalendarViewDelegate Modified methods: ```diff -public abstract UICalendarViewDecoration GetDecoration (UICalendarView calendarView, Foundation.NSDateComponents dateComponents) +public virtual UICalendarViewDecoration GetDecoration (UICalendarView calendarView, Foundation.NSDateComponents dateComponents) ``` Added method: ```csharp public virtual void DidChangeVisibleDateComponents (UICalendarView calendarView, Foundation.NSDateComponents previousDateComponents); ``` #### Type Changed: UIKit.IUICloudSharingControllerDelegate Modified methods: ```diff -public abstract void FailedToSaveShare (UICloudSharingController csc, Foundation.NSError error) +public virtual void FailedToSaveShare (UICloudSharingController csc, Foundation.NSError error) -public abstract string GetItemTitle (UICloudSharingController csc) +public virtual string GetItemTitle (UICloudSharingController csc) ``` Added methods: ```csharp public virtual void DidSaveShare (UICloudSharingController csc); public virtual void DidStopSharing (UICloudSharingController csc); public virtual Foundation.NSData GetItemThumbnailData (UICloudSharingController csc); public virtual string GetItemType (UICloudSharingController csc); ``` #### Type Changed: UIKit.IUICollectionViewDataSource Modified methods: ```diff -public abstract UICollectionViewCell GetCell (UICollectionView collectionView, Foundation.NSIndexPath indexPath) +public virtual UICollectionViewCell GetCell (UICollectionView collectionView, Foundation.NSIndexPath indexPath) -public abstract IntPtr GetItemsCount (UICollectionView collectionView, IntPtr section) +public virtual IntPtr GetItemsCount (UICollectionView collectionView, IntPtr section) ``` Added methods: ```csharp public virtual bool CanMoveItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual Foundation.NSIndexPath GetIndexPath (UICollectionView collectionView, string title, IntPtr atIndex); public virtual string[] GetIndexTitles (UICollectionView collectionView); public virtual UICollectionReusableView GetViewForSupplementaryElement (UICollectionView collectionView, Foundation.NSString elementKind, Foundation.NSIndexPath indexPath); public virtual void MoveItem (UICollectionView collectionView, Foundation.NSIndexPath sourceIndexPath, Foundation.NSIndexPath destinationIndexPath); public virtual IntPtr NumberOfSections (UICollectionView collectionView); ``` #### Type Changed: UIKit.IUICollectionViewDataSourcePrefetching Modified methods: ```diff -public abstract void PrefetchItems (UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths) +public virtual void PrefetchItems (UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths) ``` Added method: ```csharp public virtual void CancelPrefetching (UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths); ``` #### Type Changed: UIKit.IUICollectionViewDelegate Added methods: ```csharp public virtual bool CanEditItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual bool CanFocusItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual bool CanPerformAction (UICollectionView collectionView, ObjCRuntime.Selector action, Foundation.NSIndexPath indexPath, Foundation.NSObject sender); public virtual bool CanPerformPrimaryActionForItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual void CellDisplayingEnded (UICollectionView collectionView, UICollectionViewCell cell, Foundation.NSIndexPath indexPath); public virtual void DidBeginMultipleSelectionInteraction (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual void DidEndMultipleSelectionInteraction (UICollectionView collectionView); public virtual void DidUpdateFocus (UICollectionView collectionView, UICollectionViewFocusUpdateContext context, UIFocusAnimationCoordinator coordinator); public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UICollectionView collectionView, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point); public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths, CoreGraphics.CGPoint point); public virtual UITargetedPreview GetContextMenuConfigurationDismissalPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath); public virtual UITargetedPreview GetContextMenuConfigurationHighlightPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath); public virtual Foundation.NSIndexPath GetIndexPathForPreferredFocusedView (UICollectionView collectionView); public virtual UITargetedPreview GetPreviewForDismissingContextMenu (UICollectionView collectionView, UIContextMenuConfiguration configuration); public virtual UITargetedPreview GetPreviewForHighlightingContextMenu (UICollectionView collectionView, UIContextMenuConfiguration configuration); public virtual UIWindowSceneActivationConfiguration GetSceneActivationConfigurationForItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point); public virtual bool GetSelectionFollowsFocusForItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual CoreGraphics.CGPoint GetTargetContentOffset (UICollectionView collectionView, CoreGraphics.CGPoint proposedContentOffset); public virtual Foundation.NSIndexPath GetTargetIndexPathForMove (UICollectionView collectionView, Foundation.NSIndexPath originalIndexPath, Foundation.NSIndexPath proposedIndexPath); public virtual Foundation.NSIndexPath GetTargetIndexPathForMoveOfItemFromOriginalIndexPath (UICollectionView collectionView, Foundation.NSIndexPath originalIndexPath, Foundation.NSIndexPath currentIndexPath, Foundation.NSIndexPath proposedIndexPath); public virtual void ItemDeselected (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual void ItemHighlighted (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual void ItemSelected (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual void ItemUnhighlighted (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual void PerformAction (UICollectionView collectionView, ObjCRuntime.Selector action, Foundation.NSIndexPath indexPath, Foundation.NSObject sender); public virtual void PerformPrimaryActionForItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual bool ShouldBeginMultipleSelectionInteraction (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual bool ShouldDeselectItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual bool ShouldHighlightItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual bool ShouldSelectItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual bool ShouldShowMenu (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual bool ShouldSpringLoadItem (UICollectionView collectionView, Foundation.NSIndexPath indexPath, IUISpringLoadedInteractionContext context); public virtual bool ShouldUpdateFocus (UICollectionView collectionView, UICollectionViewFocusUpdateContext context); public virtual void SupplementaryViewDisplayingEnded (UICollectionView collectionView, UICollectionReusableView view, Foundation.NSString elementKind, Foundation.NSIndexPath indexPath); public virtual UICollectionViewTransitionLayout TransitionLayout (UICollectionView collectionView, UICollectionViewLayout fromLayout, UICollectionViewLayout toLayout); public virtual void WillDisplayCell (UICollectionView collectionView, UICollectionViewCell cell, Foundation.NSIndexPath indexPath); public virtual void WillDisplayContextMenu (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator); public virtual void WillDisplaySupplementaryView (UICollectionView collectionView, UICollectionReusableView view, string elementKind, Foundation.NSIndexPath indexPath); public virtual void WillEndContextMenuInteraction (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator); public virtual void WillPerformPreviewAction (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionCommitAnimating animator); ``` #### Type Changed: UIKit.IUICollectionViewDelegateFlowLayout Added methods: ```csharp public virtual UIEdgeInsets GetInsetForSection (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section); public virtual System.Runtime.InteropServices.NFloat GetMinimumInteritemSpacingForSection (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section); public virtual System.Runtime.InteropServices.NFloat GetMinimumLineSpacingForSection (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section); public virtual CoreGraphics.CGSize GetReferenceSizeForFooter (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section); public virtual CoreGraphics.CGSize GetReferenceSizeForHeader (UICollectionView collectionView, UICollectionViewLayout layout, IntPtr section); public virtual CoreGraphics.CGSize GetSizeForItem (UICollectionView collectionView, UICollectionViewLayout layout, Foundation.NSIndexPath indexPath); ``` #### Type Changed: UIKit.IUICollectionViewDragDelegate Modified methods: ```diff -public abstract UIDragItem[] GetItemsForBeginningDragSession (UICollectionView collectionView, IUIDragSession session, Foundation.NSIndexPath indexPath) +public virtual UIDragItem[] GetItemsForBeginningDragSession (UICollectionView collectionView, IUIDragSession session, Foundation.NSIndexPath indexPath) ``` Added methods: ```csharp public virtual bool DragSessionAllowsMoveOperation (UICollectionView collectionView, IUIDragSession session); public virtual void DragSessionDidEnd (UICollectionView collectionView, IUIDragSession session); public virtual bool DragSessionIsRestrictedToDraggingApplication (UICollectionView collectionView, IUIDragSession session); public virtual void DragSessionWillBegin (UICollectionView collectionView, IUIDragSession session); public virtual UIDragPreviewParameters GetDragPreviewParameters (UICollectionView collectionView, Foundation.NSIndexPath indexPath); public virtual UIDragItem[] GetItemsForAddingToDragSession (UICollectionView collectionView, IUIDragSession session, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point); ``` #### Type Changed: UIKit.IUICollectionViewDropCoordinator Modified properties: ```diff -public abstract Foundation.NSIndexPath DestinationIndexPath { get; } +public virtual Foundation.NSIndexPath DestinationIndexPath { get; } -public abstract IUICollectionViewDropItem[] Items { get; } +public virtual IUICollectionViewDropItem[] Items { get; } -public abstract UICollectionViewDropProposal Proposal { get; } +public virtual UICollectionViewDropProposal Proposal { get; } -public abstract IUIDropSession Session { get; } +public virtual IUIDropSession Session { get; } ``` Modified methods: ```diff -public abstract IUIDragAnimating DropItemIntoItem (UIDragItem dragItem, Foundation.NSIndexPath itemIndexPath, CoreGraphics.CGRect rect) +public virtual IUIDragAnimating DropItemIntoItem (UIDragItem dragItem, Foundation.NSIndexPath itemIndexPath, CoreGraphics.CGRect rect) -public abstract IUIDragAnimating DropItemToItem (UIDragItem dragItem, Foundation.NSIndexPath itemIndexPath) +public virtual IUIDragAnimating DropItemToItem (UIDragItem dragItem, Foundation.NSIndexPath itemIndexPath) -public abstract IUICollectionViewDropPlaceholderContext DropItemToPlaceholder (UIDragItem dragItem, UICollectionViewDropPlaceholder placeholder) +public virtual IUICollectionViewDropPlaceholderContext DropItemToPlaceholder (UIDragItem dragItem, UICollectionViewDropPlaceholder placeholder) -public abstract IUIDragAnimating DropItemToTarget (UIDragItem dragItem, UIDragPreviewTarget target) +public virtual IUIDragAnimating DropItemToTarget (UIDragItem dragItem, UIDragPreviewTarget target) ``` #### Type Changed: UIKit.IUICollectionViewDropDelegate Modified methods: ```diff -public abstract void PerformDrop (UICollectionView collectionView, IUICollectionViewDropCoordinator coordinator) +public virtual void PerformDrop (UICollectionView collectionView, IUICollectionViewDropCoordinator coordinator) ``` Added methods: ```csharp public virtual bool CanHandleDropSession (UICollectionView collectionView, IUIDropSession session); public virtual void DropSessionDidEnd (UICollectionView collectionView, IUIDropSession session); public virtual void DropSessionDidEnter (UICollectionView collectionView, IUIDropSession session); public virtual void DropSessionDidExit (UICollectionView collectionView, IUIDropSession session); public virtual UICollectionViewDropProposal DropSessionDidUpdate (UICollectionView collectionView, IUIDropSession session, Foundation.NSIndexPath destinationIndexPath); public virtual UIDragPreviewParameters GetDropPreviewParameters (UICollectionView collectionView, Foundation.NSIndexPath indexPath); ``` #### Type Changed: UIKit.IUICollectionViewDropItem Modified properties: ```diff -public abstract UIDragItem DragItem { get; } +public virtual UIDragItem DragItem { get; } -public abstract CoreGraphics.CGSize PreviewSize { get; } +public virtual CoreGraphics.CGSize PreviewSize { get; } -public abstract Foundation.NSIndexPath SourceIndexPath { get; } +public virtual Foundation.NSIndexPath SourceIndexPath { get; } ``` #### Type Changed: UIKit.IUICollectionViewDropPlaceholderContext Modified properties: ```diff -public abstract UIDragItem DragItem { get; } +public virtual UIDragItem DragItem { get; } ``` Modified methods: ```diff -public abstract bool CommitInsertion (System.Action%LESSERTHANREPLACEMENT%Foundation.NSIndexPath%GREATERTHANREPLACEMENT% dataSourceUpdates) +public virtual bool CommitInsertion (System.Action%LESSERTHANREPLACEMENT%Foundation.NSIndexPath%GREATERTHANREPLACEMENT% dataSourceUpdates) -public abstract bool DeletePlaceholder () +public virtual bool DeletePlaceholder () -public abstract void SetNeedsCellUpdate () +public virtual void SetNeedsCellUpdate () ``` #### Type Changed: UIKit.IUICollisionBehaviorDelegate Added methods: ```csharp public virtual void BeganBoundaryContact (UICollisionBehavior behavior, IUIDynamicItem dynamicItem, Foundation.NSObject boundaryIdentifier, CoreGraphics.CGPoint atPoint); public virtual void BeganContact (UICollisionBehavior behavior, IUIDynamicItem firstItem, IUIDynamicItem secondItem, CoreGraphics.CGPoint atPoint); public virtual void EndedBoundaryContact (UICollisionBehavior behavior, IUIDynamicItem dynamicItem, Foundation.NSObject boundaryIdentifier); public virtual void EndedContact (UICollisionBehavior behavior, IUIDynamicItem firstItem, IUIDynamicItem secondItem); ``` #### Type Changed: UIKit.IUIColorPickerViewControllerDelegate Added methods: ```csharp public virtual void DidFinish (UIColorPickerViewController viewController); public virtual void DidSelectColor (UIColorPickerViewController viewController); public virtual void DidSelectColor (UIColorPickerViewController viewController, UIColor color, bool continuously); ``` #### Type Changed: UIKit.IUIConfigurationState Modified properties: ```diff -public abstract UITraitCollection TraitCollection { get; set; } +public virtual UITraitCollection TraitCollection { get; set; } ``` Modified methods: ```diff -public abstract Foundation.NSObject GetCustomState (string key) +public virtual Foundation.NSObject GetCustomState (string key) -public abstract Foundation.NSObject GetObject (string key) +public virtual Foundation.NSObject GetObject (string key) -public abstract void SetCustomState (Foundation.NSObject customState, string key) +public virtual void SetCustomState (Foundation.NSObject customState, string key) -public abstract void SetObject (Foundation.NSObject obj, string key) +public virtual void SetObject (Foundation.NSObject obj, string key) ``` #### Type Changed: UIKit.IUIContentConfiguration Modified methods: ```diff -public abstract IUIContentConfiguration GetUpdatedConfiguration (IUIConfigurationState state) +public virtual IUIContentConfiguration GetUpdatedConfiguration (IUIConfigurationState state) -public abstract IUIContentView MakeContentView () +public virtual IUIContentView MakeContentView () ``` #### Type Changed: UIKit.IUIContentContainer Modified properties: ```diff -public abstract CoreGraphics.CGSize PreferredContentSize { get; } +public virtual CoreGraphics.CGSize PreferredContentSize { get; } ``` Modified methods: ```diff -public abstract CoreGraphics.CGSize GetSizeForChildContentContainer (IUIContentContainer contentContainer, CoreGraphics.CGSize parentContainerSize) +public virtual CoreGraphics.CGSize GetSizeForChildContentContainer (IUIContentContainer contentContainer, CoreGraphics.CGSize parentContainerSize) -public abstract void PreferredContentSizeDidChangeForChildContentContainer (IUIContentContainer container) +public virtual void PreferredContentSizeDidChangeForChildContentContainer (IUIContentContainer container) -public abstract void SystemLayoutFittingSizeDidChangeForChildContentContainer (IUIContentContainer container) +public virtual void SystemLayoutFittingSizeDidChangeForChildContentContainer (IUIContentContainer container) -public abstract void ViewWillTransitionToSize (CoreGraphics.CGSize toSize, IUIViewControllerTransitionCoordinator coordinator) +public virtual void ViewWillTransitionToSize (CoreGraphics.CGSize toSize, IUIViewControllerTransitionCoordinator coordinator) -public abstract void WillTransitionToTraitCollection (UITraitCollection traitCollection, IUIViewControllerTransitionCoordinator coordinator) +public virtual void WillTransitionToTraitCollection (UITraitCollection traitCollection, IUIViewControllerTransitionCoordinator coordinator) ``` #### Type Changed: UIKit.IUIContentSizeCategoryAdjusting Modified properties: ```diff -public abstract bool AdjustsFontForContentSizeCategory { get; set; } +public virtual bool AdjustsFontForContentSizeCategory { get; set; } ``` #### Type Changed: UIKit.IUIContentView Modified properties: ```diff -public abstract IUIContentConfiguration Configuration { get; set; } +public virtual IUIContentConfiguration Configuration { get; set; } ``` Added method: ```csharp public virtual bool SupportsConfiguration (IUIContentConfiguration configuration); ``` #### Type Changed: UIKit.IUIContextMenuInteractionAnimating Modified properties: ```diff -public abstract UIViewController PreviewViewController { get; } +public virtual UIViewController PreviewViewController { get; } ``` Modified methods: ```diff -public abstract void AddAnimations (System.Action animations) +public virtual void AddAnimations (System.Action animations) -public abstract void AddCompletion (System.Action completion) +public virtual void AddCompletion (System.Action completion) ``` #### Type Changed: UIKit.IUIContextMenuInteractionCommitAnimating Modified properties: ```diff -public abstract UIContextMenuInteractionCommitStyle PreferredCommitStyle { get; set; } +public virtual UIContextMenuInteractionCommitStyle PreferredCommitStyle { get; set; } ``` #### Type Changed: UIKit.IUIContextMenuInteractionDelegate Modified methods: ```diff -public abstract UIContextMenuConfiguration GetConfigurationForMenu (UIContextMenuInteraction interaction, CoreGraphics.CGPoint location) +public virtual UIContextMenuConfiguration GetConfigurationForMenu (UIContextMenuInteraction interaction, CoreGraphics.CGPoint location) ``` Added methods: ```csharp public virtual UITargetedPreview GetDismissalPreview (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier); public virtual UITargetedPreview GetHighlightPreview (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier); public virtual UITargetedPreview GetPreviewForDismissingMenu (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration); public virtual UITargetedPreview GetPreviewForHighlightingMenu (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration); public virtual void WillDisplayMenu (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator); public virtual void WillEnd (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator); public virtual void WillPerformPreviewAction (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionCommitAnimating animator); ``` #### Type Changed: UIKit.IUICoordinateSpace Modified properties: ```diff -public abstract CoreGraphics.CGRect Bounds { get; } +public virtual CoreGraphics.CGRect Bounds { get; } ``` Modified methods: ```diff -public abstract CoreGraphics.CGPoint ConvertPointFromCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace) +public virtual CoreGraphics.CGPoint ConvertPointFromCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace) -public abstract CoreGraphics.CGPoint ConvertPointToCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace) +public virtual CoreGraphics.CGPoint ConvertPointToCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace) -public abstract CoreGraphics.CGRect ConvertRectFromCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace) +public virtual CoreGraphics.CGRect ConvertRectFromCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace) -public abstract CoreGraphics.CGRect ConvertRectToCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace) +public virtual CoreGraphics.CGRect ConvertRectToCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace) ``` #### Type Changed: UIKit.IUIDataSourceModelAssociation Modified methods: ```diff -public abstract Foundation.NSIndexPath GetIndexPath (string identifier, UIView view) +public virtual Foundation.NSIndexPath GetIndexPath (string identifier, UIView view) -public abstract string GetModelIdentifier (Foundation.NSIndexPath idx, UIView view) +public virtual string GetModelIdentifier (Foundation.NSIndexPath idx, UIView view) ``` #### Type Changed: UIKit.IUIDataSourceTranslating Modified methods: ```diff -public abstract Foundation.NSIndexPath GetDataSourceIndexPath (Foundation.NSIndexPath presentationIndexPath) +public virtual Foundation.NSIndexPath GetDataSourceIndexPath (Foundation.NSIndexPath presentationIndexPath) -public abstract IntPtr GetDataSourceSectionIndex (IntPtr presentationSectionIndex) +public virtual IntPtr GetDataSourceSectionIndex (IntPtr presentationSectionIndex) -public abstract Foundation.NSIndexPath GetPresentationIndexPath (Foundation.NSIndexPath dataSourceIndexPath) +public virtual Foundation.NSIndexPath GetPresentationIndexPath (Foundation.NSIndexPath dataSourceIndexPath) -public abstract IntPtr GetPresentationSectionIndex (IntPtr dataSourceSectionIndex) +public virtual IntPtr GetPresentationSectionIndex (IntPtr dataSourceSectionIndex) -public abstract void PerformUsingPresentationValues (System.Action actionsToTranslate) +public virtual void PerformUsingPresentationValues (System.Action actionsToTranslate) ``` #### Type Changed: UIKit.IUIDocumentBrowserViewControllerDelegate Added methods: ```csharp public virtual void DidImportDocument (UIDocumentBrowserViewController controller, Foundation.NSUrl sourceUrl, Foundation.NSUrl destinationUrl); public virtual void DidPickDocumentUrls (UIDocumentBrowserViewController controller, Foundation.NSUrl[] documentUrls); public virtual void DidPickDocumentsAtUrls (UIDocumentBrowserViewController controller, Foundation.NSUrl[] documentUrls); public virtual void DidRequestDocumentCreation (UIDocumentBrowserViewController controller, System.Action<Foundation.NSUrl,UIKit.UIDocumentBrowserImportMode> importHandler); public virtual void FailedToImportDocument (UIDocumentBrowserViewController controller, Foundation.NSUrl documentUrl, Foundation.NSError error); public virtual UIActivity[] GetApplicationActivities (UIDocumentBrowserViewController controller, Foundation.NSUrl[] documentUrls); public virtual void WillPresent (UIDocumentBrowserViewController controller, UIActivityViewController activityViewController); ``` #### Type Changed: UIKit.IUIDocumentInteractionControllerDelegate Added methods: ```csharp public virtual bool CanPerformAction (UIDocumentInteractionController controller, ObjCRuntime.Selector action); public virtual void DidDismissOpenInMenu (UIDocumentInteractionController controller); public virtual void DidDismissOptionsMenu (UIDocumentInteractionController controller); public virtual void DidEndPreview (UIDocumentInteractionController controller); public virtual void DidEndSendingToApplication (UIDocumentInteractionController controller, string application); public virtual bool PerformAction (UIDocumentInteractionController controller, ObjCRuntime.Selector action); public virtual CoreGraphics.CGRect RectangleForPreview (UIDocumentInteractionController controller); public virtual UIViewController ViewControllerForPreview (UIDocumentInteractionController controller); public virtual UIView ViewForPreview (UIDocumentInteractionController controller); public virtual void WillBeginPreview (UIDocumentInteractionController controller); public virtual void WillBeginSendingToApplication (UIDocumentInteractionController controller, string application); public virtual void WillPresentOpenInMenu (UIDocumentInteractionController controller); public virtual void WillPresentOptionsMenu (UIDocumentInteractionController controller); ``` #### Type Changed: UIKit.IUIDocumentMenuDelegate Modified methods: ```diff -public abstract void DidPickDocumentPicker (UIDocumentMenuViewController documentMenu, UIDocumentPickerViewController documentPicker) +public virtual void DidPickDocumentPicker (UIDocumentMenuViewController documentMenu, UIDocumentPickerViewController documentPicker) ``` Added method: ```csharp public virtual void WasCancelled (UIDocumentMenuViewController documentMenu); ``` #### Type Changed: UIKit.IUIDocumentPickerDelegate Added methods: ```csharp public virtual void DidPickDocument (UIDocumentPickerViewController controller, Foundation.NSUrl url); public virtual void DidPickDocument (UIDocumentPickerViewController controller, Foundation.NSUrl[] urls); public virtual void WasCancelled (UIDocumentPickerViewController controller); ``` #### Type Changed: UIKit.IUIDragAnimating Modified methods: ```diff -public abstract void AddAnimations (System.Action animations) +public virtual void AddAnimations (System.Action animations) -public abstract void AddCompletion (System.Action%LESSERTHANREPLACEMENT%UIViewAnimatingPosition%GREATERTHANREPLACEMENT% completion) +public virtual void AddCompletion (System.Action%LESSERTHANREPLACEMENT%UIViewAnimatingPosition%GREATERTHANREPLACEMENT% completion) ``` #### Type Changed: UIKit.IUIDragDropSession Modified properties: ```diff -public abstract bool AllowsMoveOperation { get; } +public virtual bool AllowsMoveOperation { get; } -public abstract UIDragItem[] Items { get; } +public virtual UIDragItem[] Items { get; } -public abstract bool RestrictedToDraggingApplication { get; } +public virtual bool RestrictedToDraggingApplication { get; } ``` Modified methods: ```diff -public abstract bool CanLoadObjects (ObjCRuntime.Class itemProviderReadingClass) +public virtual bool CanLoadObjects (ObjCRuntime.Class itemProviderReadingClass) -public abstract bool HasConformingItems (string[] typeIdentifiers) +public virtual bool HasConformingItems (string[] typeIdentifiers) -public abstract CoreGraphics.CGPoint LocationInView (UIView view) +public virtual CoreGraphics.CGPoint LocationInView (UIView view) ``` #### Type Changed: UIKit.IUIDragInteractionDelegate Modified methods: ```diff -public abstract UIDragItem[] GetItemsForBeginningSession (UIDragInteraction interaction, IUIDragSession session) +public virtual UIDragItem[] GetItemsForBeginningSession (UIDragInteraction interaction, IUIDragSession session) ``` Added methods: ```csharp public virtual UIDragItem[] GetItemsForAddingToSession (UIDragInteraction interaction, IUIDragSession session, CoreGraphics.CGPoint point); public virtual UITargetedDragPreview GetPreviewForCancellingItem (UIDragInteraction interaction, UIDragItem item, UITargetedDragPreview defaultPreview); public virtual UITargetedDragPreview GetPreviewForLiftingItem (UIDragInteraction interaction, UIDragItem item, IUIDragSession session); public virtual IUIDragSession GetSessionForAddingItems (UIDragInteraction interaction, IUIDragSession[] sessions, CoreGraphics.CGPoint point); public virtual bool PrefersFullSizePreviews (UIDragInteraction interaction, IUIDragSession session); public virtual bool SessionAllowsMoveOperation (UIDragInteraction interaction, IUIDragSession session); public virtual void SessionDidEnd (UIDragInteraction interaction, IUIDragSession session, UIDropOperation operation); public virtual void SessionDidMove (UIDragInteraction interaction, IUIDragSession session); public virtual void SessionDidTransferItems (UIDragInteraction interaction, IUIDragSession session); public virtual bool SessionIsRestrictedToDraggingApplication (UIDragInteraction interaction, IUIDragSession session); public virtual void SessionWillBegin (UIDragInteraction interaction, IUIDragSession session); public virtual void SessionWillEnd (UIDragInteraction interaction, IUIDragSession session, UIDropOperation operation); public virtual void WillAddItems (UIDragInteraction interaction, IUIDragSession session, UIDragItem[] items, UIDragInteraction addingInteraction); public virtual void WillAnimateCancel (UIDragInteraction interaction, UIDragItem item, IUIDragAnimating animator); public virtual void WillAnimateLift (UIDragInteraction interaction, IUIDragAnimating animator, IUIDragSession session); ``` #### Type Changed: UIKit.IUIDragSession Modified properties: ```diff -public abstract Foundation.NSObject LocalContext { get; set; } +public virtual Foundation.NSObject LocalContext { get; set; } ``` #### Type Changed: UIKit.IUIDropInteractionDelegate Added methods: ```csharp public virtual bool CanHandleSession (UIDropInteraction interaction, IUIDropSession session); public virtual void ConcludeDrop (UIDropInteraction interaction, IUIDropSession session); public virtual UITargetedDragPreview GetPreviewForDroppingItem (UIDropInteraction interaction, UIDragItem item, UITargetedDragPreview defaultPreview); public virtual void PerformDrop (UIDropInteraction interaction, IUIDropSession session); public virtual void SessionDidEnd (UIDropInteraction interaction, IUIDropSession session); public virtual void SessionDidEnter (UIDropInteraction interaction, IUIDropSession session); public virtual void SessionDidExit (UIDropInteraction interaction, IUIDropSession session); public virtual UIDropProposal SessionDidUpdate (UIDropInteraction interaction, IUIDropSession session); public virtual void WillAnimateDrop (UIDropInteraction interaction, UIDragItem item, IUIDragAnimating animator); ``` #### Type Changed: UIKit.IUIDropSession Modified properties: ```diff -public abstract IUIDragSession LocalDragSession { get; } +public virtual IUIDragSession LocalDragSession { get; } -public abstract UIDropSessionProgressIndicatorStyle ProgressIndicatorStyle { get; set; } +public virtual UIDropSessionProgressIndicatorStyle ProgressIndicatorStyle { get; set; } ``` Modified methods: ```diff -public abstract Foundation.NSProgress LoadObjects (ObjCRuntime.Class itemProviderReadingClass, System.Action%LESSERTHANREPLACEMENT%Foundation.INSItemProviderReading[]%GREATERTHANREPLACEMENT% completion) +public virtual Foundation.NSProgress LoadObjects (ObjCRuntime.Class itemProviderReadingClass, System.Action%LESSERTHANREPLACEMENT%Foundation.INSItemProviderReading[]%GREATERTHANREPLACEMENT% completion) ``` #### Type Changed: UIKit.IUIDynamicAnimatorDelegate Added methods: ```csharp public virtual void DidPause (UIDynamicAnimator animator); public virtual void WillResume (UIDynamicAnimator animator); ``` #### Type Changed: UIKit.IUIDynamicItem Modified properties: ```diff -public abstract CoreGraphics.CGRect Bounds { get; } +public virtual CoreGraphics.CGRect Bounds { get; } -public abstract CoreGraphics.CGPoint Center { get; set; } +public virtual CoreGraphics.CGPoint Center { get; set; } -public abstract CoreGraphics.CGAffineTransform Transform { get; set; } +public virtual CoreGraphics.CGAffineTransform Transform { get; set; } ``` Added properties: ```csharp public virtual UIBezierPath CollisionBoundingPath { get; } public virtual UIDynamicItemCollisionBoundsType CollisionBoundsType { get; } ``` #### Type Changed: UIKit.IUIEditMenuInteractionAnimating Modified methods: ```diff -public abstract void AddAnimations (System.Action animations) +public virtual void AddAnimations (System.Action animations) -public abstract void AddCompletion (System.Action completion) +public virtual void AddCompletion (System.Action completion) ``` #### Type Changed: UIKit.IUIEditMenuInteractionDelegate Added methods: ```csharp public virtual UIMenu GetMenu (UIEditMenuInteraction interaction, UIEditMenuConfiguration configuration, UIMenuElement[] suggestedActions); public virtual CoreGraphics.CGRect GetTargetRect (UIEditMenuInteraction interaction, UIEditMenuConfiguration configuration); public virtual void WillDismissMenu (UIEditMenuInteraction interaction, UIEditMenuConfiguration configuration, IUIEditMenuInteractionAnimating animator); public virtual void WillPresentMenu (UIEditMenuInteraction interaction, UIEditMenuConfiguration configuration, IUIEditMenuInteractionAnimating animator); ``` #### Type Changed: UIKit.IUIFindInteractionDelegate Modified methods: ```diff -public abstract UIFindSession GetSession (UIFindInteraction interaction, UIView view) +public virtual UIFindSession GetSession (UIFindInteraction interaction, UIView view) ``` Added methods: ```csharp public virtual void DidBeginFindSession (UIFindInteraction interaction, UIFindSession session); public virtual void DidEndFindSession (UIFindInteraction interaction, UIFindSession session); ``` #### Type Changed: UIKit.IUIFocusAnimationContext Modified properties: ```diff -public abstract double Duration { get; } +public virtual double Duration { get; } ``` #### Type Changed: UIKit.IUIFocusEnvironment Modified properties: ```diff -public abstract IUIFocusItemContainer FocusItemContainer { get; } +public virtual IUIFocusItemContainer FocusItemContainer { get; } -public abstract IUIFocusEnvironment ParentFocusEnvironment { get; } +public virtual IUIFocusEnvironment ParentFocusEnvironment { get; } -public abstract IUIFocusEnvironment[] PreferredFocusEnvironments { get; } +public virtual IUIFocusEnvironment[] PreferredFocusEnvironments { get; } ``` Added properties: ```csharp public virtual string FocusGroupIdentifier { get; } public virtual UIView PreferredFocusedView { get; } ``` Modified methods: ```diff -public abstract void DidUpdateFocus (UIFocusUpdateContext context, UIFocusAnimationCoordinator coordinator) +public virtual void DidUpdateFocus (UIFocusUpdateContext context, UIFocusAnimationCoordinator coordinator) -public abstract void SetNeedsFocusUpdate () +public virtual void SetNeedsFocusUpdate () -public abstract bool ShouldUpdateFocus (UIFocusUpdateContext context) +public virtual bool ShouldUpdateFocus (UIFocusUpdateContext context) -public abstract void UpdateFocusIfNeeded () +public virtual void UpdateFocusIfNeeded () ``` #### Type Changed: UIKit.IUIFocusItem Modified properties: ```diff -public abstract bool CanBecomeFocused { get; } +public virtual bool CanBecomeFocused { get; } -public abstract CoreGraphics.CGRect Frame { get; } +public virtual CoreGraphics.CGRect Frame { get; } ``` Added properties: ```csharp public virtual UIFocusEffect FocusEffect { get; } public virtual UIFocusGroupPriority FocusGroupPriority { get; } public virtual bool IsTransparentFocusItem { get; } ``` Added method: ```csharp public virtual void DidHintFocusMovement (UIFocusMovementHint hint); ``` #### Type Changed: UIKit.IUIFocusItemContainer Modified properties: ```diff -public abstract IUICoordinateSpace CoordinateSpace { get; } +public virtual IUICoordinateSpace CoordinateSpace { get; } ``` Modified methods: ```diff -public abstract IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect) +public virtual IUIFocusItem[] GetFocusItems (CoreGraphics.CGRect rect) ``` #### Type Changed: UIKit.IUIFocusItemScrollableContainer Modified properties: ```diff -public abstract CoreGraphics.CGPoint ContentOffset { get; set; } +public virtual CoreGraphics.CGPoint ContentOffset { get; set; } -public abstract CoreGraphics.CGSize ContentSize { get; } +public virtual CoreGraphics.CGSize ContentSize { get; } -public abstract CoreGraphics.CGSize VisibleSize { get; } +public virtual CoreGraphics.CGSize VisibleSize { get; } ``` #### Type Changed: UIKit.IUIFontPickerViewControllerDelegate Added methods: ```csharp public virtual void DidCancel (UIFontPickerViewController viewController); public virtual void DidPickFont (UIFontPickerViewController viewController); ``` #### Type Changed: UIKit.IUIGestureRecognizerDelegate Added methods: ```csharp public virtual bool ShouldBeRequiredToFailBy (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer); public virtual bool ShouldBegin (UIGestureRecognizer recognizer); public virtual bool ShouldReceiveEvent (UIGestureRecognizer gestureRecognizer, UIEvent event); public virtual bool ShouldReceivePress (UIGestureRecognizer gestureRecognizer, UIPress press); public virtual bool ShouldReceiveTouch (UIGestureRecognizer recognizer, UITouch touch); public virtual bool ShouldRecognizeSimultaneously (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer); public virtual bool ShouldRequireFailureOf (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer); ``` #### Type Changed: UIKit.IUIGuidedAccessRestrictionDelegate Modified properties: ```diff -public abstract string[] GetGuidedAccessRestrictionIdentifiers { get; } +public virtual string[] GetGuidedAccessRestrictionIdentifiers { get; } ``` Modified methods: ```diff -public abstract string GetTextForGuidedAccessRestriction (string restrictionIdentifier) +public virtual string GetTextForGuidedAccessRestriction (string restrictionIdentifier) -public abstract void GuidedAccessRestrictionChangedState (string restrictionIdentifier, UIGuidedAccessRestrictionState newRestrictionState) +public virtual void GuidedAccessRestrictionChangedState (string restrictionIdentifier, UIGuidedAccessRestrictionState newRestrictionState) ``` Added method: ```csharp public virtual string GetDetailTextForGuidedAccessRestriction (string restrictionIdentifier); ``` #### Type Changed: UIKit.IUIImagePickerControllerDelegate Added methods: ```csharp public virtual void Canceled (UIImagePickerController picker); public virtual void FinishedPickingMedia (UIImagePickerController picker, Foundation.NSDictionary info); ``` #### Type Changed: UIKit.IUIIndirectScribbleInteractionDelegate Modified methods: ```diff -public abstract void FocusElementIfNeeded (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier, CoreGraphics.CGPoint focusReferencePoint, System.Action%LESSERTHANREPLACEMENT%IUITextInput%GREATERTHANREPLACEMENT% completion) +public virtual void FocusElementIfNeeded (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier, CoreGraphics.CGPoint focusReferencePoint, System.Action%LESSERTHANREPLACEMENT%IUITextInput%GREATERTHANREPLACEMENT% completion) -public abstract CoreGraphics.CGRect GetFrameForElement (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier) +public virtual CoreGraphics.CGRect GetFrameForElement (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier) -public abstract bool IsElementFocused (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier) +public virtual bool IsElementFocused (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier) -public abstract void RequestElements (UIIndirectScribbleInteraction interaction, CoreGraphics.CGRect rect, System.Action%LESSERTHANREPLACEMENT%Foundation.NSObject[]%GREATERTHANREPLACEMENT% completion) +public virtual void RequestElements (UIIndirectScribbleInteraction interaction, CoreGraphics.CGRect rect, System.Action%LESSERTHANREPLACEMENT%Foundation.NSObject[]%GREATERTHANREPLACEMENT% completion) ``` Added methods: ```csharp public virtual void DidFinishWriting (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier); public virtual bool ShouldDelayFocus (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier); public virtual void WillBeginWriting (UIIndirectScribbleInteraction interaction, Foundation.NSObject elementIdentifier); ``` #### Type Changed: UIKit.IUIInputViewAudioFeedback Added property: ```csharp public virtual bool EnableInputClicksWhenVisible { get; } ``` #### Type Changed: UIKit.IUIInteraction Modified properties: ```diff -public abstract UIView View { get; } +public virtual UIView View { get; } ``` Modified methods: ```diff -public abstract void DidMoveToView (UIView view) +public virtual void DidMoveToView (UIView view) -public abstract void WillMoveToView (UIView view) +public virtual void WillMoveToView (UIView view) ``` #### Type Changed: UIKit.IUIItemProviderPresentationSizeProviding Modified properties: ```diff -public abstract CoreGraphics.CGSize PreferredPresentationSizeForItemProvider { get; } +public virtual CoreGraphics.CGSize PreferredPresentationSizeForItemProvider { get; } ``` #### Type Changed: UIKit.IUIKeyInput Modified properties: ```diff -public abstract bool HasText { get; } +public virtual bool HasText { get; } ``` Modified methods: ```diff -public abstract void DeleteBackward () +public virtual void DeleteBackward () -public abstract void InsertText (string text) +public virtual void InsertText (string text) ``` #### Type Changed: UIKit.IUILargeContentViewerInteractionDelegate Added methods: ```csharp public virtual void DidEnd (UILargeContentViewerInteraction interaction, IUILargeContentViewerItem item, CoreGraphics.CGPoint point); public virtual IUILargeContentViewerItem GetItem (UILargeContentViewerInteraction interaction, CoreGraphics.CGPoint point); public virtual UIViewController GetViewController (UILargeContentViewerInteraction interaction); ``` #### Type Changed: UIKit.IUILargeContentViewerItem Modified properties: ```diff -public abstract UIImage LargeContentImage { get; } +public virtual UIImage LargeContentImage { get; } -public abstract UIEdgeInsets LargeContentImageInsets { get; } +public virtual UIEdgeInsets LargeContentImageInsets { get; } -public abstract string LargeContentTitle { get; } +public virtual string LargeContentTitle { get; } -public abstract bool ScalesLargeContentImage { get; } +public virtual bool ScalesLargeContentImage { get; } -public abstract bool ShowsLargeContentViewer { get; } +public virtual bool ShowsLargeContentViewer { get; } ``` #### Type Changed: UIKit.IUILayoutGuideAspectFitting Modified properties: ```diff -public abstract System.Runtime.InteropServices.NFloat AspectRatio { get; set; } +public virtual System.Runtime.InteropServices.NFloat AspectRatio { get; set; } ``` #### Type Changed: UIKit.IUILayoutSupport Modified properties: ```diff -public abstract NSLayoutYAxisAnchor BottomAnchor { get; } +public virtual NSLayoutYAxisAnchor BottomAnchor { get; } -public abstract NSLayoutDimension HeightAnchor { get; } +public virtual NSLayoutDimension HeightAnchor { get; } -public abstract System.Runtime.InteropServices.NFloat Length { get; } +public virtual System.Runtime.InteropServices.NFloat Length { get; } -public abstract NSLayoutYAxisAnchor TopAnchor { get; } +public virtual NSLayoutYAxisAnchor TopAnchor { get; } ``` #### Type Changed: UIKit.IUILetterformAwareAdjusting Modified properties: ```diff -public abstract UILetterformAwareSizingRule SizingRule { get; set; } +public virtual UILetterformAwareSizingRule SizingRule { get; set; } ``` #### Type Changed: UIKit.IUILookToDictateCapable Modified properties: ```diff -public abstract bool LookToDictateEnabled { get; set; } +public virtual bool LookToDictateEnabled { get; set; } ``` #### Type Changed: UIKit.IUIMenuBuilder Modified properties: ```diff -public abstract UIMenuSystem System { get; } +public virtual UIMenuSystem System { get; } ``` Modified methods: ```diff -public abstract UIAction GetAction (string identifier) +public virtual UIAction GetAction (string identifier) -public abstract UICommand GetCommand (ObjCRuntime.Selector action, Foundation.NSObject propertyList) +public virtual UICommand GetCommand (ObjCRuntime.Selector action, Foundation.NSObject propertyList) -public abstract UIMenu GetMenu (string identifier) +public virtual UIMenu GetMenu (string identifier) -public abstract void InsertChildMenuAtEnd (UIMenu childMenu, string parentIdentifier) +public virtual void InsertChildMenuAtEnd (UIMenu childMenu, string parentIdentifier) -public abstract void InsertChildMenuAtStart (UIMenu childMenu, string parentIdentifier) +public virtual void InsertChildMenuAtStart (UIMenu childMenu, string parentIdentifier) -public abstract void InsertSiblingMenuAfter (UIMenu siblingMenu, string siblingIdentifier) +public virtual void InsertSiblingMenuAfter (UIMenu siblingMenu, string siblingIdentifier) -public abstract void InsertSiblingMenuBefore (UIMenu siblingMenu, string siblingIdentifier) +public virtual void InsertSiblingMenuBefore (UIMenu siblingMenu, string siblingIdentifier) -public abstract void RemoveMenu (string removedIdentifier) +public virtual void RemoveMenu (string removedIdentifier) -public abstract void ReplaceChildrenOfMenu (string parentIdentifier, System.Func%LESSERTHANREPLACEMENT%UIMenuElement[],UIKit.UIMenuElement[]%GREATERTHANREPLACEMENT% childrenBlock) +public virtual void ReplaceChildrenOfMenu (string parentIdentifier, System.Func%LESSERTHANREPLACEMENT%UIMenuElement[],UIKit.UIMenuElement[]%GREATERTHANREPLACEMENT% childrenBlock) -public abstract void ReplaceMenu (string replacedIdentifier, UIMenu replacementMenu) +public virtual void ReplaceMenu (string replacedIdentifier, UIMenu replacementMenu) ``` #### Type Changed: UIKit.IUIMenuLeaf Modified properties: ```diff -public abstract UIMenuElementAttributes Attributes { get; set; } +public virtual UIMenuElementAttributes Attributes { get; set; } -public abstract string DiscoverabilityTitle { get; set; } +public virtual string DiscoverabilityTitle { get; set; } -public abstract UIImage Image { get; set; } +public virtual UIImage Image { get; set; } -public abstract IUIPopoverPresentationControllerSourceItem PresentationSourceItem { get; } +public virtual IUIPopoverPresentationControllerSourceItem PresentationSourceItem { get; } -public abstract Foundation.NSObject Sender { get; } +public virtual Foundation.NSObject Sender { get; } -public abstract UIMenuElementState State { get; set; } +public virtual UIMenuElementState State { get; set; } -public abstract string Title { get; set; } +public virtual string Title { get; set; } ``` Added property: ```csharp public virtual UIImage SelectedImage { get; set; } ``` Modified methods: ```diff -public abstract void Target (Foundation.NSObject sender, Foundation.NSObject target) +public virtual void Target (Foundation.NSObject sender, Foundation.NSObject target) ``` #### Type Changed: UIKit.IUIMutableTraits Modified properties: ```diff -public abstract UIAccessibilityContrast AccessibilityContrast { get; set; } +public virtual UIAccessibilityContrast AccessibilityContrast { get; set; } -public abstract UIUserInterfaceActiveAppearance ActiveAppearance { get; set; } +public virtual UIUserInterfaceActiveAppearance ActiveAppearance { get; set; } -public abstract UIDisplayGamut DisplayGamut { get; set; } +public virtual UIDisplayGamut DisplayGamut { get; set; } -public abstract System.Runtime.InteropServices.NFloat DisplayScale { get; set; } +public virtual System.Runtime.InteropServices.NFloat DisplayScale { get; set; } -public abstract UIForceTouchCapability ForceTouchCapability { get; set; } +public virtual UIForceTouchCapability ForceTouchCapability { get; set; } -public abstract UIUserInterfaceSizeClass HorizontalSizeClass { get; set; } +public virtual UIUserInterfaceSizeClass HorizontalSizeClass { get; set; } -public abstract UIImageDynamicRange ImageDynamicRange { get; set; } +public virtual UIImageDynamicRange ImageDynamicRange { get; set; } -public abstract UITraitEnvironmentLayoutDirection LayoutDirection { get; set; } +public virtual UITraitEnvironmentLayoutDirection LayoutDirection { get; set; } -public abstract UILegibilityWeight LegibilityWeight { get; set; } +public virtual UILegibilityWeight LegibilityWeight { get; set; } -public abstract string PreferredContentSizeCategory { get; set; } +public virtual string PreferredContentSizeCategory { get; set; } -public abstract UISceneCaptureState SceneCaptureState { get; set; } +public virtual UISceneCaptureState SceneCaptureState { get; set; } -public abstract UINSToolbarItemPresentationSize ToolbarItemPresentationSize { get; set; } +public virtual UINSToolbarItemPresentationSize ToolbarItemPresentationSize { get; set; } -public abstract string TypesettingLanguage { get; set; } +public virtual string TypesettingLanguage { get; set; } -public abstract UIUserInterfaceIdiom UserInterfaceIdiom { get; set; } +public virtual UIUserInterfaceIdiom UserInterfaceIdiom { get; set; } -public abstract UIUserInterfaceLevel UserInterfaceLevel { get; set; } +public virtual UIUserInterfaceLevel UserInterfaceLevel { get; set; } -public abstract UIUserInterfaceStyle UserInterfaceStyle { get; set; } +public virtual UIUserInterfaceStyle UserInterfaceStyle { get; set; } -public abstract UIUserInterfaceSizeClass VerticalSizeClass { get; set; } +public virtual UIUserInterfaceSizeClass VerticalSizeClass { get; set; } ``` Modified methods: ```diff -public abstract Foundation.NSObject GetObject (IUIObjectTraitDefinition trait) +public virtual Foundation.NSObject GetObject (IUIObjectTraitDefinition trait) -public abstract System.Runtime.InteropServices.NFloat GetValue (IUICGFloatTraitDefinition trait) +public virtual System.Runtime.InteropServices.NFloat GetValue (IUICGFloatTraitDefinition trait) -public abstract IntPtr GetValue (IUINSIntegerTraitDefinition trait) +public virtual IntPtr GetValue (IUINSIntegerTraitDefinition trait) -public abstract void SetObject (Foundation.NSObject object, IUIObjectTraitDefinition trait) +public virtual void SetObject (Foundation.NSObject object, IUIObjectTraitDefinition trait) -public abstract void SetValue (IntPtr value, IUINSIntegerTraitDefinition trait) +public virtual void SetValue (IntPtr value, IUINSIntegerTraitDefinition trait) -public abstract void SetValue (System.Runtime.InteropServices.NFloat value, IUICGFloatTraitDefinition trait) +public virtual void SetValue (System.Runtime.InteropServices.NFloat value, IUICGFloatTraitDefinition trait) ``` #### Type Changed: UIKit.IUINSIntegerTraitDefinition Added method: ```csharp public static IntPtr GetDefaultValue<T> (); ``` #### Type Changed: UIKit.IUINavigationBarDelegate Added methods: ```csharp public virtual void DidPopItem (UINavigationBar navigationBar, UINavigationItem item); public virtual void DidPushItem (UINavigationBar navigationBar, UINavigationItem item); public virtual UINavigationBarNSToolbarSection GetNSToolbarSection (UINavigationBar navigationBar); public virtual bool ShouldPopItem (UINavigationBar navigationBar, UINavigationItem item); public virtual bool ShouldPushItem (UINavigationBar navigationBar, UINavigationItem item); ``` #### Type Changed: UIKit.IUINavigationControllerDelegate Added methods: ```csharp public virtual void DidShowViewController (UINavigationController navigationController, UIViewController viewController, bool animated); public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForOperation (UINavigationController navigationController, UINavigationControllerOperation operation, UIViewController fromViewController, UIViewController toViewController); public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForAnimationController (UINavigationController navigationController, IUIViewControllerAnimatedTransitioning animationController); public virtual UIInterfaceOrientation GetPreferredInterfaceOrientation (UINavigationController navigationController); public virtual UIInterfaceOrientationMask SupportedInterfaceOrientations (UINavigationController navigationController); public virtual void WillShowViewController (UINavigationController navigationController, UIViewController viewController, bool animated); ``` #### Type Changed: UIKit.IUINavigationItemRenameDelegate Modified methods: ```diff -public abstract void DidEndRenaming (UINavigationItem navigationItem, string title) +public virtual void DidEndRenaming (UINavigationItem navigationItem, string title) ``` Added methods: ```csharp public virtual bool ShouldBeginRenaming (UINavigationItem navigationItem); public virtual bool ShouldEndRenaming (UINavigationItem navigationItem, string title); public virtual string WillBeginRenaming (UINavigationItem navigationItem, string title, Foundation.NSRange selectedRange); ``` #### Type Changed: UIKit.IUIObjectTraitDefinition Added method: ```csharp public static Foundation.NSObject GetDefaultValue<T> (); ``` #### Type Changed: UIKit.IUIPageControlProgressDelegate Added methods: ```csharp public virtual float GetInitialProgressForPage (UIPageControlProgress progress, IntPtr page); public virtual void VisibilityDidChange (UIPageControlProgress progress); ``` #### Type Changed: UIKit.IUIPageControlTimerProgressDelegate Added methods: ```csharp public virtual void PageControlTimerProgressDidChange (UIPageControlTimerProgress progress); public virtual bool ShouldAdvanceToPage (UIPageControlTimerProgress progress, IntPtr page); ``` #### Type Changed: UIKit.IUIPageViewControllerDataSource Modified methods: ```diff -public abstract UIViewController GetNextViewController (UIPageViewController pageViewController, UIViewController referenceViewController) +public virtual UIViewController GetNextViewController (UIPageViewController pageViewController, UIViewController referenceViewController) -public abstract UIViewController GetPreviousViewController (UIPageViewController pageViewController, UIViewController referenceViewController) +public virtual UIViewController GetPreviousViewController (UIPageViewController pageViewController, UIViewController referenceViewController) ``` Added methods: ```csharp public virtual IntPtr GetPresentationCount (UIPageViewController pageViewController); public virtual IntPtr GetPresentationIndex (UIPageViewController pageViewController); ``` #### Type Changed: UIKit.IUIPageViewControllerDelegate Added methods: ```csharp public virtual void DidFinishAnimating (UIPageViewController pageViewController, bool finished, UIViewController[] previousViewControllers, bool completed); public virtual UIInterfaceOrientation GetPreferredInterfaceOrientationForPresentation (UIPageViewController pageViewController); public virtual UIPageViewControllerSpineLocation GetSpineLocation (UIPageViewController pageViewController, UIInterfaceOrientation orientation); public virtual UIInterfaceOrientationMask SupportedInterfaceOrientations (UIPageViewController pageViewController); public virtual void WillTransition (UIPageViewController pageViewController, UIViewController[] pendingViewControllers); ``` #### Type Changed: UIKit.IUIPasteConfigurationSupporting Modified properties: ```diff -public abstract UIPasteConfiguration PasteConfiguration { get; set; } +public virtual UIPasteConfiguration PasteConfiguration { get; set; } ``` Added methods: ```csharp public virtual bool CanPaste (Foundation.NSItemProvider[] itemProviders); public virtual void Paste (Foundation.NSItemProvider[] itemProviders); ``` #### Type Changed: UIKit.IUIPencilInteractionDelegate Added methods: ```csharp public virtual void DidReceiveSqueeze (UIPencilInteraction interaction, UIPencilInteractionSqueeze squeeze); public virtual void DidReceiveTap (UIPencilInteraction interaction, UIPencilInteractionTap tap); public virtual void DidTap (UIPencilInteraction interaction); ``` #### Type Changed: UIKit.IUIPickerViewAccessibilityDelegate Added methods: ```csharp public virtual Foundation.NSAttributedString GetAccessibilityAttributedHint (UIPickerView pickerView, IntPtr component); public virtual Foundation.NSAttributedString GetAccessibilityAttributedLabel (UIPickerView pickerView, IntPtr component); public virtual Foundation.NSAttributedString[] GetAccessibilityAttributedUserInputLabels (UIPickerView pickerView, IntPtr component); public virtual string GetAccessibilityHint (UIPickerView pickerView, IntPtr component); public virtual string GetAccessibilityLabel (UIPickerView pickerView, IntPtr acessibilityLabelForComponent); public virtual string[] GetAccessibilityUserInputLabels (UIPickerView pickerView, IntPtr component); ``` #### Type Changed: UIKit.IUIPickerViewDataSource Modified methods: ```diff -public abstract IntPtr GetComponentCount (UIPickerView pickerView) +public virtual IntPtr GetComponentCount (UIPickerView pickerView) -public abstract IntPtr GetRowsInComponent (UIPickerView pickerView, IntPtr component) +public virtual IntPtr GetRowsInComponent (UIPickerView pickerView, IntPtr component) ``` #### Type Changed: UIKit.IUIPickerViewDelegate Added methods: ```csharp public virtual Foundation.NSAttributedString GetAttributedTitle (UIPickerView pickerView, IntPtr row, IntPtr component); public virtual System.Runtime.InteropServices.NFloat GetComponentWidth (UIPickerView pickerView, IntPtr component); public virtual System.Runtime.InteropServices.NFloat GetRowHeight (UIPickerView pickerView, IntPtr component); public virtual string GetTitle (UIPickerView pickerView, IntPtr row, IntPtr component); public virtual UIView GetView (UIPickerView pickerView, IntPtr row, IntPtr component, UIView view); public virtual void Selected (UIPickerView pickerView, IntPtr row, IntPtr component); ``` #### Type Changed: UIKit.IUIPointerInteractionAnimating Modified methods: ```diff -public abstract void AddAnimations (System.Action animations) +public virtual void AddAnimations (System.Action animations) -public abstract void AddCompletion (System.Action%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% completion) +public virtual void AddCompletion (System.Action%LESSERTHANREPLACEMENT%bool%GREATERTHANREPLACEMENT% completion) ``` #### Type Changed: UIKit.IUIPointerInteractionDelegate Added methods: ```csharp public virtual UIPointerRegion GetRegionForRequest (UIPointerInteraction interaction, UIPointerRegionRequest request, UIPointerRegion defaultRegion); public virtual UIPointerStyle GetStyleForRegion (UIPointerInteraction interaction, UIPointerRegion region); public virtual void WillEnterRegion (UIPointerInteraction interaction, UIPointerRegion region, IUIPointerInteractionAnimating animator); public virtual void WillExitRegion (UIPointerInteraction interaction, UIPointerRegion region, IUIPointerInteractionAnimating animator); ``` #### Type Changed: UIKit.IUIPopoverBackgroundViewMethods Added methods: ```csharp public static System.Runtime.InteropServices.NFloat GetArrowBase<T> (); public static System.Runtime.InteropServices.NFloat GetArrowHeight<T> (); public static UIEdgeInsets GetContentViewInsets<T> (); ``` #### Type Changed: UIKit.IUIPopoverControllerDelegate Added methods: ```csharp public virtual void DidDismiss (UIPopoverController popoverController); public virtual bool ShouldDismiss (UIPopoverController popoverController); public virtual void WillReposition (UIPopoverController popoverController, ref CoreGraphics.CGRect rect, ref UIView view); ``` #### Type Changed: UIKit.IUIPopoverPresentationControllerDelegate Added methods: ```csharp public virtual void DidDismissPopover (UIPopoverPresentationController popoverPresentationController); public virtual void PrepareForPopoverPresentation (UIPopoverPresentationController popoverPresentationController); public virtual bool ShouldDismissPopover (UIPopoverPresentationController popoverPresentationController); public virtual void WillRepositionPopover (UIPopoverPresentationController popoverPresentationController, ref CoreGraphics.CGRect targetRect, ref UIView inView); ``` #### Type Changed: UIKit.IUIPopoverPresentationControllerSourceItem Added method: ```csharp public virtual CoreGraphics.CGRect GetFrame (UIView referenceView); ``` #### Type Changed: UIKit.IUIPreviewActionItem Modified properties: ```diff -public abstract string Title { get; } +public virtual string Title { get; } ``` #### Type Changed: UIKit.IUIPreviewInteractionDelegate Modified methods: ```diff -public abstract void DidCancel (UIPreviewInteraction previewInteraction) +public virtual void DidCancel (UIPreviewInteraction previewInteraction) -public abstract void DidUpdatePreviewTransition (UIPreviewInteraction previewInteraction, System.Runtime.InteropServices.NFloat transitionProgress, bool ended) +public virtual void DidUpdatePreviewTransition (UIPreviewInteraction previewInteraction, System.Runtime.InteropServices.NFloat transitionProgress, bool ended) ``` Added methods: ```csharp public virtual void DidUpdateCommit (UIPreviewInteraction previewInteraction, System.Runtime.InteropServices.NFloat transitionProgress, bool ended); public virtual bool ShouldBegin (UIPreviewInteraction previewInteraction); ``` #### Type Changed: UIKit.IUIPrintInteractionControllerDelegate Added methods: ```csharp public virtual UIPrinterCutterBehavior ChooseCutterBehavior (UIPrintInteractionController printInteractionController, Foundation.NSNumber[] availableBehaviors); public virtual UIPrintPaper ChoosePaper (UIPrintInteractionController printInteractionController, UIPrintPaper[] paperList); public virtual System.Runtime.InteropServices.NFloat CutLengthForPaper (UIPrintInteractionController printInteractionController, UIPrintPaper paper); public virtual void DidDismissPrinterOptions (UIPrintInteractionController printInteractionController); public virtual void DidFinishJob (UIPrintInteractionController printInteractionController); public virtual void DidPresentPrinterOptions (UIPrintInteractionController printInteractionController); public virtual UIViewController GetViewController (UIPrintInteractionController printInteractionController); public virtual void WillDismissPrinterOptions (UIPrintInteractionController printInteractionController); public virtual void WillPresentPrinterOptions (UIPrintInteractionController printInteractionController); public virtual void WillStartJob (UIPrintInteractionController printInteractionController); ``` #### Type Changed: UIKit.IUIPrinterPickerControllerDelegate Added methods: ```csharp public virtual void DidDismiss (UIPrinterPickerController printerPickerController); public virtual void DidPresent (UIPrinterPickerController printerPickerController); public virtual void DidSelectPrinter (UIPrinterPickerController printerPickerController); public virtual UIViewController GetParentViewController (UIPrinterPickerController printerPickerController); public virtual bool ShouldShowPrinter (UIPrinterPickerController printerPickerController, UIPrinter printer); public virtual void WillDismiss (UIPrinterPickerController printerPickerController); public virtual void WillPresent (UIPrinterPickerController printerPickerController); ``` #### Type Changed: UIKit.IUIResponderStandardEditActions Added methods: ```csharp public virtual void Copy (Foundation.NSObject sender); public virtual void Cut (Foundation.NSObject sender); public virtual void DecreaseSize (Foundation.NSObject sender); public virtual void Delete (Foundation.NSObject sender); public virtual void Duplicate (Foundation.NSObject sender); public virtual void Export (Foundation.NSObject sender); public virtual void Find (Foundation.NSObject sender); public virtual void FindAndReplace (Foundation.NSObject sender); public virtual void FindNext (Foundation.NSObject sender); public virtual void FindPrevious (Foundation.NSObject sender); public virtual void IncreaseSize (Foundation.NSObject sender); public virtual void MakeTextWritingDirectionLeftToRight (Foundation.NSObject sender); public virtual void MakeTextWritingDirectionRightToLeft (Foundation.NSObject sender); public virtual void Move (Foundation.NSObject sender); public virtual void Paste (Foundation.NSObject sender); public virtual void PasteAndGo (Foundation.NSObject sender); public virtual void PasteAndMatchStyle (Foundation.NSObject sender); public virtual void PasteAndSearch (Foundation.NSObject sender); public virtual void Print (Foundation.NSObject sender); public virtual void Rename (Foundation.NSObject sender); public virtual void Select (Foundation.NSObject sender); public virtual void SelectAll (Foundation.NSObject sender); public virtual void ToggleBoldface (Foundation.NSObject sender); public virtual void ToggleItalics (Foundation.NSObject sender); public virtual void ToggleUnderline (Foundation.NSObject sender); public virtual void UpdateTextAttributes (UITextAttributesConversionHandler conversionHandler); public virtual void UseSelectionForFind (Foundation.NSObject sender); ``` #### Type Changed: UIKit.IUISceneDelegate Added methods: ```csharp public virtual void ContinueUserActivity (UIScene scene, Foundation.NSUserActivity userActivity); public virtual void DidBecomeActive (UIScene scene); public virtual void DidDisconnect (UIScene scene); public virtual void DidEnterBackground (UIScene scene); public virtual void DidFailToContinueUserActivity (UIScene scene, string userActivityType, Foundation.NSError error); public virtual void DidUpdateUserActivity (UIScene scene, Foundation.NSUserActivity userActivity); public virtual Foundation.NSUserActivity GetStateRestorationActivity (UIScene scene); public virtual void OpenUrlContexts (UIScene scene, Foundation.NSSet<UIOpenUrlContext> urlContexts); public virtual void RestoreInteractionState (UIScene scene, Foundation.NSUserActivity stateRestorationActivity); public virtual void WillConnect (UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions); public virtual void WillContinueUserActivity (UIScene scene, string userActivityType); public virtual void WillEnterForeground (UIScene scene); public virtual void WillResignActive (UIScene scene); ``` #### Type Changed: UIKit.IUIScreenshotServiceDelegate Added method: ```csharp public virtual void GeneratePdfRepresentation (UIScreenshotService screenshotService, UIScreenshotServiceDelegatePdfHandler completionHandler); ``` #### Type Changed: UIKit.IUIScribbleInteractionDelegate Added methods: ```csharp public virtual void DidFinishWriting (UIScribbleInteraction interaction); public virtual bool ShouldBegin (UIScribbleInteraction interaction, CoreGraphics.CGPoint location); public virtual bool ShouldDelayFocus (UIScribbleInteraction interaction); public virtual void WillBeginWriting (UIScribbleInteraction interaction); ``` #### Type Changed: UIKit.IUIScrollViewAccessibilityDelegate Added methods: ```csharp public virtual Foundation.NSAttributedString GetAccessibilityAttributedScrollStatus (UIScrollView scrollView); public virtual string GetAccessibilityScrollStatus (UIScrollView scrollView); ``` #### Type Changed: UIKit.IUIScrollViewDelegate Added methods: ```csharp public virtual void DecelerationEnded (UIScrollView scrollView); public virtual void DecelerationStarted (UIScrollView scrollView); public virtual void DidChangeAdjustedContentInset (UIScrollView scrollView); public virtual void DidZoom (UIScrollView scrollView); public virtual void DraggingEnded (UIScrollView scrollView, bool willDecelerate); public virtual void DraggingStarted (UIScrollView scrollView); public virtual void ScrollAnimationEnded (UIScrollView scrollView); public virtual void Scrolled (UIScrollView scrollView); public virtual void ScrolledToTop (UIScrollView scrollView); public virtual bool ShouldScrollToTop (UIScrollView scrollView); public virtual UIView ViewForZoomingInScrollView (UIScrollView scrollView); public virtual void WillEndDragging (UIScrollView scrollView, CoreGraphics.CGPoint velocity, ref CoreGraphics.CGPoint targetContentOffset); public virtual void ZoomingEnded (UIScrollView scrollView, UIView withView, System.Runtime.InteropServices.NFloat atScale); public virtual void ZoomingStarted (UIScrollView scrollView, UIView view); ``` #### Type Changed: UIKit.IUISearchBarDelegate Added methods: ```csharp public virtual void BookmarkButtonClicked (UISearchBar searchBar); public virtual void CancelButtonClicked (UISearchBar searchBar); public virtual void ListButtonClicked (UISearchBar searchBar); public virtual void OnEditingStarted (UISearchBar searchBar); public virtual void OnEditingStopped (UISearchBar searchBar); public virtual void SearchButtonClicked (UISearchBar searchBar); public virtual void SelectedScopeButtonIndexChanged (UISearchBar searchBar, IntPtr selectedScope); public virtual bool ShouldBeginEditing (UISearchBar searchBar); public virtual bool ShouldChangeTextInRange (UISearchBar searchBar, Foundation.NSRange range, string text); public virtual bool ShouldEndEditing (UISearchBar searchBar); public virtual void TextChanged (UISearchBar searchBar, string searchText); ``` #### Type Changed: UIKit.IUISearchControllerDelegate Added methods: ```csharp public virtual void DidChangeFromSearchBarPlacement (UISearchController searchController, UINavigationItemSearchBarPlacement previousPlacement); public virtual void DidDismissSearchController (UISearchController searchController); public virtual void DidPresentSearchController (UISearchController searchController); public virtual void PresentSearchController (UISearchController searchController); public virtual void WillChangeToSearchBarPlacement (UISearchController searchController, UINavigationItemSearchBarPlacement newPlacement); public virtual void WillDismissSearchController (UISearchController searchController); public virtual void WillPresentSearchController (UISearchController searchController); ``` #### Type Changed: UIKit.IUISearchResultsUpdating Modified methods: ```diff -public abstract void UpdateSearchResultsForSearchController (UISearchController searchController) +public virtual void UpdateSearchResultsForSearchController (UISearchController searchController) ``` Added method: ```csharp public virtual void UpdateSearchResults (UISearchController searchController, IUISearchSuggestion searchSuggestion); ``` #### Type Changed: UIKit.IUISearchSuggestion Modified properties: ```diff -public abstract Foundation.NSString LocalizedSuggestion { get; } +public virtual Foundation.NSString LocalizedSuggestion { get; } ``` Added properties: ```csharp public virtual Foundation.NSAttributedString LocalizedAttributedSuggestion { get; } public virtual Foundation.NSObject RepresentedObject { get; set; } ``` Added methods: ```csharp public virtual UIImage GetIconImage (); public virtual Foundation.NSString GetLocalizedDescription (); ``` #### Type Changed: UIKit.IUISearchTextFieldDelegate Added methods: ```csharp public virtual void DidSelectSuggestion (UISearchTextField searchTextField, IUISearchSuggestion suggestion); public virtual Foundation.NSItemProvider GetItemProvider (UISearchTextField searchTextField, UISearchToken token); ``` #### Type Changed: UIKit.IUISearchTextFieldPasteItem Modified methods: ```diff -public abstract void SetSearchTokenResult (UISearchToken token) +public virtual void SetSearchTokenResult (UISearchToken token) ``` #### Type Changed: UIKit.IUIShapeProvider Modified methods: ```diff -public abstract UIResolvedShape CreateResolvedShape (UIShapeResolutionContext context) +public virtual UIResolvedShape CreateResolvedShape (UIShapeResolutionContext context) ``` #### Type Changed: UIKit.IUISheetPresentationControllerDelegate Added method: ```csharp public virtual void DidChangeSelectedDetentIdentifier (UISheetPresentationController sheetPresentationController); ``` #### Type Changed: UIKit.IUISheetPresentationControllerDetentResolutionContext Modified properties: ```diff -public abstract UITraitCollection ContainerTraitCollection { get; } +public virtual UITraitCollection ContainerTraitCollection { get; } -public abstract System.Runtime.InteropServices.NFloat MaximumDetentValue { get; } +public virtual System.Runtime.InteropServices.NFloat MaximumDetentValue { get; } ``` #### Type Changed: UIKit.IUISplitViewControllerDelegate Added methods: ```csharp public virtual bool CollapseSecondViewController (UISplitViewController splitViewController, UIViewController secondaryViewController, UIViewController primaryViewController); public virtual void DidCollapse (UISplitViewController splitViewController); public virtual void DidExpand (UISplitViewController splitViewController); public virtual bool EventShowDetailViewController (UISplitViewController splitViewController, UIViewController vc, Foundation.NSObject sender); public virtual bool EventShowViewController (UISplitViewController splitViewController, UIViewController vc, Foundation.NSObject sender); public virtual UISplitViewControllerDisplayMode GetDisplayModeForExpanding (UISplitViewController splitViewController, UISplitViewControllerDisplayMode proposedDisplayMode); public virtual UIInterfaceOrientation GetPreferredInterfaceOrientationForPresentation (UISplitViewController splitViewController); public virtual UIViewController GetPrimaryViewControllerForCollapsingSplitViewController (UISplitViewController splitViewController); public virtual UIViewController GetPrimaryViewControllerForExpandingSplitViewController (UISplitViewController splitViewController); public virtual UISplitViewControllerDisplayMode GetTargetDisplayModeForAction (UISplitViewController svc); public virtual UISplitViewControllerColumn GetTopColumnForCollapsing (UISplitViewController splitViewController, UISplitViewControllerColumn proposedTopColumn); public virtual void InteractivePresentationGestureDidEnd (UISplitViewController svc); public virtual void InteractivePresentationGestureWillBegin (UISplitViewController svc); public virtual UIViewController SeparateSecondaryViewController (UISplitViewController splitViewController, UIViewController primaryViewController); public virtual bool ShouldHideViewController (UISplitViewController svc, UIViewController viewController, UIInterfaceOrientation inOrientation); public virtual UIInterfaceOrientationMask SupportedInterfaceOrientations (UISplitViewController splitViewController); public virtual void WillChangeDisplayMode (UISplitViewController svc, UISplitViewControllerDisplayMode displayMode); public virtual void WillHideColumn (UISplitViewController splitViewController, UISplitViewControllerColumn column); public virtual void WillHideViewController (UISplitViewController svc, UIViewController aViewController, UIBarButtonItem barButtonItem, UIPopoverController pc); public virtual void WillPresentViewController (UISplitViewController svc, UIPopoverController pc, UIViewController aViewController); public virtual void WillShowColumn (UISplitViewController splitViewController, UISplitViewControllerColumn column); public virtual void WillShowViewController (UISplitViewController svc, UIViewController aViewController, UIBarButtonItem button); ``` #### Type Changed: UIKit.IUISpringLoadedInteractionBehavior Modified methods: ```diff -public abstract bool ShouldAllowInteraction (UISpringLoadedInteraction interaction, IUISpringLoadedInteractionContext context) +public virtual bool ShouldAllowInteraction (UISpringLoadedInteraction interaction, IUISpringLoadedInteractionContext context) ``` Added method: ```csharp public virtual void InteractionDidFinish (UISpringLoadedInteraction interaction); ``` #### Type Changed: UIKit.IUISpringLoadedInteractionContext Modified properties: ```diff -public abstract UISpringLoadedInteractionEffectState State { get; } +public virtual UISpringLoadedInteractionEffectState State { get; } -public abstract Foundation.NSObject TargetItem { get; set; } +public virtual Foundation.NSObject TargetItem { get; set; } -public abstract UIView TargetView { get; set; } +public virtual UIView TargetView { get; set; } ``` Modified methods: ```diff -public abstract CoreGraphics.CGPoint LocationInView (UIView view) +public virtual CoreGraphics.CGPoint LocationInView (UIView view) ``` #### Type Changed: UIKit.IUISpringLoadedInteractionEffect Modified methods: ```diff -public abstract void DidChange (UISpringLoadedInteraction interaction, IUISpringLoadedInteractionContext context) +public virtual void DidChange (UISpringLoadedInteraction interaction, IUISpringLoadedInteractionContext context) ``` #### Type Changed: UIKit.IUISpringLoadedInteractionSupporting Modified properties: ```diff -public abstract bool SpringLoaded { get; set; } +public virtual bool SpringLoaded { get; set; } ``` #### Type Changed: UIKit.IUIStateRestoring Added properties: ```csharp public virtual ObjCRuntime.Class ObjectRestorationClass { get; } public virtual IUIStateRestoring RestorationParent { get; } ``` Added methods: ```csharp public virtual void ApplicationFinishedRestoringState (); public virtual void DecodeRestorableState (Foundation.NSCoder coder); public virtual void EncodeRestorableState (Foundation.NSCoder coder); ``` #### Type Changed: UIKit.IUITabBarControllerDelegate Added methods: ```csharp public virtual void FinishedCustomizingViewControllers (UITabBarController tabBarController, UIViewController[] viewControllers, bool changed); public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForTransition (UITabBarController tabBarController, UIViewController fromViewController, UIViewController toViewController); public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForAnimationController (UITabBarController tabBarController, IUIViewControllerAnimatedTransitioning animationController); public virtual UIInterfaceOrientation GetPreferredInterfaceOrientation (UITabBarController tabBarController); public virtual void OnCustomizingViewControllers (UITabBarController tabBarController, UIViewController[] viewControllers); public virtual void OnEndCustomizingViewControllers (UITabBarController tabBarController, UIViewController[] viewControllers, bool changed); public virtual bool ShouldSelectViewController (UITabBarController tabBarController, UIViewController viewController); public virtual UIInterfaceOrientationMask SupportedInterfaceOrientations (UITabBarController tabBarController); public virtual void ViewControllerSelected (UITabBarController tabBarController, UIViewController viewController); ``` #### Type Changed: UIKit.IUITabBarDelegate Added methods: ```csharp public virtual void DidBeginCustomizingItems (UITabBar tabbar, UITabBarItem[] items); public virtual void DidEndCustomizingItems (UITabBar tabbar, UITabBarItem[] items, bool changed); public virtual void ItemSelected (UITabBar tabbar, UITabBarItem item); public virtual void WillBeginCustomizingItems (UITabBar tabbar, UITabBarItem[] items); public virtual void WillEndCustomizingItems (UITabBar tabbar, UITabBarItem[] items, bool changed); ``` #### Type Changed: UIKit.IUITableViewDataSource Modified methods: ```diff -public abstract UITableViewCell GetCell (UITableView tableView, Foundation.NSIndexPath indexPath) +public virtual UITableViewCell GetCell (UITableView tableView, Foundation.NSIndexPath indexPath) -public abstract IntPtr RowsInSection (UITableView tableView, IntPtr section) +public virtual IntPtr RowsInSection (UITableView tableView, IntPtr section) ``` Added methods: ```csharp public virtual bool CanEditRow (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual bool CanMoveRow (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual void CommitEditingStyle (UITableView tableView, UITableViewCellEditingStyle editingStyle, Foundation.NSIndexPath indexPath); public virtual void MoveRow (UITableView tableView, Foundation.NSIndexPath sourceIndexPath, Foundation.NSIndexPath destinationIndexPath); public virtual IntPtr NumberOfSections (UITableView tableView); public virtual IntPtr SectionFor (UITableView tableView, string title, IntPtr atIndex); public virtual string[] SectionIndexTitles (UITableView tableView); public virtual string TitleForFooter (UITableView tableView, IntPtr section); public virtual string TitleForHeader (UITableView tableView, IntPtr section); ``` #### Type Changed: UIKit.IUITableViewDataSourcePrefetching Modified methods: ```diff -public abstract void PrefetchRows (UITableView tableView, Foundation.NSIndexPath[] indexPaths) +public virtual void PrefetchRows (UITableView tableView, Foundation.NSIndexPath[] indexPaths) ``` Added method: ```csharp public virtual void CancelPrefetching (UITableView tableView, Foundation.NSIndexPath[] indexPaths); ``` #### Type Changed: UIKit.IUITableViewDelegate Added methods: ```csharp public virtual void AccessoryButtonTapped (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual bool CanFocusRow (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual bool CanPerformAction (UITableView tableView, ObjCRuntime.Selector action, Foundation.NSIndexPath indexPath, Foundation.NSObject sender); public virtual bool CanPerformPrimaryAction (UITableView tableView, Foundation.NSIndexPath rowIndexPath); public virtual void CellDisplayingEnded (UITableView tableView, UITableViewCell cell, Foundation.NSIndexPath indexPath); public virtual Foundation.NSIndexPath CustomizeMoveTarget (UITableView tableView, Foundation.NSIndexPath sourceIndexPath, Foundation.NSIndexPath proposedIndexPath); public virtual void DidBeginMultipleSelectionInteraction (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual void DidEndEditing (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual void DidEndMultipleSelectionInteraction (UITableView tableView); public virtual void DidUpdateFocus (UITableView tableView, UITableViewFocusUpdateContext context, UIFocusAnimationCoordinator coordinator); public virtual UITableViewRowAction[] EditActionsForRow (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual UITableViewCellEditingStyle EditingStyleForRow (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual System.Runtime.InteropServices.NFloat EstimatedHeight (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual System.Runtime.InteropServices.NFloat EstimatedHeightForFooter (UITableView tableView, IntPtr section); public virtual System.Runtime.InteropServices.NFloat EstimatedHeightForHeader (UITableView tableView, IntPtr section); public virtual void FooterViewDisplayingEnded (UITableView tableView, UIView footerView, IntPtr section); public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UITableView tableView, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point); public virtual System.Runtime.InteropServices.NFloat GetHeightForFooter (UITableView tableView, IntPtr section); public virtual System.Runtime.InteropServices.NFloat GetHeightForHeader (UITableView tableView, IntPtr section); public virtual System.Runtime.InteropServices.NFloat GetHeightForRow (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual Foundation.NSIndexPath GetIndexPathForPreferredFocusedView (UITableView tableView); public virtual UISwipeActionsConfiguration GetLeadingSwipeActionsConfiguration (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual UITargetedPreview GetPreviewForDismissingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration); public virtual UITargetedPreview GetPreviewForHighlightingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration); public virtual bool GetSelectionFollowsFocusForRow (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual UISwipeActionsConfiguration GetTrailingSwipeActionsConfiguration (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual UIView GetViewForFooter (UITableView tableView, IntPtr section); public virtual UIView GetViewForHeader (UITableView tableView, IntPtr section); public virtual void HeaderViewDisplayingEnded (UITableView tableView, UIView headerView, IntPtr section); public virtual IntPtr IndentationLevel (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual void PerformAction (UITableView tableView, ObjCRuntime.Selector action, Foundation.NSIndexPath indexPath, Foundation.NSObject sender); public virtual void PerformPrimaryAction (UITableView tableView, Foundation.NSIndexPath rowIndexPath); public virtual void RowDeselected (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual void RowHighlighted (UITableView tableView, Foundation.NSIndexPath rowIndexPath); public virtual void RowSelected (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual void RowUnhighlighted (UITableView tableView, Foundation.NSIndexPath rowIndexPath); public virtual bool ShouldBeginMultipleSelectionInteraction (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual bool ShouldHighlightRow (UITableView tableView, Foundation.NSIndexPath rowIndexPath); public virtual bool ShouldIndentWhileEditing (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual bool ShouldShowMenu (UITableView tableView, Foundation.NSIndexPath rowAtindexPath); public virtual bool ShouldSpringLoadRow (UITableView tableView, Foundation.NSIndexPath indexPath, IUISpringLoadedInteractionContext context); public virtual bool ShouldUpdateFocus (UITableView tableView, UITableViewFocusUpdateContext context); public virtual string TitleForDeleteConfirmation (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual void WillBeginEditing (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual Foundation.NSIndexPath WillDeselectRow (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual void WillDisplay (UITableView tableView, UITableViewCell cell, Foundation.NSIndexPath indexPath); public virtual void WillDisplayContextMenu (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator); public virtual void WillDisplayFooterView (UITableView tableView, UIView footerView, IntPtr section); public virtual void WillDisplayHeaderView (UITableView tableView, UIView headerView, IntPtr section); public virtual void WillEndContextMenuInteraction (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator); public virtual void WillPerformPreviewAction (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionCommitAnimating animator); public virtual Foundation.NSIndexPath WillSelectRow (UITableView tableView, Foundation.NSIndexPath indexPath); ``` #### Type Changed: UIKit.IUITableViewDragDelegate Modified methods: ```diff -public abstract UIDragItem[] GetItemsForBeginningDragSession (UITableView tableView, IUIDragSession session, Foundation.NSIndexPath indexPath) +public virtual UIDragItem[] GetItemsForBeginningDragSession (UITableView tableView, IUIDragSession session, Foundation.NSIndexPath indexPath) ``` Added methods: ```csharp public virtual bool DragSessionAllowsMoveOperation (UITableView tableView, IUIDragSession session); public virtual void DragSessionDidEnd (UITableView tableView, IUIDragSession session); public virtual bool DragSessionIsRestrictedToDraggingApplication (UITableView tableView, IUIDragSession session); public virtual void DragSessionWillBegin (UITableView tableView, IUIDragSession session); public virtual UIDragPreviewParameters GetDragPreviewParameters (UITableView tableView, Foundation.NSIndexPath indexPath); public virtual UIDragItem[] GetItemsForAddingToDragSession (UITableView tableView, IUIDragSession session, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point); ``` #### Type Changed: UIKit.IUITableViewDropCoordinator Modified properties: ```diff -public abstract Foundation.NSIndexPath DestinationIndexPath { get; } +public virtual Foundation.NSIndexPath DestinationIndexPath { get; } -public abstract IUITableViewDropItem[] Items { get; } +public virtual IUITableViewDropItem[] Items { get; } -public abstract UITableViewDropProposal Proposal { get; } +public virtual UITableViewDropProposal Proposal { get; } -public abstract IUIDropSession Session { get; } +public virtual IUIDropSession Session { get; } ``` Modified methods: ```diff -public abstract IUIDragAnimating DropItemIntoRow (UIDragItem dragItem, Foundation.NSIndexPath indexPath, CoreGraphics.CGRect rect) +public virtual IUIDragAnimating DropItemIntoRow (UIDragItem dragItem, Foundation.NSIndexPath indexPath, CoreGraphics.CGRect rect) -public abstract IUITableViewDropPlaceholderContext DropItemToPlaceholder (UIDragItem dragItem, UITableViewDropPlaceholder placeholder) +public virtual IUITableViewDropPlaceholderContext DropItemToPlaceholder (UIDragItem dragItem, UITableViewDropPlaceholder placeholder) -public abstract IUIDragAnimating DropItemToRow (UIDragItem dragItem, Foundation.NSIndexPath indexPath) +public virtual IUIDragAnimating DropItemToRow (UIDragItem dragItem, Foundation.NSIndexPath indexPath) -public abstract IUIDragAnimating DropItemToTarget (UIDragItem dragItem, UIDragPreviewTarget target) +public virtual IUIDragAnimating DropItemToTarget (UIDragItem dragItem, UIDragPreviewTarget target) ``` #### Type Changed: UIKit.IUITableViewDropDelegate Modified methods: ```diff -public abstract void PerformDrop (UITableView tableView, IUITableViewDropCoordinator coordinator) +public virtual void PerformDrop (UITableView tableView, IUITableViewDropCoordinator coordinator) ``` Added methods: ```csharp public virtual bool CanHandleDropSession (UITableView tableView, IUIDropSession session); public virtual void DropSessionDidEnd (UITableView tableView, IUIDropSession session); public virtual void DropSessionDidEnter (UITableView tableView, IUIDropSession session); public virtual void DropSessionDidExit (UITableView tableView, IUIDropSession session); public virtual UITableViewDropProposal DropSessionDidUpdate (UITableView tableView, IUIDropSession session, Foundation.NSIndexPath destinationIndexPath); public virtual UIDragPreviewParameters GetDropPreviewParameters (UITableView tableView, Foundation.NSIndexPath indexPath); ``` #### Type Changed: UIKit.IUITableViewDropItem Modified properties: ```diff -public abstract UIDragItem DragItem { get; } +public virtual UIDragItem DragItem { get; } -public abstract CoreGraphics.CGSize PreviewSize { get; } +public virtual CoreGraphics.CGSize PreviewSize { get; } -public abstract Foundation.NSIndexPath SourceIndexPath { get; } +public virtual Foundation.NSIndexPath SourceIndexPath { get; } ``` #### Type Changed: UIKit.IUITableViewDropPlaceholderContext Modified properties: ```diff -public abstract UIDragItem DragItem { get; } +public virtual UIDragItem DragItem { get; } ``` Modified methods: ```diff -public abstract bool CommitInsertion (System.Action%LESSERTHANREPLACEMENT%Foundation.NSIndexPath%GREATERTHANREPLACEMENT% dataSourceUpdates) +public virtual bool CommitInsertion (System.Action%LESSERTHANREPLACEMENT%Foundation.NSIndexPath%GREATERTHANREPLACEMENT% dataSourceUpdates) -public abstract bool DeletePlaceholder () +public virtual bool DeletePlaceholder () ``` #### Type Changed: UIKit.IUITextCursorView Modified properties: ```diff -public abstract bool Blinking { get; set; } +public virtual bool Blinking { get; set; } ``` Modified methods: ```diff -public abstract void ResetBlinkAnimation () +public virtual void ResetBlinkAnimation () ``` #### Type Changed: UIKit.IUITextDocumentProxy Modified properties: ```diff -public abstract string DocumentContextAfterInput { get; } +public virtual string DocumentContextAfterInput { get; } -public abstract string DocumentContextBeforeInput { get; } +public virtual string DocumentContextBeforeInput { get; } -public abstract Foundation.NSUuid DocumentIdentifier { get; } +public virtual Foundation.NSUuid DocumentIdentifier { get; } -public abstract UITextInputMode DocumentInputMode { get; } +public virtual UITextInputMode DocumentInputMode { get; } -public abstract string SelectedText { get; } +public virtual string SelectedText { get; } ``` Modified methods: ```diff -public abstract void AdjustTextPositionByCharacterOffset (IntPtr offset) +public virtual void AdjustTextPositionByCharacterOffset (IntPtr offset) -public abstract void SetMarkedText (string markedText, Foundation.NSRange selectedRange) +public virtual void SetMarkedText (string markedText, Foundation.NSRange selectedRange) -public abstract void UnmarkText () +public virtual void UnmarkText () ``` #### Type Changed: UIKit.IUITextDragDelegate Added methods: ```csharp public virtual void DragSessionDidEnd (IUITextDraggable textDraggableView, IUIDragSession session, UIDropOperation operation); public virtual void DragSessionWillBegin (IUITextDraggable textDraggableView, IUIDragSession session); public virtual UIDragItem[] GetItemsForDrag (IUITextDraggable textDraggableView, IUITextDragRequest dragRequest); public virtual UITargetedDragPreview GetPreviewForLiftingItem (IUITextDraggable textDraggableView, UIDragItem item, IUIDragSession session); public virtual void WillAnimateLift (IUITextDraggable textDraggableView, IUIDragAnimating animator, IUIDragSession session); ``` #### Type Changed: UIKit.IUITextDragRequest Modified properties: ```diff -public abstract UITextRange DragRange { get; } +public virtual UITextRange DragRange { get; } -public abstract IUIDragSession DragSession { get; } +public virtual IUIDragSession DragSession { get; } -public abstract UIDragItem[] ExistingItems { get; } +public virtual UIDragItem[] ExistingItems { get; } -public abstract bool Selected { get; } +public virtual bool Selected { get; } -public abstract UIDragItem[] SuggestedItems { get; } +public virtual UIDragItem[] SuggestedItems { get; } ``` #### Type Changed: UIKit.IUITextDraggable Modified properties: ```diff -public abstract bool TextDragActive { get; } +public virtual bool TextDragActive { get; } -public abstract IUITextDragDelegate TextDragDelegate { get; set; } +public virtual IUITextDragDelegate TextDragDelegate { get; set; } -public abstract UIDragInteraction TextDragInteraction { get; } +public virtual UIDragInteraction TextDragInteraction { get; } -public abstract UITextDragOptions TextDragOptions { get; set; } +public virtual UITextDragOptions TextDragOptions { get; set; } ``` #### Type Changed: UIKit.IUITextDropDelegate Added methods: ```csharp public virtual void DropSessionDidEnd (IUITextDroppable textDroppableView, IUIDropSession session); public virtual void DropSessionDidEnter (IUITextDroppable textDroppableView, IUIDropSession session); public virtual void DropSessionDidExit (IUITextDroppable textDroppableView, IUIDropSession session); public virtual void DropSessionDidUpdate (IUITextDroppable textDroppableView, IUIDropSession session); public virtual UITargetedDragPreview GetPreviewForDroppingAllItems (IUITextDroppable textDroppableView, UITargetedDragPreview defaultPreview); public virtual UITextDropProposal GetProposalForDrop (IUITextDroppable textDroppableView, IUITextDropRequest drop); public virtual UITextDropEditability WillBecomeEditable (IUITextDroppable textDroppableView, IUITextDropRequest drop); public virtual void WillPerformDrop (IUITextDroppable textDroppableView, IUITextDropRequest drop); ``` #### Type Changed: UIKit.IUITextDropRequest Modified properties: ```diff -public abstract UITextPosition DropPosition { get; } +public virtual UITextPosition DropPosition { get; } -public abstract IUIDropSession DropSession { get; } +public virtual IUIDropSession DropSession { get; } -public abstract bool SameView { get; } +public virtual bool SameView { get; } -public abstract UITextDropProposal SuggestedProposal { get; } +public virtual UITextDropProposal SuggestedProposal { get; } ``` #### Type Changed: UIKit.IUITextDroppable Modified properties: ```diff -public abstract bool TextDropActive { get; } +public virtual bool TextDropActive { get; } -public abstract IUITextDropDelegate TextDropDelegate { get; set; } +public virtual IUITextDropDelegate TextDropDelegate { get; set; } -public abstract UIDropInteraction TextDropInteraction { get; } +public virtual UIDropInteraction TextDropInteraction { get; } ``` #### Type Changed: UIKit.IUITextFieldDelegate Added methods: ```csharp public virtual void DidChangeSelection (UITextField textField); public virtual void EditingEnded (UITextField textField); public virtual void EditingEnded (UITextField textField, UITextFieldDidEndEditingReason reason); public virtual void EditingStarted (UITextField textField); public virtual UIMenu GetEditMenu (UITextField textField, Foundation.NSRange range, UIMenuElement[] suggestedActions); public virtual bool ShouldBeginEditing (UITextField textField); public virtual bool ShouldChangeCharacters (UITextField textField, Foundation.NSRange range, string replacementString); public virtual bool ShouldClear (UITextField textField); public virtual bool ShouldEndEditing (UITextField textField); public virtual bool ShouldReturn (UITextField textField); public virtual void WillDismissEditMenu (UITextField textField, IUIEditMenuInteractionAnimating animator); public virtual void WillPresentEditMenu (UITextField textField, IUIEditMenuInteractionAnimating animator); ``` #### Type Changed: UIKit.IUITextFormattingCoordinatorDelegate Modified methods: ```diff -public abstract void UpdateTextAttributes (UITextAttributesConversionHandler conversionHandler) +public virtual void UpdateTextAttributes (UITextAttributesConversionHandler conversionHandler) ``` #### Type Changed: UIKit.IUITextInput Modified properties: ```diff -public abstract UITextPosition BeginningOfDocument { get; } +public virtual UITextPosition BeginningOfDocument { get; } -public abstract UITextPosition EndOfDocument { get; } +public virtual UITextPosition EndOfDocument { get; } -public abstract UITextRange MarkedTextRange { get; } +public virtual UITextRange MarkedTextRange { get; } -public abstract Foundation.NSDictionary MarkedTextStyle { get; set; } +public virtual Foundation.NSDictionary MarkedTextStyle { get; set; } -public abstract UITextRange SelectedTextRange { get; set; } +public virtual UITextRange SelectedTextRange { get; set; } -public abstract Foundation.NSObject WeakInputDelegate { get; set; } +public virtual Foundation.NSObject WeakInputDelegate { get; set; } -public abstract Foundation.NSObject WeakTokenizer { get; } +public virtual Foundation.NSObject WeakTokenizer { get; } ``` Added properties: ```csharp public virtual UITextStorageDirection SelectionAffinity { get; set; } public virtual UIView TextInputView { get; } ``` Modified methods: ```diff -public abstract Foundation.NSComparisonResult ComparePosition (UITextPosition first, UITextPosition second) +public virtual Foundation.NSComparisonResult ComparePosition (UITextPosition first, UITextPosition second) -public abstract Foundation.NSWritingDirection GetBaseWritingDirection (UITextPosition forPosition, UITextStorageDirection direction) +public virtual Foundation.NSWritingDirection GetBaseWritingDirection (UITextPosition forPosition, UITextStorageDirection direction) -public abstract CoreGraphics.CGRect GetCaretRectForPosition (UITextPosition position) +public virtual CoreGraphics.CGRect GetCaretRectForPosition (UITextPosition position) -public abstract UITextRange GetCharacterRange (UITextPosition byExtendingPosition, UITextLayoutDirection direction) +public virtual UITextRange GetCharacterRange (UITextPosition byExtendingPosition, UITextLayoutDirection direction) -public abstract UITextRange GetCharacterRangeAtPoint (CoreGraphics.CGPoint point) +public virtual UITextRange GetCharacterRangeAtPoint (CoreGraphics.CGPoint point) -public abstract UITextPosition GetClosestPositionToPoint (CoreGraphics.CGPoint point) +public virtual UITextPosition GetClosestPositionToPoint (CoreGraphics.CGPoint point) -public abstract UITextPosition GetClosestPositionToPoint (CoreGraphics.CGPoint point, UITextRange withinRange) +public virtual UITextPosition GetClosestPositionToPoint (CoreGraphics.CGPoint point, UITextRange withinRange) -public abstract CoreGraphics.CGRect GetFirstRectForRange (UITextRange range) +public virtual CoreGraphics.CGRect GetFirstRectForRange (UITextRange range) -public abstract IntPtr GetOffsetFromPosition (UITextPosition fromPosition, UITextPosition toPosition) +public virtual IntPtr GetOffsetFromPosition (UITextPosition fromPosition, UITextPosition toPosition) -public abstract UITextPosition GetPosition (UITextPosition fromPosition, IntPtr offset) +public virtual UITextPosition GetPosition (UITextPosition fromPosition, IntPtr offset) -public abstract UITextPosition GetPosition (UITextPosition fromPosition, UITextLayoutDirection inDirection, IntPtr offset) +public virtual UITextPosition GetPosition (UITextPosition fromPosition, UITextLayoutDirection inDirection, IntPtr offset) -public abstract UITextPosition GetPositionWithinRange (UITextRange range, UITextLayoutDirection direction) +public virtual UITextPosition GetPositionWithinRange (UITextRange range, UITextLayoutDirection direction) -public abstract UITextSelectionRect[] GetSelectionRects (UITextRange range) +public virtual UITextSelectionRect[] GetSelectionRects (UITextRange range) -public abstract UITextRange GetTextRange (UITextPosition fromPosition, UITextPosition toPosition) +public virtual UITextRange GetTextRange (UITextPosition fromPosition, UITextPosition toPosition) -public abstract void ReplaceText (UITextRange range, string text) +public virtual void ReplaceText (UITextRange range, string text) -public abstract void SetBaseWritingDirectionforRange (Foundation.NSWritingDirection writingDirection, UITextRange range) +public virtual void SetBaseWritingDirectionforRange (Foundation.NSWritingDirection writingDirection, UITextRange range) -public abstract void SetMarkedText (string markedText, Foundation.NSRange selectedRange) +public virtual void SetMarkedText (string markedText, Foundation.NSRange selectedRange) -public abstract string TextInRange (UITextRange range) +public virtual string TextInRange (UITextRange range) -public abstract void UnmarkText () +public virtual void UnmarkText () ``` Added methods: ```csharp public virtual void BeginFloatingCursor (CoreGraphics.CGPoint point); public virtual void DictationRecognitionFailed (); public virtual void DictationRecordingDidEnd (); public virtual void EndFloatingCursor (); public virtual CoreGraphics.CGAffineTransform GetCaretTransform (UITextPosition forPosition); public virtual IntPtr GetCharacterOffsetOfPosition (UITextPosition position, UITextRange range); public virtual UIMenu GetEditMenu (UITextRange textRange, UIMenuElement[] suggestedActions); public virtual CoreGraphics.CGRect GetFrameForDictationResultPlaceholder (Foundation.NSObject placeholder); public virtual UITextPosition GetPosition (UITextRange withinRange, IntPtr atCharacterOffset); public virtual Foundation.NSDictionary GetTextStyling (UITextPosition atPosition, UITextStorageDirection inDirection); public virtual void InsertDictationResult (Foundation.NSArray dictationResult); public virtual Foundation.NSObject InsertDictationResultPlaceholder (); public virtual void InsertText (string text, string[] alternatives, UITextAlternativeStyle style); public virtual UITextPlaceholder InsertTextPlaceholder (CoreGraphics.CGSize size); public virtual void RemoveDictationResultPlaceholder (Foundation.NSObject placeholder, bool willInsertResult); public virtual void RemoveTextPlaceholder (UITextPlaceholder textPlaceholder); public virtual void SetAttributedMarkedText (Foundation.NSAttributedString markedText, Foundation.NSRange selectedRange); public virtual bool ShouldChangeTextInRange (UITextRange inRange, string replacementText); public virtual void UpdateFloatingCursor (CoreGraphics.CGPoint point); public virtual void WillDismissEditMenu (IUIEditMenuInteractionAnimating animator); public virtual void WillPresentEditMenu (IUIEditMenuInteractionAnimating animator); ``` #### Type Changed: UIKit.IUITextInputDelegate Modified methods: ```diff -public abstract void SelectionDidChange (IUITextInput uiTextInput) +public virtual void SelectionDidChange (IUITextInput uiTextInput) -public abstract void SelectionWillChange (IUITextInput uiTextInput) +public virtual void SelectionWillChange (IUITextInput uiTextInput) -public abstract void TextDidChange (IUITextInput textInput) +public virtual void TextDidChange (IUITextInput textInput) -public abstract void TextWillChange (IUITextInput textInput) +public virtual void TextWillChange (IUITextInput textInput) ``` #### Type Changed: UIKit.IUITextInputTokenizer Modified methods: ```diff -public abstract UITextPosition GetPosition (UITextPosition fromPosition, UITextGranularity toBoundary, UITextDirection inDirection) +public virtual UITextPosition GetPosition (UITextPosition fromPosition, UITextGranularity toBoundary, UITextDirection inDirection) -public abstract UITextRange GetRangeEnclosingPosition (UITextPosition position, UITextGranularity granularity, UITextDirection direction) +public virtual UITextRange GetRangeEnclosingPosition (UITextPosition position, UITextGranularity granularity, UITextDirection direction) -public abstract bool ProbeDirection (UITextPosition probePosition, UITextGranularity atBoundary, UITextDirection inDirection) +public virtual bool ProbeDirection (UITextPosition probePosition, UITextGranularity atBoundary, UITextDirection inDirection) -public abstract bool ProbeDirectionWithinTextUnit (UITextPosition probePosition, UITextGranularity withinTextUnit, UITextDirection inDirection) +public virtual bool ProbeDirectionWithinTextUnit (UITextPosition probePosition, UITextGranularity withinTextUnit, UITextDirection inDirection) ``` #### Type Changed: UIKit.IUITextInputTraits Added properties: ```csharp public virtual UITextAutocapitalizationType AutocapitalizationType { get; set; } public virtual UITextAutocorrectionType AutocorrectionType { get; set; } public virtual bool EnablesReturnKeyAutomatically { get; set; } public virtual UITextInlinePredictionType InlinePredictionType { get; set; } public virtual UIKeyboardAppearance KeyboardAppearance { get; set; } public virtual UIKeyboardType KeyboardType { get; set; } public virtual UITextInputPasswordRules PasswordRules { get; set; } public virtual UIReturnKeyType ReturnKeyType { get; set; } public virtual bool SecureTextEntry { get; set; } public virtual UITextSmartDashesType SmartDashesType { get; set; } public virtual UITextSmartInsertDeleteType SmartInsertDeleteType { get; set; } public virtual UITextSmartQuotesType SmartQuotesType { get; set; } public virtual UITextSpellCheckingType SpellCheckingType { get; set; } public virtual Foundation.NSString TextContentType { get; set; } ``` #### Type Changed: UIKit.IUITextInteractionDelegate Added methods: ```csharp public virtual void DidEnd (UITextInteraction interaction); public virtual bool ShouldBegin (UITextInteraction interaction, CoreGraphics.CGPoint point); public virtual void WillBegin (UITextInteraction interaction); ``` #### Type Changed: UIKit.IUITextPasteConfigurationSupporting Modified properties: ```diff -public abstract IUITextPasteDelegate PasteDelegate { get; set; } +public virtual IUITextPasteDelegate PasteDelegate { get; set; } ``` #### Type Changed: UIKit.IUITextPasteDelegate Added methods: ```csharp public virtual Foundation.NSAttributedString CombineItemAttributedStrings (IUITextPasteConfigurationSupporting textPasteConfigurationSupporting, Foundation.NSAttributedString[] itemStrings, UITextRange textRange); public virtual UITextRange PerformPaste (IUITextPasteConfigurationSupporting textPasteConfigurationSupporting, Foundation.NSAttributedString attributedString, UITextRange textRange); public virtual bool ShouldAnimatePaste (IUITextPasteConfigurationSupporting textPasteConfigurationSupporting, Foundation.NSAttributedString attributedString, UITextRange textRange); public virtual void TransformPasteItem (IUITextPasteConfigurationSupporting textPasteConfigurationSupporting, IUITextPasteItem item); ``` #### Type Changed: UIKit.IUITextPasteItem Modified properties: ```diff -public abstract Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% DefaultAttributes { get; } +public virtual Foundation.NSDictionary%LESSERTHANREPLACEMENT%Foundation.NSString,Foundation.NSObject%GREATERTHANREPLACEMENT% DefaultAttributes { get; } -public abstract Foundation.NSItemProvider ItemProvider { get; } +public virtual Foundation.NSItemProvider ItemProvider { get; } -public abstract Foundation.NSObject LocalObject { get; } +public virtual Foundation.NSObject LocalObject { get; } ``` Modified methods: ```diff -public abstract void SetAttachmentResult (NSTextAttachment textAttachment) +public virtual void SetAttachmentResult (NSTextAttachment textAttachment) -public abstract void SetAttributedStringResult (Foundation.NSAttributedString string) +public virtual void SetAttributedStringResult (Foundation.NSAttributedString string) -public abstract void SetDefaultResult () +public virtual void SetDefaultResult () -public abstract void SetNoResult () +public virtual void SetNoResult () -public abstract void SetStringResult (string string) +public virtual void SetStringResult (string string) ``` #### Type Changed: UIKit.IUITextSearchAggregator Modified properties: ```diff -public abstract Foundation.NSOrderedSet%LESSERTHANREPLACEMENT%UITextRange%GREATERTHANREPLACEMENT% AllFoundRanges { get; } +public virtual Foundation.NSOrderedSet%LESSERTHANREPLACEMENT%UITextRange%GREATERTHANREPLACEMENT% AllFoundRanges { get; } ``` Modified methods: ```diff -public abstract void FinishedSearching () +public virtual void FinishedSearching () -public abstract void GetFoundRange (UITextRange range, string string, Foundation.INSCopying document) +public virtual void GetFoundRange (UITextRange range, string string, Foundation.INSCopying document) -public abstract void Invalidate () +public virtual void Invalidate () -public abstract void Invalidate (UITextRange foundRange, Foundation.INSCopying document) +public virtual void Invalidate (UITextRange foundRange, Foundation.INSCopying document) ``` #### Type Changed: UIKit.IUITextSearching Modified properties: ```diff -public abstract UITextRange SelectedTextRange { get; } +public virtual UITextRange SelectedTextRange { get; } ``` Added properties: ```csharp public virtual Foundation.INSCopying SelectedTextSearchDocument { get; } public virtual bool SupportsTextReplacement { get; } ``` Modified methods: ```diff -public abstract void ClearAllDecoratedFoundText () +public virtual void ClearAllDecoratedFoundText () -public abstract Foundation.NSComparisonResult Compare (UITextRange foundRange, UITextRange toRange, Foundation.INSCopying document) +public virtual Foundation.NSComparisonResult Compare (UITextRange foundRange, UITextRange toRange, Foundation.INSCopying document) -public abstract void Decorate (UITextRange foundRange, Foundation.INSCopying document, UITextSearchFoundTextStyle style) +public virtual void Decorate (UITextRange foundRange, Foundation.INSCopying document, UITextSearchFoundTextStyle style) -public abstract void PerformTextSearch (string string, UITextSearchOptions options, IUITextSearchAggregator aggregator) +public virtual void PerformTextSearch (string string, UITextSearchOptions options, IUITextSearchAggregator aggregator) ``` Added methods: ```csharp public virtual Foundation.NSComparisonResult CompareOrder (Foundation.INSCopying fromDocument, Foundation.INSCopying toDocument); public virtual void ReplaceAllOccurrences (string queryString, UITextSearchOptions options, string replacementText); public virtual void ReplaceFoundText (UITextRange range, Foundation.INSCopying document, string replacementText); public virtual void ScrollRangeToVisible (UITextRange range, Foundation.INSCopying document); public virtual bool ShouldReplaceFoundText (UITextRange range, Foundation.INSCopying document, string replacementText); public virtual void WillHighlight (UITextRange foundRange, Foundation.INSCopying document); ``` #### Type Changed: UIKit.IUITextSelectionDisplayInteractionDelegate Added method: ```csharp public virtual UIView GetSelectionContainerViewBelowText (UITextSelectionDisplayInteraction interaction); ``` #### Type Changed: UIKit.IUITextSelectionHandleView Modified properties: ```diff -public abstract UIBezierPath CustomShape { get; set; } +public virtual UIBezierPath CustomShape { get; set; } -public abstract NSDirectionalRectEdge Direction { get; set; } +public virtual NSDirectionalRectEdge Direction { get; set; } -public abstract bool Vertical { get; } +public virtual bool Vertical { get; } ``` Modified methods: ```diff -public abstract CoreGraphics.CGRect GetPreferredFrame (CoreGraphics.CGRect rect) +public virtual CoreGraphics.CGRect GetPreferredFrame (CoreGraphics.CGRect rect) ``` #### Type Changed: UIKit.IUITextSelectionHighlightView Modified properties: ```diff -public abstract UITextSelectionRect[] SelectionRects { get; set; } +public virtual UITextSelectionRect[] SelectionRects { get; set; } ``` #### Type Changed: UIKit.IUITextViewDelegate Added methods: ```csharp public virtual void Changed (UITextView textView); public virtual void EditingEnded (UITextView textView); public virtual void EditingStarted (UITextView textView); public virtual UIMenu GetEditMenuForText (UITextView textView, Foundation.NSRange range, UIMenuElement[] suggestedActions); public virtual UITextItemMenuConfiguration GetMenuConfiguration (UITextView textView, UITextItem textItem, UIMenu defaultMenu); public virtual UIAction GetPrimaryAction (UITextView textView, UITextItem textItem, UIAction defaultAction); public virtual void SelectionChanged (UITextView textView); public virtual bool ShouldBeginEditing (UITextView textView); public virtual bool ShouldChangeText (UITextView textView, Foundation.NSRange range, string text); public virtual bool ShouldEndEditing (UITextView textView); public virtual bool ShouldInteractWithTextAttachment (UITextView textView, NSTextAttachment textAttachment, Foundation.NSRange characterRange); public virtual bool ShouldInteractWithTextAttachment (UITextView textView, NSTextAttachment textAttachment, Foundation.NSRange characterRange, UITextItemInteraction interaction); public virtual bool ShouldInteractWithUrl (UITextView textView, Foundation.NSUrl URL, Foundation.NSRange characterRange); public virtual bool ShouldInteractWithUrl (UITextView textView, Foundation.NSUrl url, Foundation.NSRange characterRange, UITextItemInteraction interaction); public virtual void WillDismissEditMenu (UITextView textView, IUIEditMenuInteractionAnimating aniamtor); public virtual void WillDisplay (UITextView textView, UITextItem textItem, IUIContextMenuInteractionAnimating animator); public virtual void WillEnd (UITextView textView, UITextItem textItem, IUIContextMenuInteractionAnimating animator); public virtual void WillPresentEditMenu (UITextView textView, IUIEditMenuInteractionAnimating animator); ``` #### Type Changed: UIKit.IUITimingCurveProvider Modified properties: ```diff -public abstract UICubicTimingParameters CubicTimingParameters { get; } +public virtual UICubicTimingParameters CubicTimingParameters { get; } -public abstract UISpringTimingParameters SpringTimingParameters { get; } +public virtual UISpringTimingParameters SpringTimingParameters { get; } -public abstract UITimingCurveType TimingCurveType { get; } +public virtual UITimingCurveType TimingCurveType { get; } ``` #### Type Changed: UIKit.IUIToolTipInteractionDelegate Added method: ```csharp public virtual UIToolTipConfiguration GetConfiguration (UIToolTipInteraction interaction, CoreGraphics.CGPoint point); ``` #### Type Changed: UIKit.IUITraitChangeObservable Modified methods: ```diff -public abstract void UnregisterForTraitChanges (IUITraitChangeRegistration registration) +public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration) ``` #### Type Changed: UIKit.IUITraitDefinition Added methods: ```csharp public static bool GetAffectsColorAppearance<T> (); public static string GetIdentifier<T> (); public static string GetName<T> (); ``` #### Type Changed: UIKit.IUITraitEnvironment Modified properties: ```diff -public abstract UITraitCollection TraitCollection { get; } +public virtual UITraitCollection TraitCollection { get; } ``` Modified methods: ```diff -public abstract void TraitCollectionDidChange (UITraitCollection previousTraitCollection) +public virtual void TraitCollectionDidChange (UITraitCollection previousTraitCollection) ``` #### Type Changed: UIKit.IUITraitOverrides Modified methods: ```diff -public abstract bool ContainsTrait (IUITraitDefinition trait) +public virtual bool ContainsTrait (IUITraitDefinition trait) -public abstract void RemoveTrait (IUITraitDefinition trait) +public virtual void RemoveTrait (IUITraitDefinition trait) ``` #### Type Changed: UIKit.IUIUserActivityRestoring Modified methods: ```diff -public abstract void RestoreUserActivityState (Foundation.NSUserActivity activity) +public virtual void RestoreUserActivityState (Foundation.NSUserActivity activity) ``` #### Type Changed: UIKit.IUIVideoEditorControllerDelegate Added methods: ```csharp public virtual void Failed (UIVideoEditorController editor, Foundation.NSError error); public virtual void UserCancelled (UIVideoEditorController editor); public virtual void VideoSaved (UIVideoEditorController editor, string editedVideoPath); ``` #### Type Changed: UIKit.IUIViewAnimating Modified properties: ```diff -public abstract System.Runtime.InteropServices.NFloat FractionComplete { get; set; } +public virtual System.Runtime.InteropServices.NFloat FractionComplete { get; set; } -public abstract bool Reversed { get; set; } +public virtual bool Reversed { get; set; } -public abstract bool Running { get; } +public virtual bool Running { get; } -public abstract UIViewAnimatingState State { get; } +public virtual UIViewAnimatingState State { get; } ``` Modified methods: ```diff -public abstract void FinishAnimation (UIViewAnimatingPosition finalPosition) +public virtual void FinishAnimation (UIViewAnimatingPosition finalPosition) -public abstract void PauseAnimation () +public virtual void PauseAnimation () -public abstract void StartAnimation () +public virtual void StartAnimation () -public abstract void StartAnimation (double delay) +public virtual void StartAnimation (double delay) -public abstract void StopAnimation (bool withoutFinishing) +public virtual void StopAnimation (bool withoutFinishing) ``` #### Type Changed: UIKit.IUIViewControllerAnimatedTransitioning Modified methods: ```diff -public abstract void AnimateTransition (IUIViewControllerContextTransitioning transitionContext) +public virtual void AnimateTransition (IUIViewControllerContextTransitioning transitionContext) -public abstract double TransitionDuration (IUIViewControllerContextTransitioning transitionContext) +public virtual double TransitionDuration (IUIViewControllerContextTransitioning transitionContext) ``` Added methods: ```csharp public virtual void AnimationEnded (bool transitionCompleted); public virtual IUIViewImplicitlyAnimating GetInterruptibleAnimator (IUIViewControllerContextTransitioning transitionContext); ``` #### Type Changed: UIKit.IUIViewControllerContextTransitioning Modified properties: ```diff -public abstract UIView ContainerView { get; } +public virtual UIView ContainerView { get; } -public abstract bool IsAnimated { get; } +public virtual bool IsAnimated { get; } -public abstract bool IsInteractive { get; } +public virtual bool IsInteractive { get; } -public abstract UIModalPresentationStyle PresentationStyle { get; } +public virtual UIModalPresentationStyle PresentationStyle { get; } -public abstract CoreGraphics.CGAffineTransform TargetTransform { get; } +public virtual CoreGraphics.CGAffineTransform TargetTransform { get; } -public abstract bool TransitionWasCancelled { get; } +public virtual bool TransitionWasCancelled { get; } ``` Modified methods: ```diff -public abstract void CancelInteractiveTransition () +public virtual void CancelInteractiveTransition () -public abstract void CompleteTransition (bool didComplete) +public virtual void CompleteTransition (bool didComplete) -public abstract void FinishInteractiveTransition () +public virtual void FinishInteractiveTransition () -public abstract CoreGraphics.CGRect GetFinalFrameForViewController (UIViewController vc) +public virtual CoreGraphics.CGRect GetFinalFrameForViewController (UIViewController vc) -public abstract CoreGraphics.CGRect GetInitialFrameForViewController (UIViewController vc) +public virtual CoreGraphics.CGRect GetInitialFrameForViewController (UIViewController vc) -public abstract UIViewController GetViewControllerForKey (Foundation.NSString uiTransitionKey) +public virtual UIViewController GetViewControllerForKey (Foundation.NSString uiTransitionKey) -public abstract UIView GetViewFor (Foundation.NSString uiTransitionContextToOrFromKey) +public virtual UIView GetViewFor (Foundation.NSString uiTransitionContextToOrFromKey) -public abstract void PauseInteractiveTransition () +public virtual void PauseInteractiveTransition () -public abstract void UpdateInteractiveTransition (System.Runtime.InteropServices.NFloat percentComplete) +public virtual void UpdateInteractiveTransition (System.Runtime.InteropServices.NFloat percentComplete) ``` #### Type Changed: UIKit.IUIViewControllerInteractiveTransitioning Added properties: ```csharp public virtual UIViewAnimationCurve CompletionCurve { get; } public virtual System.Runtime.InteropServices.NFloat CompletionSpeed { get; } public virtual bool WantsInteractiveStart { get; } ``` Modified methods: ```diff -public abstract void StartInteractiveTransition (IUIViewControllerContextTransitioning transitionContext) +public virtual void StartInteractiveTransition (IUIViewControllerContextTransitioning transitionContext) ``` #### Type Changed: UIKit.IUIViewControllerPreviewing Modified properties: ```diff -public abstract UIGestureRecognizer PreviewingGestureRecognizerForFailureRelationship { get; } +public virtual UIGestureRecognizer PreviewingGestureRecognizerForFailureRelationship { get; } -public abstract CoreGraphics.CGRect SourceRect { get; set; } +public virtual CoreGraphics.CGRect SourceRect { get; set; } -public abstract UIView SourceView { get; } +public virtual UIView SourceView { get; } -public abstract Foundation.NSObject WeakDelegate { get; } +public virtual Foundation.NSObject WeakDelegate { get; } ``` #### Type Changed: UIKit.IUIViewControllerPreviewingDelegate Modified methods: ```diff -public abstract void CommitViewController (IUIViewControllerPreviewing previewingContext, UIViewController viewControllerToCommit) +public virtual void CommitViewController (IUIViewControllerPreviewing previewingContext, UIViewController viewControllerToCommit) -public abstract UIViewController GetViewControllerForPreview (IUIViewControllerPreviewing previewingContext, CoreGraphics.CGPoint location) +public virtual UIViewController GetViewControllerForPreview (IUIViewControllerPreviewing previewingContext, CoreGraphics.CGPoint location) ``` #### Type Changed: UIKit.IUIViewControllerTransitionCoordinator Modified methods: ```diff -public abstract bool AnimateAlongsideTransition (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% animate, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% completion) +public virtual bool AnimateAlongsideTransition (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% animate, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% completion) -public abstract bool AnimateAlongsideTransitionInView (UIView view, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% animation, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% completion) +public virtual bool AnimateAlongsideTransitionInView (UIView view, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% animation, System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% completion) -public abstract void NotifyWhenInteractionChanges (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% handler) +public virtual void NotifyWhenInteractionChanges (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% handler) -public abstract void NotifyWhenInteractionEndsUsingBlock (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% handler) +public virtual void NotifyWhenInteractionEndsUsingBlock (System.Action%LESSERTHANREPLACEMENT%IUIViewControllerTransitionCoordinatorContext%GREATERTHANREPLACEMENT% handler) ``` #### Type Changed: UIKit.IUIViewControllerTransitionCoordinatorContext Modified properties: ```diff -public abstract UIViewAnimationCurve CompletionCurve { get; } +public virtual UIViewAnimationCurve CompletionCurve { get; } -public abstract System.Runtime.InteropServices.NFloat CompletionVelocity { get; } +public virtual System.Runtime.InteropServices.NFloat CompletionVelocity { get; } -public abstract UIView ContainerView { get; } +public virtual UIView ContainerView { get; } -public abstract bool InitiallyInteractive { get; } +public virtual bool InitiallyInteractive { get; } -public abstract bool IsAnimated { get; } +public virtual bool IsAnimated { get; } -public abstract bool IsCancelled { get; } +public virtual bool IsCancelled { get; } -public abstract bool IsInteractive { get; } +public virtual bool IsInteractive { get; } -public abstract bool IsInterruptible { get; } +public virtual bool IsInterruptible { get; } -public abstract System.Runtime.InteropServices.NFloat PercentComplete { get; } +public virtual System.Runtime.InteropServices.NFloat PercentComplete { get; } -public abstract UIModalPresentationStyle PresentationStyle { get; } +public virtual UIModalPresentationStyle PresentationStyle { get; } -public abstract double TransitionDuration { get; } +public virtual double TransitionDuration { get; } ``` Modified methods: ```diff -public abstract UIView GetTransitionViewControllerForKey (Foundation.NSString key) +public virtual UIView GetTransitionViewControllerForKey (Foundation.NSString key) -public abstract UIViewController GetViewControllerForKey (Foundation.NSString uiTransitionKey) +public virtual UIViewController GetViewControllerForKey (Foundation.NSString uiTransitionKey) -public abstract CoreGraphics.CGAffineTransform TargetTransform () +public virtual CoreGraphics.CGAffineTransform TargetTransform () ``` #### Type Changed: UIKit.IUIViewControllerTransitioningDelegate Added methods: ```csharp public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForDismissedController (UIViewController dismissed); public virtual IUIViewControllerAnimatedTransitioning GetAnimationControllerForPresentedController (UIViewController presented, UIViewController presenting, UIViewController source); public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForDismissal (IUIViewControllerAnimatedTransitioning animator); public virtual IUIViewControllerInteractiveTransitioning GetInteractionControllerForPresentation (IUIViewControllerAnimatedTransitioning animator); public virtual UIPresentationController GetPresentationControllerForPresentedViewController (UIViewController presentedViewController, UIViewController presentingViewController, UIViewController sourceViewController); ``` #### Type Changed: UIKit.IUIViewImplicitlyAnimating Added methods: ```csharp public virtual void AddAnimations (System.Action animation); public virtual void AddAnimations (System.Action animation, System.Runtime.InteropServices.NFloat delayFactor); public virtual void AddCompletion (System.Action<UIViewAnimatingPosition> completion); public virtual void ContinueAnimation (IUITimingCurveProvider parameters, System.Runtime.InteropServices.NFloat durationFactor); ``` #### Type Changed: UIKit.IUIWindowSceneDelegate Added property: ```csharp public virtual UIWindow Window { get; set; } ``` Added methods: ```csharp public virtual void DidUpdateCoordinateSpace (UIWindowScene windowScene, IUICoordinateSpace previousCoordinateSpace, UIInterfaceOrientation previousInterfaceOrientation, UITraitCollection previousTraitCollection); public virtual void PerformAction (UIWindowScene windowScene, UIApplicationShortcutItem shortcutItem, System.Action<bool> completionHandler); public virtual void UserDidAcceptCloudKitShare (UIWindowScene windowScene, CloudKit.CKShareMetadata cloudKitShareMetadata); ``` #### Type Changed: UIKit.NSMutableParagraphStyle Added property: ```csharp public override NSTextList[] TextLists { get; set; } ``` #### Type Changed: UIKit.UIControl Added method: ```csharp public virtual void PerformPrimaryAction (); ``` #### Type Changed: UIKit.UIDatePickerMode Added value: ```csharp YearAndMonth = 4, ``` #### Type Changed: UIKit.UIDocViewController Obsoleted constructors: ```diff [Obsolete ("Do not use; this constructor doesn't work.")] public UIDocViewController (); ``` #### Type Changed: UIKit.UIDocument Added method: ```csharp public virtual void AccommodatePresentedItemEviction (System.Action<Foundation.NSError> completionHandler); ``` #### Type Changed: UIKit.UIDragItem Added method: ```csharp public virtual void SetNeedsDropPreviewUpdate (); ``` #### Type Changed: UIKit.UIFeedbackGenerator Added interfaces: ```csharp ObjCRuntime.INativeObject System.IDisposable IUIInteraction ``` Added property: ```csharp public virtual UIView View { get; } ``` Added methods: ```csharp public virtual void DidMoveToView (UIView view); protected override void Dispose (bool disposing); public static UIFeedbackGenerator GetFeedbackGenerator (UIView forView); public virtual void WillMoveToView (UIView view); ``` #### Type Changed: UIKit.UIHoverGestureRecognizer Added property: ```csharp public virtual System.Runtime.InteropServices.NFloat RollAngle { get; } ``` #### Type Changed: UIKit.UIImpactFeedbackGenerator Added methods: ```csharp public static UIImpactFeedbackGenerator GetFeedbackGenerator (UIView forView); public static UIImpactFeedbackGenerator GetFeedbackGenerator (UIImpactFeedbackStyle style, UIView view); public virtual void ImpactOccurred (CoreGraphics.CGPoint atLocation); public virtual void ImpactOccurred (System.Runtime.InteropServices.NFloat intensity, CoreGraphics.CGPoint location); ``` #### Type Changed: UIKit.UIMenu Added property: ```csharp public virtual UIMenuDisplayPreferences DisplayPreferences { get; set; } ``` #### Type Changed: UIKit.UINotificationFeedbackGenerator Added methods: ```csharp public static UINotificationFeedbackGenerator GetFeedbackGenerator (UIView forView); public virtual void NotificationOccurred (UINotificationFeedbackType notificationType, CoreGraphics.CGPoint location); ``` #### Type Changed: UIKit.UIPencilInteraction Added constructor: ```csharp public UIPencilInteraction (IUIPencilInteractionDelegate delegate); ``` Added properties: ```csharp public static UIPencilPreferredAction PreferredSqueezeAction { get; } public static bool PrefersHoverToolPreview { get; } ``` #### Type Changed: UIKit.UIPencilInteractionDelegate Added methods: ```csharp public virtual void DidReceiveSqueeze (UIPencilInteraction interaction, UIPencilInteractionSqueeze squeeze); public virtual void DidReceiveTap (UIPencilInteraction interaction, UIPencilInteractionTap tap); ``` #### Type Changed: UIKit.UIPencilInteractionDelegate_Extensions Added methods: ```csharp public static void DidReceiveSqueeze (this IUIPencilInteractionDelegate This, UIPencilInteraction interaction, UIPencilInteractionSqueeze squeeze); public static void DidReceiveTap (this IUIPencilInteractionDelegate This, UIPencilInteraction interaction, UIPencilInteractionTap tap); ``` #### Type Changed: UIKit.UIPencilPreferredAction Added values: ```csharp RunSystemShortcut = 6, ShowContextualPalette = 5, ``` #### Type Changed: UIKit.UIPresentationController Added methods: ```csharp public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action); public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler); public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action); ``` #### Type Changed: UIKit.UIScrollView Added properties: ```csharp public virtual bool BouncesHorizontally { get; set; } public virtual bool BouncesVertically { get; set; } public virtual CoreGraphics.CGPoint ContentAlignmentPoint { get; set; } public virtual bool ScrollAnimating { get; } public virtual bool TransfersHorizontalScrollingToParent { get; set; } public virtual bool TransfersVerticalScrollingToParent { get; set; } public virtual bool ZoomAnimating { get; } ``` Added methods: ```csharp public virtual void StopScrollingAndZooming (); public virtual void WithScrollIndicatorsShown (System.Action forContentOffsetChanges); ``` #### Type Changed: UIKit.UISelectionFeedbackGenerator Added methods: ```csharp public static UISelectionFeedbackGenerator GetFeedbackGenerator (UIView forView); public virtual void SelectionChanged (CoreGraphics.CGPoint location); ``` #### Type Changed: UIKit.UITextContentType Added properties: ```csharp public static Foundation.NSString CellularEid { get; } public static Foundation.NSString CellularImei { get; } ``` #### Type Changed: UIKit.UITextField Added method: ```csharp public virtual CoreGraphics.CGAffineTransform GetCaretTransform (UITextPosition forPosition); ``` #### Type Changed: UIKit.UITextInput_Extensions Added method: ```csharp public static CoreGraphics.CGAffineTransform GetCaretTransform (this IUITextInput This, UITextPosition forPosition); ``` #### Type Changed: UIKit.UITextSelectionRect Added property: ```csharp public virtual CoreGraphics.CGAffineTransform Transform { get; } ``` #### 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; } ``` Added method: ```csharp public virtual CoreGraphics.CGAffineTransform GetCaretTransform (UITextPosition forPosition); ``` #### Type Changed: UIKit.UITouch Added property: ```csharp public virtual System.Runtime.InteropServices.NFloat RollAngle { get; } ``` #### Type Changed: UIKit.UITouchProperties Added value: ```csharp Roll = 16, ``` #### Type Changed: UIKit.UITraitChangeObservable_Extensions Added methods: ```csharp public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, ObjCRuntime.Class[] traits, ObjCRuntime.Selector action); public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler); public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action); ``` #### Type Changed: UIKit.UIView Added methods: ```csharp public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action); public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler); public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action); ``` #### Type Changed: UIKit.UIViewController Added methods: ```csharp public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action); public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler); public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action); ``` #### Type Changed: UIKit.UIWindowScene Added methods: ```csharp public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action); public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler); public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action); ``` #### New Type: UIKit.IUIItemProviderReadingAugmentationProviding ```csharp public interface IUIItemProviderReadingAugmentationProviding : ObjCRuntime.INativeObject, System.IDisposable { // methods public static string[] GetAdditionalLeadingReadableTypeIdentifiersForItemProvider<T> (); public static string[] GetAdditionalTrailingReadableTypeIdentifiersForItemProvider<T> (); public static Foundation.NSObject GetTypeIdentifier<T> (Foundation.NSData data, string typeIdentifier, ObjCRuntime.Class requestedClass, out Foundation.NSError outError); } ``` #### 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); } ``` #### New Type: UIKit.UICanvasFeedbackGenerator ```csharp public class UICanvasFeedbackGenerator : UIKit.UIFeedbackGenerator { // constructors protected UICanvasFeedbackGenerator (Foundation.NSObjectFlag t); protected UICanvasFeedbackGenerator (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual void AlignmentOccurred (CoreGraphics.CGPoint atLocation); public static UICanvasFeedbackGenerator GetFeedbackGenerator (UIView forView); public virtual void PathCompleted (CoreGraphics.CGPoint atLocation); } ``` #### New Type: UIKit.UIMenuDisplayPreferences ```csharp public class UIMenuDisplayPreferences : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public UIMenuDisplayPreferences (); public UIMenuDisplayPreferences (Foundation.NSCoder coder); protected UIMenuDisplayPreferences (Foundation.NSObjectFlag t); protected UIMenuDisplayPreferences (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual IntPtr MaximumNumberOfTitleLines { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: UIKit.UIPencilHoverPose ```csharp public class UIPencilHoverPose : Foundation.NSObject { // constructors protected UIPencilHoverPose (Foundation.NSObjectFlag t); protected UIPencilHoverPose (ObjCRuntime.NativeHandle handle); // properties public virtual System.Runtime.InteropServices.NFloat AltitudeAngle { get; } public virtual System.Runtime.InteropServices.NFloat AzimuthAngle { get; } public virtual CoreGraphics.CGVector AzimuthUnitVector { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual CoreGraphics.CGPoint Location { get; } public virtual System.Runtime.InteropServices.NFloat RollAngle { get; } public virtual System.Runtime.InteropServices.NFloat ZOffset { get; } } ``` #### New Type: UIKit.UIPencilInteractionPhase ```csharp [Serializable] public enum UIPencilInteractionPhase { Began = 0, Cancelled = 3, Changed = 1, Ended = 2, } ``` #### New Type: UIKit.UIPencilInteractionSqueeze ```csharp public class UIPencilInteractionSqueeze : Foundation.NSObject { // constructors protected UIPencilInteractionSqueeze (Foundation.NSObjectFlag t); protected UIPencilInteractionSqueeze (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual UIPencilHoverPose HoverPose { get; } public virtual UIPencilInteractionPhase Phase { get; } public virtual double Timestamp { get; } } ``` #### New Type: UIKit.UIPencilInteractionTap ```csharp public class UIPencilInteractionTap : Foundation.NSObject { // constructors protected UIPencilInteractionTap (Foundation.NSObjectFlag t); protected UIPencilInteractionTap (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual UIPencilHoverPose HoverPose { get; } public virtual double Timestamp { get; } } ``` #### New Type: UIKit.UIStandardTextCursorView ```csharp public class UIStandardTextCursorView : UIKit.UIView, ObjCRuntime.INativeObject, System.IDisposable, IUICoordinateSpace, IUITextCursorView { // constructors public UIStandardTextCursorView (CoreGraphics.CGRect frame); public UIStandardTextCursorView (Foundation.NSCoder coder); protected UIStandardTextCursorView (Foundation.NSObjectFlag t); protected UIStandardTextCursorView (ObjCRuntime.NativeHandle handle); // properties public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance Appearance { get; } public virtual bool Blinking { get; set; } public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance AppearanceWhenContainedIn (System.Type[] containers); public virtual CoreGraphics.CGPoint ConvertPointFromCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace); public virtual CoreGraphics.CGPoint ConvertPointToCoordinateSpace (CoreGraphics.CGPoint point, IUICoordinateSpace coordinateSpace); public virtual CoreGraphics.CGRect ConvertRectFromCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace); public virtual CoreGraphics.CGRect ConvertRectToCoordinateSpace (CoreGraphics.CGRect rect, IUICoordinateSpace coordinateSpace); public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance<T> (); public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance<T> (UITraitCollection traits); public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance (UITraitCollection traits); public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance<T> (UITraitCollection traits, System.Type[] containers); public static UIStandardTextCursorView.UIStandardTextCursorViewAppearance GetAppearance (UITraitCollection traits, System.Type[] containers); public virtual void ResetBlinkAnimation (); // inner types public class UIStandardTextCursorViewAppearance : UIKit.UIView+UIViewAppearance { // constructors protected UIStandardTextCursorView.UIStandardTextCursorViewAppearance (IntPtr handle); } } ``` #### New Type: UIKit.UITextCursorDropPositionAnimator ```csharp public class UITextCursorDropPositionAnimator : Foundation.NSObject { // constructors protected UITextCursorDropPositionAnimator (Foundation.NSObjectFlag t); protected UITextCursorDropPositionAnimator (ObjCRuntime.NativeHandle handle); public UITextCursorDropPositionAnimator (IUITextCursorView cursorView, IUITextInput textInput); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual IUITextCursorView CursorView { get; } public virtual IUITextInput TextInput { get; } // methods public virtual void AnimateAlongsideChanges (System.Action animation, System.Action completion); public virtual System.Threading.Tasks.Task AnimateAlongsideChangesAsync (System.Action animation); public virtual void PlaceCursor (UITextPosition atPosition, bool animated); public virtual void SetCursorVisible (bool visible, bool animated); } ``` ### Namespace UniformTypeIdentifiers #### Type Changed: UniformTypeIdentifiers.UTTypes Added properties: ```csharp public static UTType Css { get; } public static UTType Dng { get; } public static UTType Exr { get; } public static UTType GeoJson { get; } public static UTType Heics { get; } public static UTType LinkPresentationMetadata { get; } public static UTType TarArchive { get; } ``` ### Namespace UserNotifications #### Type Changed: UserNotifications.IUNUserNotificationCenterDelegate Added methods: ```csharp public virtual void DidReceiveNotificationResponse (UNUserNotificationCenter center, UNNotificationResponse response, System.Action completionHandler); public virtual void OpenSettings (UNUserNotificationCenter center, UNNotification notification); public virtual void WillPresentNotification (UNUserNotificationCenter center, UNNotification notification, System.Action<UNNotificationPresentationOptions> completionHandler); ``` #### New Type: UserNotifications.UNNotificationAttributedMessageContext ```csharp public class UNNotificationAttributedMessageContext : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUNNotificationContentProviding { // constructors protected UNNotificationAttributedMessageContext (Foundation.NSObjectFlag t); protected UNNotificationAttributedMessageContext (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public static UNNotificationAttributedMessageContext Create (Intents.INSendMessageIntent sendMessageIntent, Foundation.NSAttributedString attributedContent); } ``` ### Namespace UserNotificationsUI #### Type Changed: UserNotificationsUI.IUNNotificationContentExtension Added properties: ```csharp public virtual CoreGraphics.CGRect MediaPlayPauseButtonFrame { get; } public virtual UIKit.UIColor MediaPlayPauseButtonTintColor { get; } public virtual UNNotificationContentExtensionMediaPlayPauseButtonType MediaPlayPauseButtonType { get; } ``` Modified methods: ```diff -public abstract void DidReceiveNotification (UserNotifications.UNNotification notification) +public virtual void DidReceiveNotification (UserNotifications.UNNotification notification) ``` Added methods: ```csharp public virtual void DidReceiveNotificationResponse (UserNotifications.UNNotificationResponse response, System.Action<UNNotificationContentExtensionResponseOption> completion); public virtual void PauseMedia (); public virtual void PlayMedia (); ``` ### Namespace Vision #### Type Changed: Vision.IVNFaceObservationAccepting Modified properties: ```diff -public abstract VNFaceObservation[] InputFaceObservations { get; set; } +public virtual VNFaceObservation[] InputFaceObservations { get; set; } ``` #### Type Changed: Vision.IVNRequestProgressProviding Modified properties: ```diff -public abstract bool Indeterminate { get; } +public virtual bool Indeterminate { get; } -public abstract VNRequestProgressHandler ProgressHandler { get; set; } +public virtual VNRequestProgressHandler ProgressHandler { get; set; } ``` #### Type Changed: Vision.IVNRequestRevisionProviding Modified properties: ```diff -public abstract VNRequestRevision RequestRevision { get; } +public virtual VNRequestRevision RequestRevision { get; } ``` #### 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 VisionKit #### Type Changed: VisionKit.IVNDocumentCameraViewControllerDelegate Added methods: ```csharp public virtual void DidCancel (VNDocumentCameraViewController controller); public virtual void DidFail (VNDocumentCameraViewController controller, Foundation.NSError error); public virtual void DidFinish (VNDocumentCameraViewController controller, VNDocumentCameraScan scan); ``` ### Namespace WebKit #### Type Changed: WebKit.IWKDownloadDelegate Modified methods: ```diff -public abstract void DecideDestination (WKDownload download, Foundation.NSUrlResponse response, string suggestedFilename, System.Action%LESSERTHANREPLACEMENT%Foundation.NSUrl%GREATERTHANREPLACEMENT% completionHandler) +public virtual void DecideDestination (WKDownload download, Foundation.NSUrlResponse response, string suggestedFilename, System.Action%LESSERTHANREPLACEMENT%Foundation.NSUrl%GREATERTHANREPLACEMENT% completionHandler) ``` Added methods: ```csharp public virtual void DidFail (WKDownload download, Foundation.NSError error, Foundation.NSData resumeData); public virtual void DidFinish (WKDownload download); public virtual void DidReceiveAuthenticationChallenge (WKDownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler); public virtual void WillPerformHttpRedirection (WKDownload download, Foundation.NSHttpUrlResponse response, Foundation.NSUrlRequest request, System.Action<WKDownloadRedirectPolicy> decisionHandler); ``` #### Type Changed: WebKit.IWKHttpCookieStoreObserver Added method: ```csharp public virtual void CookiesDidChangeInCookieStore (WKHttpCookieStore cookieStore); ``` #### Type Changed: WebKit.IWKNavigationDelegate Added methods: ```csharp public virtual void ContentProcessDidTerminate (WKWebView webView); public virtual void DecidePolicy (WKWebView webView, WKNavigationAction navigationAction, System.Action<WKNavigationActionPolicy> decisionHandler); public virtual void DecidePolicy (WKWebView webView, WKNavigationResponse navigationResponse, System.Action<WKNavigationResponsePolicy> decisionHandler); public virtual void DecidePolicy (WKWebView webView, WKNavigationAction navigationAction, WKWebpagePreferences preferences, System.Action<WKNavigationActionPolicy,WebKit.WKWebpagePreferences> decisionHandler); public virtual void DidCommitNavigation (WKWebView webView, WKNavigation navigation); public virtual void DidFailNavigation (WKWebView webView, WKNavigation navigation, Foundation.NSError error); public virtual void DidFailProvisionalNavigation (WKWebView webView, WKNavigation navigation, Foundation.NSError error); public virtual void DidFinishNavigation (WKWebView webView, WKNavigation navigation); public virtual void DidReceiveAuthenticationChallenge (WKWebView webView, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler); public virtual void DidReceiveServerRedirectForProvisionalNavigation (WKWebView webView, WKNavigation navigation); public virtual void DidStartProvisionalNavigation (WKWebView webView, WKNavigation navigation); public virtual void NavigationActionDidBecomeDownload (WKWebView webView, WKNavigationAction navigationAction, WKDownload download); public virtual void NavigationResponseDidBecomeDownload (WKWebView webView, WKNavigationResponse navigationResponse, WKDownload download); public virtual void ShouldAllowDeprecatedTls (WKWebView webView, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<bool> decisionHandler); ``` #### Type Changed: WebKit.IWKPreviewActionItem Modified properties: ```diff -public abstract Foundation.NSString Identifier { get; } +public virtual Foundation.NSString Identifier { get; } ``` #### Type Changed: WebKit.IWKScriptMessageHandler Modified methods: ```diff -public abstract void DidReceiveScriptMessage (WKUserContentController userContentController, WKScriptMessage message) +public virtual void DidReceiveScriptMessage (WKUserContentController userContentController, WKScriptMessage message) ``` #### Type Changed: WebKit.IWKScriptMessageHandlerWithReply Modified methods: ```diff -public abstract void DidReceiveScriptMessage (WKUserContentController userContentController, WKScriptMessage message, System.Action%LESSERTHANREPLACEMENT%Foundation.NSObject,Foundation.NSString%GREATERTHANREPLACEMENT% replyHandler) +public virtual void DidReceiveScriptMessage (WKUserContentController userContentController, WKScriptMessage message, System.Action%LESSERTHANREPLACEMENT%Foundation.NSObject,Foundation.NSString%GREATERTHANREPLACEMENT% replyHandler) ``` #### Type Changed: WebKit.IWKUIDelegate Added methods: ```csharp public virtual void CommitPreviewingViewController (WKWebView webView, UIKit.UIViewController previewingViewController); public virtual void ContextMenuDidEnd (WKWebView webView, WKContextMenuElementInfo elementInfo); public virtual void ContextMenuWillPresent (WKWebView webView, WKContextMenuElementInfo elementInfo); public virtual WKWebView CreateWebView (WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures); public virtual void DidClose (WKWebView webView); public virtual UIKit.UIViewController GetPreviewingViewController (WKWebView webView, WKPreviewElementInfo elementInfo, IWKPreviewActionItem[] previewActions); public virtual void RequestDeviceOrientationAndMotionPermission (WKWebView webView, WKSecurityOrigin origin, WKFrameInfo frame, System.Action<WKPermissionDecision> decisionHandler); public virtual System.Threading.Tasks.Task<WKPermissionDecision> RequestDeviceOrientationAndMotionPermissionAsync (WKWebView webView, WKSecurityOrigin origin, WKFrameInfo frame); public virtual void RequestMediaCapturePermission (WKWebView webView, WKSecurityOrigin origin, WKFrameInfo frame, WKMediaCaptureType type, System.Action<WKPermissionDecision> decisionHandler); public virtual System.Threading.Tasks.Task<WKPermissionDecision> RequestMediaCapturePermissionAsync (WKWebView webView, WKSecurityOrigin origin, WKFrameInfo frame, WKMediaCaptureType type); public virtual void RunJavaScriptAlertPanel (WKWebView webView, string message, WKFrameInfo frame, System.Action completionHandler); public virtual void RunJavaScriptConfirmPanel (WKWebView webView, string message, WKFrameInfo frame, System.Action<bool> completionHandler); public virtual void RunJavaScriptTextInputPanel (WKWebView webView, string prompt, string defaultText, WKFrameInfo frame, System.Action<string> completionHandler); public virtual void SetContextMenuConfiguration (WKWebView webView, WKContextMenuElementInfo elementInfo, System.Action<UIKit.UIContextMenuConfiguration> completionHandler); public virtual bool ShouldPreviewElement (WKWebView webView, WKPreviewElementInfo elementInfo); public virtual void ShowLockDownMode (WKWebView webView, string firstUseMessage, System.Action<WKDialogResult> completionHandler); public virtual System.Threading.Tasks.Task<WKDialogResult> ShowLockDownModeAsync (WKWebView webView, string firstUseMessage); public virtual void WillCommitContextMenu (WKWebView webView, WKContextMenuElementInfo elementInfo, UIKit.IUIContextMenuInteractionCommitAnimating animator); public virtual void WillDismissEditMenu (WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator); public virtual void WillPresentEditMenu (WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator); ``` #### Type Changed: WebKit.IWKUrlSchemeHandler Modified methods: ```diff -public abstract void StartUrlSchemeTask (WKWebView webView, IWKUrlSchemeTask urlSchemeTask) +public virtual void StartUrlSchemeTask (WKWebView webView, IWKUrlSchemeTask urlSchemeTask) -public abstract void StopUrlSchemeTask (WKWebView webView, IWKUrlSchemeTask urlSchemeTask) +public virtual void StopUrlSchemeTask (WKWebView webView, IWKUrlSchemeTask urlSchemeTask) ``` #### Type Changed: WebKit.IWKUrlSchemeTask Modified properties: ```diff -public abstract Foundation.NSUrlRequest Request { get; } +public virtual Foundation.NSUrlRequest Request { get; } ``` Modified methods: ```diff -public abstract void DidFailWithError (Foundation.NSError error) +public virtual void DidFailWithError (Foundation.NSError error) -public abstract void DidFinish () +public virtual void DidFinish () -public abstract void DidReceiveData (Foundation.NSData data) +public virtual void DidReceiveData (Foundation.NSData data) -public abstract void DidReceiveResponse (Foundation.NSUrlResponse response) +public virtual void DidReceiveResponse (Foundation.NSUrlResponse response) ``` #### 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, } ``` ### New Namespace CryptoTokenKit #### New Type: CryptoTokenKit.ITKSmartCardTokenDriverDelegate ```csharp public interface ITKSmartCardTokenDriverDelegate : ITKTokenDriverDelegate, ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual TKSmartCardToken CreateToken (TKSmartCardTokenDriver driver, TKSmartCard smartCard, Foundation.NSData aid, out Foundation.NSError error); } ``` #### New Type: CryptoTokenKit.ITKSmartCardUserInteractionDelegate ```csharp public interface ITKSmartCardUserInteractionDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void CharacterEntered (TKSmartCardUserInteraction interaction); public virtual void CorrectionKeyPressed (TKSmartCardUserInteraction interaction); public virtual void InvalidCharacterEntered (TKSmartCardUserInteraction interaction); public virtual void NewPinConfirmationRequested (TKSmartCardUserInteraction interaction); public virtual void NewPinRequested (TKSmartCardUserInteraction interaction); public virtual void OldPinRequested (TKSmartCardUserInteraction interaction); public virtual void ValidationKeyPressed (TKSmartCardUserInteraction interaction); } ``` #### New Type: CryptoTokenKit.ITKTokenDelegate ```csharp public interface ITKTokenDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual TKTokenSession CreateSession (TKToken token, out Foundation.NSError error); public virtual void TerminateSession (TKToken token, TKTokenSession session); } ``` #### New Type: CryptoTokenKit.ITKTokenDriverDelegate ```csharp public interface ITKTokenDriverDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual TKToken GetToken (TKTokenDriver driver, TKTokenConfiguration configuration, out Foundation.NSError error); public virtual void TerminateToken (TKTokenDriver driver, TKToken token); } ``` #### New Type: CryptoTokenKit.ITKTokenSessionDelegate ```csharp public interface ITKTokenSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual TKTokenAuthOperation BeginAuthentication (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject constraint, out Foundation.NSError error); public virtual Foundation.NSData DecryptData (TKTokenSession session, Foundation.NSData ciphertext, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error); public virtual Foundation.NSData PerformKeyExchange (TKTokenSession session, Foundation.NSData otherPartyPublicKeyData, Foundation.NSObject objectId, TKTokenKeyAlgorithm algorithm, TKTokenKeyExchangeParameters parameters, out Foundation.NSError error); public virtual Foundation.NSData SignData (TKTokenSession session, Foundation.NSData dataToSign, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error); public virtual bool SupportsOperation (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm); } ``` #### New Type: CryptoTokenKit.TKBerTlvRecord ```csharp public class TKBerTlvRecord : CryptoTokenKit.TKTlvRecord { // constructors public TKBerTlvRecord (); protected TKBerTlvRecord (Foundation.NSObjectFlag t); protected TKBerTlvRecord (ObjCRuntime.NativeHandle handle); public TKBerTlvRecord (ulong tag, TKTlvRecord[] records); public TKBerTlvRecord (ulong tag, Foundation.NSData value); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public static Foundation.NSData GetData (ulong tag); } ``` #### New Type: CryptoTokenKit.TKCompactTlvRecord ```csharp public class TKCompactTlvRecord : CryptoTokenKit.TKTlvRecord { // constructors public TKCompactTlvRecord (); protected TKCompactTlvRecord (Foundation.NSObjectFlag t); protected TKCompactTlvRecord (ObjCRuntime.NativeHandle handle); public TKCompactTlvRecord (byte tag, Foundation.NSData value); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: CryptoTokenKit.TKErrorCode ```csharp [Serializable] public enum TKErrorCode { AuthenticationFailed = -5, AuthenticationNeeded = -9, BadParameter = -8, CanceledByUser = -4, CommunicationError = -2, CorruptedData = -3, NotImplemented = -1, ObjectNotFound = -6, TokenNotFound = -7, } ``` #### New Type: CryptoTokenKit.TKErrorCodeExtensions ```csharp public static class TKErrorCodeExtensions { // methods public static Foundation.NSString GetDomain (this TKErrorCode self); } ``` #### New Type: CryptoTokenKit.TKGetSlotCallback ```csharp public sealed delegate TKGetSlotCallback : System.MulticastDelegate { // constructors public TKGetSlotCallback (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (TKSmartCardSlot slot, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (TKSmartCardSlot slot); } ``` #### New Type: CryptoTokenKit.TKSimpleTlvRecord ```csharp public class TKSimpleTlvRecord : CryptoTokenKit.TKTlvRecord { // constructors public TKSimpleTlvRecord (); protected TKSimpleTlvRecord (Foundation.NSObjectFlag t); protected TKSimpleTlvRecord (ObjCRuntime.NativeHandle handle); public TKSimpleTlvRecord (byte tag, Foundation.NSData value); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: CryptoTokenKit.TKSmartCard ```csharp public class TKSmartCard : Foundation.NSObject { // constructors public TKSmartCard (); protected TKSmartCard (Foundation.NSObjectFlag t); protected TKSmartCard (ObjCRuntime.NativeHandle handle); // properties public virtual TKSmartCardProtocol AllowedProtocols { get; set; } public virtual byte Cla { get; set; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSObject Context { get; set; } public virtual TKSmartCardProtocol CurrentProtocol { get; } public virtual bool Sensitive { get; set; } public virtual TKSmartCardSlot Slot { get; } public virtual bool UseCommandChaining { get; set; } public virtual bool UseExtendedLength { get; set; } public virtual bool Valid { get; } // methods public virtual void BeginSession (System.Action<System.Boolean,Foundation.NSError> reply); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> BeginSessionAsync (); public virtual TKSmartCardUserInteractionForSecurePinChange CreateUserInteractionForSecurePinChange (TKSmartCardPinFormat pinFormat, Foundation.NSData apdu, IntPtr currentPinByteOffset, IntPtr newPinByteOffset); public virtual TKSmartCardUserInteractionForSecurePinVerification CreateUserInteractionForSecurePinVerification (TKSmartCardPinFormat pinFormat, Foundation.NSData apdu, IntPtr pinByteOffset); protected override void Dispose (bool disposing); public virtual void EndSession (); public virtual bool ExecuteBlock (out Foundation.NSError error, TKSmartCardExecuteCallback block); public virtual void Send (byte ins, byte p1, byte p2, Foundation.NSData requestData, Foundation.NSNumber le, TKSmartCardSendCallback reply); public virtual Foundation.NSData Send (byte ins, byte p1, byte p2, Foundation.NSData requestData, Foundation.NSNumber le, out ushort sw, out Foundation.NSError error); public virtual void TransmitRequest (Foundation.NSData request, System.Action<Foundation.NSData,Foundation.NSError> reply); public virtual System.Threading.Tasks.Task<Foundation.NSData> TransmitRequestAsync (Foundation.NSData request); } ``` #### New Type: CryptoTokenKit.TKSmartCardAtr ```csharp public class TKSmartCardAtr : Foundation.NSObject { // constructors public TKSmartCardAtr (Foundation.NSData bytes); protected TKSmartCardAtr (Foundation.NSObjectFlag t); protected TKSmartCardAtr (ObjCRuntime.NativeHandle handle); public TKSmartCardAtr (System.Func<int> source); // properties public virtual Foundation.NSData Bytes { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSData HistoricalBytes { get; } public virtual TKCompactTlvRecord[] HistoricalRecords { get; } public virtual TKSmartCardProtocol[] Protocols { get; } // methods public virtual TKSmartCardAtrInterfaceGroup GetInterfaceGroup (TKSmartCardProtocol protocol); public virtual TKSmartCardAtrInterfaceGroup GetInterfaceGroup (IntPtr index); } ``` #### New Type: CryptoTokenKit.TKSmartCardAtrInterfaceGroup ```csharp public class TKSmartCardAtrInterfaceGroup : Foundation.NSObject { // constructors public TKSmartCardAtrInterfaceGroup (); protected TKSmartCardAtrInterfaceGroup (Foundation.NSObjectFlag t); protected TKSmartCardAtrInterfaceGroup (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSNumber Protocol { get; } public virtual Foundation.NSNumber TA { get; } public virtual Foundation.NSNumber TB { get; } public virtual Foundation.NSNumber TC { get; } } ``` #### New Type: CryptoTokenKit.TKSmartCardExecuteCallback ```csharp public sealed delegate TKSmartCardExecuteCallback : System.MulticastDelegate { // constructors public TKSmartCardExecuteCallback (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (out Foundation.NSError error, System.AsyncCallback callback, object object); public virtual bool EndInvoke (out Foundation.NSError error, System.IAsyncResult result); public virtual bool Invoke (out Foundation.NSError error); } ``` #### New Type: CryptoTokenKit.TKSmartCardPinCharset ```csharp [Serializable] public enum TKSmartCardPinCharset { Alphanumeric = 1, Numeric = 0, UpperAlphanumeric = 2, } ``` #### New Type: CryptoTokenKit.TKSmartCardPinCompletion ```csharp [Serializable] [Flags] public enum TKSmartCardPinCompletion { Key = 2, MaxLength = 1, Timeout = 4, } ``` #### New Type: CryptoTokenKit.TKSmartCardPinConfirmation ```csharp [Serializable] [Flags] public enum TKSmartCardPinConfirmation { Current = 2, New = 1, None = 0, } ``` #### New Type: CryptoTokenKit.TKSmartCardPinEncoding ```csharp [Serializable] public enum TKSmartCardPinEncoding { Ascii = 1, Bcd = 2, Binary = 0, } ``` #### New Type: CryptoTokenKit.TKSmartCardPinFormat ```csharp public class TKSmartCardPinFormat : Foundation.NSObject { // constructors public TKSmartCardPinFormat (); protected TKSmartCardPinFormat (Foundation.NSObjectFlag t); protected TKSmartCardPinFormat (ObjCRuntime.NativeHandle handle); // properties public virtual TKSmartCardPinCharset Charset { get; set; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual TKSmartCardPinEncoding Encoding { get; set; } public virtual IntPtr MaxPinLength { get; set; } public virtual IntPtr MinPinLength { get; set; } public virtual IntPtr PinBitOffset { get; set; } public virtual IntPtr PinBlockByteLength { get; set; } public virtual TKSmartCardPinJustification PinJustification { get; set; } public virtual IntPtr PinLengthBitOffset { get; set; } public virtual IntPtr PinLengthBitSize { get; set; } } ``` #### New Type: CryptoTokenKit.TKSmartCardPinJustification ```csharp [Serializable] public enum TKSmartCardPinJustification { Left = 0, Right = 1, } ``` #### New Type: CryptoTokenKit.TKSmartCardProtocol ```csharp [Serializable] [Flags] public enum TKSmartCardProtocol { Any = 65535, None = 0, T0 = 1, T1 = 2, T15 = 32768, } ``` #### New Type: CryptoTokenKit.TKSmartCardSendCallback ```csharp public sealed delegate TKSmartCardSendCallback : System.MulticastDelegate { // constructors public TKSmartCardSendCallback (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (Foundation.NSData replyData, ushort sq, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (Foundation.NSData replyData, ushort sq, Foundation.NSError error); } ``` #### New Type: CryptoTokenKit.TKSmartCardSlot ```csharp public class TKSmartCardSlot : Foundation.NSObject { // constructors public TKSmartCardSlot (); protected TKSmartCardSlot (Foundation.NSObjectFlag t); protected TKSmartCardSlot (ObjCRuntime.NativeHandle handle); // properties public virtual TKSmartCardAtr Atr { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual IntPtr MaxInputLength { get; } public virtual IntPtr MaxOutputLength { get; } public virtual string Name { get; } public virtual TKSmartCardSlotState State { get; } // methods public virtual TKSmartCard MakeSmartCard (); } ``` #### New Type: CryptoTokenKit.TKSmartCardSlotManager ```csharp public class TKSmartCardSlotManager : Foundation.NSObject { // constructors protected TKSmartCardSlotManager (Foundation.NSObjectFlag t); protected TKSmartCardSlotManager (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public static TKSmartCardSlotManager DefaultManager { get; } public virtual string[] SlotNames { get; } // methods public virtual TKSmartCardSlot GetSlot (string name); public virtual void GetSlot (string name, TKGetSlotCallback reply); public virtual System.Threading.Tasks.Task<TKSmartCardSlot> GetSlotAsync (string name); } ``` #### New Type: CryptoTokenKit.TKSmartCardSlotState ```csharp [Serializable] public enum TKSmartCardSlotState { Empty = 1, Missing = 0, MuteCard = 3, Probing = 2, ValidCard = 4, } ``` #### New Type: CryptoTokenKit.TKSmartCardToken ```csharp public class TKSmartCardToken : CryptoTokenKit.TKToken { // constructors public TKSmartCardToken (); protected TKSmartCardToken (Foundation.NSObjectFlag t); protected TKSmartCardToken (ObjCRuntime.NativeHandle handle); public TKSmartCardToken (TKSmartCard smartCard, Foundation.NSData aid, string instanceId, TKSmartCardTokenDriver tokenDriver); // properties public virtual Foundation.NSData Aid { get; } public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: CryptoTokenKit.TKSmartCardTokenDriver ```csharp public class TKSmartCardTokenDriver : CryptoTokenKit.TKTokenDriver { // constructors public TKSmartCardTokenDriver (); protected TKSmartCardTokenDriver (Foundation.NSObjectFlag t); protected TKSmartCardTokenDriver (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: CryptoTokenKit.TKSmartCardTokenSession ```csharp public class TKSmartCardTokenSession : CryptoTokenKit.TKTokenSession { // constructors public TKSmartCardTokenSession (); public TKSmartCardTokenSession (TKToken token); protected TKSmartCardTokenSession (Foundation.NSObjectFlag t); protected TKSmartCardTokenSession (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual TKSmartCard SmartCard { get; } } ``` #### New Type: CryptoTokenKit.TKSmartCardUserInteraction ```csharp public class TKSmartCardUserInteraction : Foundation.NSObject { // constructors public TKSmartCardUserInteraction (); protected TKSmartCardUserInteraction (Foundation.NSObjectFlag t); protected TKSmartCardUserInteraction (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public ITKSmartCardUserInteractionDelegate Delegate { get; set; } public virtual double InitialTimeout { get; set; } public virtual double InteractionTimeout { get; set; } public virtual Foundation.NSObject WeakDelegate { get; set; } // methods public virtual bool Cancel (); protected override void Dispose (bool disposing); public virtual void Run (System.Action<System.Boolean,Foundation.NSError> reply); public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RunAsync (); } ``` #### New Type: CryptoTokenKit.TKSmartCardUserInteractionDelegate_Extensions ```csharp public static class TKSmartCardUserInteractionDelegate_Extensions { // methods public static void CharacterEntered (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction); public static void CorrectionKeyPressed (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction); public static void InvalidCharacterEntered (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction); public static void NewPinConfirmationRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction); public static void NewPinRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction); public static void OldPinRequested (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction); public static void ValidationKeyPressed (this ITKSmartCardUserInteractionDelegate This, TKSmartCardUserInteraction interaction); } ``` #### New Type: CryptoTokenKit.TKSmartCardUserInteractionForPinOperation ```csharp public class TKSmartCardUserInteractionForPinOperation : CryptoTokenKit.TKSmartCardUserInteraction { // constructors public TKSmartCardUserInteractionForPinOperation (); protected TKSmartCardUserInteractionForPinOperation (Foundation.NSObjectFlag t); protected TKSmartCardUserInteractionForPinOperation (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSLocale Locale { get; set; } public virtual TKSmartCardPinCompletion PinCompletion { get; set; } public virtual Foundation.NSNumber[] PinMessageIndices { get; set; } public virtual Foundation.NSData ResultData { get; set; } public virtual ushort ResultSW { get; set; } // methods protected override void Dispose (bool disposing); } ``` #### New Type: CryptoTokenKit.TKSmartCardUserInteractionForSecurePinChange ```csharp public class TKSmartCardUserInteractionForSecurePinChange : CryptoTokenKit.TKSmartCardUserInteractionForPinOperation { // constructors public TKSmartCardUserInteractionForSecurePinChange (); protected TKSmartCardUserInteractionForSecurePinChange (Foundation.NSObjectFlag t); protected TKSmartCardUserInteractionForSecurePinChange (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual TKSmartCardPinConfirmation PinConfirmation { get; set; } } ``` #### New Type: CryptoTokenKit.TKSmartCardUserInteractionForSecurePinVerification ```csharp public class TKSmartCardUserInteractionForSecurePinVerification : CryptoTokenKit.TKSmartCardUserInteractionForPinOperation { // constructors public TKSmartCardUserInteractionForSecurePinVerification (); protected TKSmartCardUserInteractionForSecurePinVerification (Foundation.NSObjectFlag t); protected TKSmartCardUserInteractionForSecurePinVerification (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } } ``` #### New Type: CryptoTokenKit.TKTlvRecord ```csharp public class TKTlvRecord : Foundation.NSObject { // constructors protected TKTlvRecord (Foundation.NSObjectFlag t); protected TKTlvRecord (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSData Data { get; } public virtual ulong Tag { get; } public virtual Foundation.NSData Value { get; } // methods public static TKTlvRecord CreateRecord (Foundation.NSData data); public static TKTlvRecord[] CreateSequenceOfRecords (Foundation.NSData data); } ``` #### New Type: CryptoTokenKit.TKToken ```csharp public class TKToken : Foundation.NSObject { // constructors protected TKToken (Foundation.NSObjectFlag t); protected TKToken (ObjCRuntime.NativeHandle handle); public TKToken (TKTokenDriver tokenDriver, string instanceId); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual TKTokenConfiguration Configuration { get; } public ITKTokenDelegate Delegate { get; set; } public virtual TKTokenKeychainContents KeychainContents { get; } public virtual TKTokenDriver TokenDriver { get; } public virtual Foundation.NSObject WeakDelegate { get; set; } // methods protected override void Dispose (bool disposing); } ``` #### New Type: CryptoTokenKit.TKTokenAuthOperation ```csharp public class TKTokenAuthOperation : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public TKTokenAuthOperation (); public TKTokenAuthOperation (Foundation.NSCoder coder); protected TKTokenAuthOperation (Foundation.NSObjectFlag t); protected TKTokenAuthOperation (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual void EncodeTo (Foundation.NSCoder encoder); public virtual bool Finish (out Foundation.NSError error); } ``` #### New Type: CryptoTokenKit.TKTokenConfiguration ```csharp public class TKTokenConfiguration : Foundation.NSObject { // constructors protected TKTokenConfiguration (Foundation.NSObjectFlag t); protected TKTokenConfiguration (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSData ConfigurationData { get; set; } public virtual string InstanceId { get; } public virtual TKTokenKeychainItem[] KeychainItems { get; set; } // methods public virtual TKTokenKeychainCertificate GetCertificate (Foundation.NSObject objectId, out Foundation.NSError error); public virtual TKTokenKeychainKey GetKey (Foundation.NSObject objectId, out Foundation.NSError error); } ``` #### New Type: CryptoTokenKit.TKTokenDelegate ```csharp public abstract class TKTokenDelegate : Foundation.NSObject, ITKTokenDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected TKTokenDelegate (); protected TKTokenDelegate (Foundation.NSObjectFlag t); protected TKTokenDelegate (ObjCRuntime.NativeHandle handle); // methods public virtual TKTokenSession CreateSession (TKToken token, out Foundation.NSError error); public virtual void TerminateSession (TKToken token, TKTokenSession session); } ``` #### New Type: CryptoTokenKit.TKTokenDelegate_Extensions ```csharp public static class TKTokenDelegate_Extensions { // methods public static void TerminateSession (this ITKTokenDelegate This, TKToken token, TKTokenSession session); } ``` #### New Type: CryptoTokenKit.TKTokenDriver ```csharp public class TKTokenDriver : Foundation.NSObject { // constructors public TKTokenDriver (); protected TKTokenDriver (Foundation.NSObjectFlag t); protected TKTokenDriver (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public ITKTokenDriverDelegate Delegate { get; set; } public virtual Foundation.NSObject WeakDelegate { get; set; } // methods protected override void Dispose (bool disposing); } ``` #### New Type: CryptoTokenKit.TKTokenDriverConfiguration ```csharp public class TKTokenDriverConfiguration : Foundation.NSObject { // constructors protected TKTokenDriverConfiguration (Foundation.NSObjectFlag t); protected TKTokenDriverConfiguration (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string ClassId { get; } public static Foundation.NSDictionary<Foundation.NSString,CryptoTokenKit.TKTokenDriverConfiguration> DriverConfigurations { get; } public virtual Foundation.NSDictionary<Foundation.NSString,CryptoTokenKit.TKTokenConfiguration> TokenConfigurations { get; } // methods public virtual TKTokenConfiguration AddTokenConfiguration (string instanceId); public virtual void RemoveTokenConfiguration (string instanceId); } ``` #### New Type: CryptoTokenKit.TKTokenDriverDelegate ```csharp public class TKTokenDriverDelegate : Foundation.NSObject, ITKTokenDriverDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors public TKTokenDriverDelegate (); protected TKTokenDriverDelegate (Foundation.NSObjectFlag t); protected TKTokenDriverDelegate (ObjCRuntime.NativeHandle handle); // methods public virtual TKToken GetToken (TKTokenDriver driver, TKTokenConfiguration configuration, out Foundation.NSError error); public virtual void TerminateToken (TKTokenDriver driver, TKToken token); } ``` #### New Type: CryptoTokenKit.TKTokenDriverDelegate_Extensions ```csharp public static class TKTokenDriverDelegate_Extensions { // methods public static TKToken GetToken (this ITKTokenDriverDelegate This, TKTokenDriver driver, TKTokenConfiguration configuration, out Foundation.NSError error); public static void TerminateToken (this ITKTokenDriverDelegate This, TKTokenDriver driver, TKToken token); } ``` #### New Type: CryptoTokenKit.TKTokenKeyAlgorithm ```csharp public class TKTokenKeyAlgorithm : Foundation.NSObject { // constructors protected TKTokenKeyAlgorithm (Foundation.NSObjectFlag t); protected TKTokenKeyAlgorithm (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } // methods public virtual bool IsAlgorithm (Security.SecKeyAlgorithm algorithm); public virtual bool SupportsAlgorithm (Security.SecKeyAlgorithm algorithm); } ``` #### New Type: CryptoTokenKit.TKTokenKeyExchangeParameters ```csharp public class TKTokenKeyExchangeParameters : Foundation.NSObject { // constructors public TKTokenKeyExchangeParameters (); protected TKTokenKeyExchangeParameters (Foundation.NSObjectFlag t); protected TKTokenKeyExchangeParameters (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual IntPtr RequestedSize { get; } public virtual Foundation.NSData SharedInfo { get; } } ``` #### New Type: CryptoTokenKit.TKTokenKeychainCertificate ```csharp public class TKTokenKeychainCertificate : CryptoTokenKit.TKTokenKeychainItem { // constructors public TKTokenKeychainCertificate (); protected TKTokenKeychainCertificate (Foundation.NSObjectFlag t); protected TKTokenKeychainCertificate (ObjCRuntime.NativeHandle handle); public TKTokenKeychainCertificate (Security.SecKeyAlgorithm certificateRef, Foundation.NSObject objectId); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSData Data { get; } } ``` #### New Type: CryptoTokenKit.TKTokenKeychainContents ```csharp public class TKTokenKeychainContents : Foundation.NSObject { // constructors protected TKTokenKeychainContents (Foundation.NSObjectFlag t); protected TKTokenKeychainContents (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual TKTokenKeychainItem[] Items { get; } // methods public virtual void Fill (TKTokenKeychainItem[] items); public virtual TKTokenKeychainCertificate GetCertificate (Foundation.NSObject objectId, out Foundation.NSError error); public virtual TKTokenKeychainKey GetKey (Foundation.NSObject objectId, out Foundation.NSError error); } ``` #### New Type: CryptoTokenKit.TKTokenKeychainItem ```csharp public class TKTokenKeychainItem : Foundation.NSObject { // constructors public TKTokenKeychainItem (Foundation.NSObject objectId); protected TKTokenKeychainItem (Foundation.NSObjectFlag t); protected TKTokenKeychainItem (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual Foundation.NSDictionary<Foundation.NSNumber,Foundation.NSObject> Constraints { get; set; } public virtual string Label { get; set; } public virtual Foundation.NSObject ObjectId { get; } } ``` #### New Type: CryptoTokenKit.TKTokenKeychainKey ```csharp public class TKTokenKeychainKey : CryptoTokenKit.TKTokenKeychainItem { // constructors public TKTokenKeychainKey (); protected TKTokenKeychainKey (Foundation.NSObjectFlag t); protected TKTokenKeychainKey (ObjCRuntime.NativeHandle handle); public TKTokenKeychainKey (Security.SecCertificate certificate, Foundation.NSObject objectId); public TKTokenKeychainKey (IntPtr certificate, Foundation.NSObject objectId); // properties public virtual Foundation.NSData ApplicationTag { get; set; } public virtual bool CanDecrypt { get; set; } public virtual bool CanPerformKeyExchange { get; set; } public virtual bool CanSign { get; set; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual IntPtr KeySizeInBits { get; set; } public virtual string KeyType { get; set; } public virtual Foundation.NSData PublicKeyData { get; set; } public virtual Foundation.NSData PublicKeyHash { get; set; } public virtual bool SuitableForLogin { get; set; } } ``` #### New Type: CryptoTokenKit.TKTokenOperation ```csharp [Serializable] public enum TKTokenOperation { DecryptData = 3, None = 0, PerformKeyExchange = 4, ReadData = 1, SignData = 2, } ``` #### New Type: CryptoTokenKit.TKTokenPasswordAuthOperation ```csharp public class TKTokenPasswordAuthOperation : CryptoTokenKit.TKTokenAuthOperation { // constructors public TKTokenPasswordAuthOperation (); public TKTokenPasswordAuthOperation (Foundation.NSCoder coder); protected TKTokenPasswordAuthOperation (Foundation.NSObjectFlag t); protected TKTokenPasswordAuthOperation (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Password { get; set; } } ``` #### New Type: CryptoTokenKit.TKTokenSession ```csharp public class TKTokenSession : Foundation.NSObject { // constructors public TKTokenSession (TKToken token); protected TKTokenSession (Foundation.NSObjectFlag t); protected TKTokenSession (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public ITKTokenSessionDelegate Delegate { get; set; } public virtual TKToken Token { get; } public virtual Foundation.NSObject WeakDelegate { get; set; } // methods protected override void Dispose (bool disposing); } ``` #### New Type: CryptoTokenKit.TKTokenSessionDelegate ```csharp public class TKTokenSessionDelegate : Foundation.NSObject, ITKTokenSessionDelegate, ObjCRuntime.INativeObject, System.IDisposable { // constructors public TKTokenSessionDelegate (); protected TKTokenSessionDelegate (Foundation.NSObjectFlag t); protected TKTokenSessionDelegate (ObjCRuntime.NativeHandle handle); // methods public virtual TKTokenAuthOperation BeginAuthentication (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject constraint, out Foundation.NSError error); public virtual Foundation.NSData DecryptData (TKTokenSession session, Foundation.NSData ciphertext, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error); public virtual Foundation.NSData PerformKeyExchange (TKTokenSession session, Foundation.NSData otherPartyPublicKeyData, Foundation.NSObject objectId, TKTokenKeyAlgorithm algorithm, TKTokenKeyExchangeParameters parameters, out Foundation.NSError error); public virtual Foundation.NSData SignData (TKTokenSession session, Foundation.NSData dataToSign, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error); public virtual bool SupportsOperation (TKTokenSession session, TKTokenOperation operation, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm); } ``` #### New Type: CryptoTokenKit.TKTokenSessionDelegate_Extensions ```csharp public static class TKTokenSessionDelegate_Extensions { // methods public static TKTokenAuthOperation BeginAuthentication (this ITKTokenSessionDelegate This, TKTokenSession session, TKTokenOperation operation, Foundation.NSObject constraint, out Foundation.NSError error); public static Foundation.NSData DecryptData (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData ciphertext, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error); public static Foundation.NSData PerformKeyExchange (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData otherPartyPublicKeyData, Foundation.NSObject objectId, TKTokenKeyAlgorithm algorithm, TKTokenKeyExchangeParameters parameters, out Foundation.NSError error); public static Foundation.NSData SignData (this ITKTokenSessionDelegate This, TKTokenSession session, Foundation.NSData dataToSign, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm, out Foundation.NSError error); public static bool SupportsOperation (this ITKTokenSessionDelegate This, TKTokenSession session, TKTokenOperation operation, Foundation.NSObject keyObjectId, TKTokenKeyAlgorithm algorithm); } ``` #### New Type: CryptoTokenKit.TKTokenSmartCardPinAuthOperation ```csharp public class TKTokenSmartCardPinAuthOperation : CryptoTokenKit.TKTokenAuthOperation { // constructors public TKTokenSmartCardPinAuthOperation (); public TKTokenSmartCardPinAuthOperation (Foundation.NSCoder coder); protected TKTokenSmartCardPinAuthOperation (Foundation.NSObjectFlag t); protected TKTokenSmartCardPinAuthOperation (ObjCRuntime.NativeHandle handle); // properties public virtual Foundation.NSData ApduTemplate { get; set; } public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string Pin { get; set; } public virtual IntPtr PinByteOffset { get; set; } public virtual TKSmartCardPinFormat PinFormat { get; set; } public virtual TKSmartCard SmartCard { get; set; } // methods protected override void Dispose (bool disposing); } ``` #### New Type: CryptoTokenKit.TKTokenWatcher ```csharp public class TKTokenWatcher : Foundation.NSObject { // constructors public TKTokenWatcher (); protected TKTokenWatcher (Foundation.NSObjectFlag t); protected TKTokenWatcher (ObjCRuntime.NativeHandle handle); public TKTokenWatcher (System.Action<Foundation.NSString> insertionHandler); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string[] TokenIds { get; } // methods public virtual void AddRemovalHandler (System.Action<Foundation.NSString> removalHandler, string tokenId); public virtual TKTokenWatcherTokenInfo GetTokenInfo (string tokenId); public virtual void SetInsertionHandler (System.Action<Foundation.NSString> insertionHandler); } ``` #### New Type: CryptoTokenKit.TKTokenWatcherTokenInfo ```csharp public class TKTokenWatcherTokenInfo : Foundation.NSObject { // constructors protected TKTokenWatcherTokenInfo (Foundation.NSObjectFlag t); protected TKTokenWatcherTokenInfo (ObjCRuntime.NativeHandle handle); // properties public override ObjCRuntime.NativeHandle ClassHandle { get; } public virtual string DriverName { get; } public virtual string SlotName { get; } public virtual string TokenId { get; } } ```