/ios-api-diff.md Secret
Created
August 14, 2023 11:45
Revisions
-
vs-mobiletools-engineering-service2 created this gist
Aug 14, 2023 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,2022 @@ --- title: "Xamarin.iOS SDK API diff: 16.1.1 vs 16.99.0" description: List of API changes between Xamarin.iOS versions 16.1.1 and 16.99.0. author: spouliot ms.author: sepoulio ms.date: 8/14/2023 ms.topic: article ms.assetid: 8fe411e5-1aa9-1dd1-f3a2-e785e50b5ac7 ms.prod: xamarin --- # Xamarin.iOS SDK API diff: 16.1.1 vs 16.99.0 <a name="Xamarin.iOS.dll" /> ## Xamarin.iOS.dll ### Namespace AVFoundation #### Type Changed: AVFoundation.AVAssetImageGenerator Added method: ```csharp public virtual void GenerateCGImageAsynchronously (CoreMedia.CMTime requestedTime, AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler handler); ``` #### Type Changed: AVFoundation.AVAssetWriter Obsoleted properties: ```diff [Obsolete ("Use the 'Inputs' property instead.")] public virtual AVAssetWriterInput[] inputs { get; } ``` Added property: ```csharp public virtual AVAssetWriterInput[] Inputs { get; } ``` #### Type Changed: AVFoundation.AVAudioSession Obsoleted properties: ```diff [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryAmbient { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryAudioProcessing { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryMultiRoute { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryPlayAndRecord { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryPlayback { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategoryRecord { get; } [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")] public static Foundation.NSString CategorySoloAmbient { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeDefault { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeGameChat { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeMeasurement { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeMoviePlayback { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeSpokenAudio { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeVideoChat { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeVideoRecording { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString ModeVoiceChat { get; } [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")] public static Foundation.NSString VoicePrompt { get; } ``` Added methods: ```csharp public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public Foundation.NSError SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionCategoryOptions options); public Foundation.NSError SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionCategoryOptions options); public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public bool SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public bool SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError); public bool SetMode (AVAudioSessionMode mode, out Foundation.NSError error); ``` #### Type Changed: AVFoundation.AVAudioSinkNode 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 AVAudioSinkNode (AVAudioSinkNodeReceiverHandler receiverHandler); ``` Added constructors: ```csharp public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler2 receiverHandler); public AVAudioSinkNode (AVAudioSinkNodeReceiverHandlerRaw receiverHandler); ``` #### Type Changed: AVFoundation.AVCaptureDeviceFormat Obsoleted properties: ```diff [Obsolete ("Use the 'IsVideoHdrSupported' property instead.")] public virtual bool videoHDRSupportedVideoHDREnabled { get; } ``` Added properties: ```csharp public virtual bool IsVideoHdrSupported { get; } public virtual nfloat[] SecondaryNativeResolutionZoomFactors { get; } public virtual CoreMedia.CMVideoDimensions[] SupportedMaxPhotoDimensions { get; } public virtual nfloat[] SupportedVideoZoomFactorsForDepthDataDelivery { get; } ``` #### Type Changed: AVFoundation.AVCapturePhotoOutput Added properties: ```csharp public virtual CoreMedia.CMVideoDimensions MaxPhotoDimensions { get; set; } public virtual bool PreservesLivePhotoCaptureSuspendedOnSessionStop { get; set; } ``` #### Type Changed: AVFoundation.AVCapturePhotoSettings Added property: ```csharp public virtual CoreMedia.CMVideoDimensions MaxPhotoDimensions { get; set; } ``` #### Type Changed: AVFoundation.AVCaptureSession Added properties: ```csharp public virtual float HardwareCost { get; } public virtual bool MultitaskingCameraAccessEnabled { get; set; } public virtual bool MultitaskingCameraAccessSupported { get; } ``` #### Type Changed: AVFoundation.AVMetadata Obsoleted properties: ```diff [Obsolete ("Use 'AVMetadataFormat' enum values.")] public static Foundation.NSString FormatHlsMetadata { get; } [Obsolete ("Use 'AVMetadataFormat' enum values.")] public static Foundation.NSString FormatID3Metadata { get; } [Obsolete ("Use 'AVMetadataFormat' enum values.")] public static Foundation.NSString FormatQuickTimeUserData { get; } [Obsolete ("Use 'AVMetadataFormat' enum values.")] public static Foundation.NSString FormatiTunesMetadata { get; } [Obsolete ("Use 'AVMetadataFormat' enum values.")] public static Foundation.NSString KFormatISOUserData { get; } ``` #### Type Changed: AVFoundation.AVPlayer Obsoleted properties: ```diff [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")] public static Foundation.NSString AVPlayerWaitingForCoordinatedPlaybackReason { get; } [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")] public static Foundation.NSString WaitingDuringInterstitialEventReason { get; } [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")] public static Foundation.NSString WaitingToMinimizeStallsReason { get; } [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")] public static Foundation.NSString WaitingWhileEvaluatingBufferingRateReason { get; } [Obsolete ("Use 'AVPlayerWaitingReason' enum instead.")] public static Foundation.NSString WaitingWithNoItemToPlayReason { get; } ``` #### New Type: AVFoundation.AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler ```csharp public sealed delegate AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler : System.MulticastDelegate { // constructors public AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error); } ``` #### New Type: AVFoundation.AVAudioSessionCategoryExtensions ```csharp public static class AVAudioSessionCategoryExtensions { // methods public static Foundation.NSString GetConstant (this AVAudioSessionCategory self); public static AVAudioSessionCategory GetValue (Foundation.NSString constant); } ``` #### New Type: AVFoundation.AVAudioSessionMode ```csharp [Serializable] public enum AVAudioSessionMode { Default = 0, GameChat = 4, Measurement = 3, MoviePlayback = 5, SpokenAudio = 7, VideoChat = 6, VideoRecording = 2, VoiceChat = 1, VoicePrompt = 8, } ``` #### New Type: AVFoundation.AVAudioSessionModeExtensions ```csharp public static class AVAudioSessionModeExtensions { // methods public static Foundation.NSString GetConstant (this AVAudioSessionMode self); public static AVAudioSessionMode GetValue (Foundation.NSString constant); } ``` #### New Type: AVFoundation.AVAudioSinkNodeReceiverHandler2 ```csharp public sealed delegate AVAudioSinkNodeReceiverHandler2 : System.MulticastDelegate { // constructors public AVAudioSinkNodeReceiverHandler2 (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers inputData, System.AsyncCallback callback, object object); public virtual int EndInvoke (System.IAsyncResult result); public virtual int Invoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers inputData); } ``` #### New Type: AVFoundation.AVAudioSinkNodeReceiverHandlerRaw ```csharp public sealed delegate AVAudioSinkNodeReceiverHandlerRaw : System.MulticastDelegate { // constructors public AVAudioSinkNodeReceiverHandlerRaw (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (IntPtr timestamp, uint frameCount, IntPtr inputData, System.AsyncCallback callback, object object); public virtual int EndInvoke (System.IAsyncResult result); public virtual int Invoke (IntPtr timestamp, uint frameCount, IntPtr inputData); } ``` ### Namespace AVRouting #### Type Changed: AVRouting.AVCustomRoutingController Added property: ```csharp public virtual AVCustomRoutingPartialIP[] KnownRouteIPs { get; set; } ``` #### New Type: AVRouting.AVCustomRoutingPartialIP ```csharp public class AVCustomRoutingPartialIP : Foundation.NSObject { // constructors protected AVCustomRoutingPartialIP (Foundation.NSObjectFlag t); protected AVCustomRoutingPartialIP (IntPtr handle); public AVCustomRoutingPartialIP (Foundation.NSData address, Foundation.NSData mask); // properties public virtual Foundation.NSData Address { get; } public override IntPtr ClassHandle { get; } public virtual Foundation.NSData Mask { get; } } ``` ### Namespace Accessibility #### New Type: Accessibility.AXAnimatedImagesUtilities ```csharp public static class AXAnimatedImagesUtilities { // properties public static Foundation.NSString AnimatedImagesEnabledDidChangeNotification { get; } public static bool Enabled { get; } // inner types public static class Notifications { // methods public static Foundation.NSObject ObserveAnimatedImagesEnabledDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler); public static Foundation.NSObject ObserveAnimatedImagesEnabledDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler); } } ``` #### New Type: Accessibility.AXCustomContentProvider_Extensions ```csharp public static class AXCustomContentProvider_Extensions { // methods public static System.Func<AXCustomContent[]> GetAccessibilityCustomContentHandler (this IAXCustomContentProvider This); public static void SetAccessibilityCustomContentHandler (this IAXCustomContentProvider This, System.Func<AXCustomContent[]> value); } ``` ### Namespace BackgroundAssets #### Type Changed: BackgroundAssets.BAAppExtensionInfo Added property: ```csharp public virtual Foundation.NSNumber RestrictedEssentialDownloadSizeRemaining { get; } ``` #### Type Changed: BackgroundAssets.BADownload Added property: ```csharp public virtual bool IsEssential { get; } ``` Added method: ```csharp public virtual BADownload CopyAsNonEssential (); ``` #### Type Changed: BackgroundAssets.BADownloadManager Added method: ```csharp public virtual BADownload[] FetchCurrentDownloads (out Foundation.NSError error); ``` #### Type Changed: BackgroundAssets.BAUrlDownload Added constructors: ```csharp public BAUrlDownload (string identifier, Foundation.NSUrlRequest request, nuint fileSize, string applicationGroupIdentifier); public BAUrlDownload (string identifier, Foundation.NSUrlRequest request, bool essential, nuint fileSize, string applicationGroupIdentifier, nint priority); ``` ### Namespace BackgroundTasks #### New Type: BackgroundTasks.BGHealthResearchTask ```csharp public class BGHealthResearchTask : BackgroundTasks.BGProcessingTask { // constructors public BGHealthResearchTask (); protected BGHealthResearchTask (Foundation.NSObjectFlag t); protected BGHealthResearchTask (IntPtr handle); // properties public override IntPtr ClassHandle { get; } } ``` #### New Type: BackgroundTasks.BGHealthResearchTaskRequest ```csharp public class BGHealthResearchTaskRequest : BackgroundTasks.BGProcessingTaskRequest { // constructors public BGHealthResearchTaskRequest (); protected BGHealthResearchTaskRequest (Foundation.NSObjectFlag t); protected BGHealthResearchTaskRequest (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual string ProtectionTypeOfRequiredData { get; set; } } ``` ### Namespace CarPlay #### Type Changed: CarPlay.CPInformationTemplate Added interfaces: ```csharp ICPBarButtonProviding ObjCRuntime.INativeObject System.IDisposable ``` Added properties: ```csharp public virtual CPBarButton BackButton { get; set; } public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; } public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; } ``` #### Type Changed: CarPlay.CPTabBarTemplate Added methods: ```csharp public virtual void SelectTemplate (CPTemplate newTemplate); public virtual void SelectTemplate (nint index); ``` ### Namespace CloudKit #### Type Changed: CloudKit.CKShareMetadata Obsoleted constructors: ```diff [Obsolete ("Get them from 'CKFetchShareMetadataOperation' or platform-specific scene / app delegate callbacks.")] public CKShareMetadata (); ``` ### Namespace Contacts #### Type Changed: Contacts.CNErrorCode Added value: ```csharp FeatureNotAvailable = 104, ``` ### Namespace CoreAnimation #### Type Changed: CoreAnimation.CAAnimation Obsoleted properties: ```diff [Obsolete ("The name has been fixed, use 'AnimationDiscrete' instead.")] public static Foundation.NSString AnimationDescrete { get; } ``` #### Type Changed: CoreAnimation.CAGradientLayer Obsoleted properties: ```diff [Obsolete ("Use 'CAGradientLayerType.Axial' enum instead.")] public static Foundation.NSString GradientLayerAxial { get; } ``` #### Type Changed: CoreAnimation.CAMetalLayer Added properties: ```csharp public virtual Foundation.NSDictionary DeveloperHudProperties { get; set; } public virtual CAEdrMetadata EdrMetadata { get; set; } public virtual bool WantsExtendedDynamicRangeContent { get; set; } ``` #### New Type: CoreAnimation.CAEdrMetadata ```csharp public class CAEdrMetadata : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CAEdrMetadata (Foundation.NSCoder coder); protected CAEdrMetadata (Foundation.NSObjectFlag t); protected CAEdrMetadata (IntPtr handle); // properties public static bool Available { get; } public override IntPtr ClassHandle { get; } public static CAEdrMetadata HlgMetadata { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); public static CAEdrMetadata GetHdr10Metadata (Foundation.NSData displayData, Foundation.NSData contentData, float scale); public static CAEdrMetadata GetHdr10Metadata (float minNits, float maxNits, float scale); } ``` ### Namespace CoreBluetooth #### Type Changed: CoreBluetooth.CBCentralManager Obsoleted properties: ```diff [Obsolete ("Use 'CBConnectPeripheralOptions' instead.")] public static Foundation.NSString OptionNotifyOnConnectionKey { get; } [Obsolete ("Use 'CBConnectPeripheralOptions' instead.")] public static Foundation.NSString OptionNotifyOnDisconnectionKey { get; } [Obsolete ("Use 'CBConnectPeripheralOptions' instead.")] public static Foundation.NSString OptionNotifyOnNotificationKey { get; } ``` ### Namespace CoreData #### Type Changed: CoreData.NSPersistentStoreCoordinator Obsoleted properties: ```diff [Obsolete ("Use 'UbiquitousContainerIdentifierKey' instead.")] public static Foundation.NSString eUbiquitousContainerIdentifierKey { get; } ``` ### Namespace CoreFoundation #### Type Changed: CoreFoundation.CFRunLoop Added properties: ```csharp public string[] AllModes { get; } public string CurrentMode { get; } ``` Added method: ```csharp public CFRunLoopExitReason RunInMode (string mode, double seconds, bool returnAfterSourceHandled); ``` #### Type Changed: CoreFoundation.CFSocket Added properties: ```csharp public System.Net.IPEndPoint Address { get; } public System.Net.IPEndPoint RemoteAddress { get; } ``` Added method: ```csharp public void Invalidate (); ``` ### Namespace CoreGraphics #### Type Changed: CoreGraphics.CGImagePropertiesGps Added properties: ```csharp public string LatitudeRef { get; set; } public string LongitudeRef { get; set; } ``` ### Namespace CoreImage #### Type Changed: CoreImage.CIPhotoEffect Added property: ```csharp public bool Extrapolate { get; set; } ``` #### New Type: CoreImage.CIBlurredRectangleGenerator ```csharp public class CIBlurredRectangleGenerator : CoreImage.CIFilter, ICIBlurredRectangleGeneratorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CIBlurredRectangleGenerator (); public CIBlurredRectangleGenerator (Foundation.NSCoder coder); protected CIBlurredRectangleGenerator (Foundation.NSObjectFlag t); public CIBlurredRectangleGenerator (IntPtr handle); // properties public virtual CIColor Color { get; set; } public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual CIImage OutputImage { get; } public virtual float Sigma { get; set; } } ``` #### New Type: CoreImage.CICannyEdgeDetector ```csharp public class CICannyEdgeDetector : CoreImage.CIFilter, ICICannyEdgeDetectorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CICannyEdgeDetector (); public CICannyEdgeDetector (Foundation.NSCoder coder); protected CICannyEdgeDetector (Foundation.NSObjectFlag t); public CICannyEdgeDetector (IntPtr handle); // properties public virtual float GaussianSigma { get; set; } public virtual nint HysteresisPasses { get; set; } public virtual CIImage InputImage { get; set; } public virtual CIImage OutputImage { get; } public virtual bool Perceptual { get; set; } public virtual float ThresholdHigh { get; set; } public virtual float ThresholdLow { get; set; } } ``` #### New Type: CoreImage.CIPhotoEffectProtocol_Extensions ```csharp public static class CIPhotoEffectProtocol_Extensions { // methods public static bool GetExtrapolate (this ICIPhotoEffectProtocol This); public static void SetExtrapolate (this ICIPhotoEffectProtocol This, bool value); } ``` #### New Type: CoreImage.CIRoundedRectangleStrokeGenerator ```csharp public class CIRoundedRectangleStrokeGenerator : CoreImage.CIFilter, ICIFilterProtocol, ICIRoundedRectangleStrokeGeneratorProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CIRoundedRectangleStrokeGenerator (); public CIRoundedRectangleStrokeGenerator (Foundation.NSCoder coder); protected CIRoundedRectangleStrokeGenerator (Foundation.NSObjectFlag t); public CIRoundedRectangleStrokeGenerator (IntPtr handle); // properties public virtual CIColor Color { get; set; } public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual CIImage OutputImage { get; } public virtual float Radius { get; set; } public virtual float Width { get; set; } } ``` #### New Type: CoreImage.CISobelGradients ```csharp public class CISobelGradients : CoreImage.CIFilter, ICIFilterProtocol, ICISobelGradientsProtocol, ObjCRuntime.INativeObject, System.IDisposable { // constructors public CISobelGradients (); public CISobelGradients (Foundation.NSCoder coder); protected CISobelGradients (Foundation.NSObjectFlag t); public CISobelGradients (IntPtr handle); // properties public virtual CIImage InputImage { get; set; } public virtual CIImage OutputImage { get; } } ``` #### New Type: CoreImage.ICIBlurredRectangleGeneratorProtocol ```csharp public interface ICIBlurredRectangleGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual CIColor Color { get; set; } public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual float Sigma { get; set; } } ``` #### New Type: CoreImage.ICICannyEdgeDetectorProtocol ```csharp public interface ICICannyEdgeDetectorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual float GaussianSigma { get; set; } public virtual nint HysteresisPasses { get; set; } public virtual CIImage InputImage { get; set; } public virtual bool Perceptual { get; set; } public virtual float ThresholdHigh { get; set; } public virtual float ThresholdLow { get; set; } } ``` #### New Type: CoreImage.ICIRoundedRectangleStrokeGeneratorProtocol ```csharp public interface ICIRoundedRectangleStrokeGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual CIColor Color { get; set; } public virtual CoreGraphics.CGRect InputExtent { get; set; } public virtual float Radius { get; set; } public virtual float Width { get; set; } } ``` #### New Type: CoreImage.ICISobelGradientsProtocol ```csharp public interface ICISobelGradientsProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable { // properties public virtual CIImage InputImage { get; set; } } ``` ### Namespace CoreLocation #### Type Changed: CoreLocation.CLLocationPushServiceError Added value: ```csharp UnsupportedPlatform = 4, ``` ### Namespace FileProvider #### Type Changed: FileProvider.NSFileProviderDomain Added property: ```csharp public virtual Foundation.NSUuid VolumeUuid { get; } ``` ### Namespace Foundation #### Type Changed: Foundation.NSAttributedString Obsoleted methods: ```diff [Obsolete ("Use 'GetData' instead.")] public NSData GetDataFromRange (NSRange range, NSAttributedStringDocumentAttributes documentAttributes, ref NSError error); [Obsolete ("Use 'GetData' instead.")] public virtual NSData GetDataFromRange (NSRange range, NSDictionary attributes, ref NSError error); [Obsolete ("Use 'GetFileWrapper' instead.")] public NSFileWrapper GetFileWrapperFromRange (NSRange range, NSAttributedStringDocumentAttributes documentAttributes, ref NSError error); [Obsolete ("Use 'GetFileWrapper' instead.")] public virtual NSFileWrapper GetFileWrapperFromRange (NSRange range, NSDictionary attributes, ref NSError error); ``` Added methods: ```csharp public NSData GetData (NSRange range, NSAttributedStringDocumentAttributes options, out NSError error); public NSData GetData (NSRange range, NSDictionary options, out NSError error); public NSFileWrapper GetFileWrapper (NSRange range, NSAttributedStringDocumentAttributes options, out NSError error); public NSFileWrapper GetFileWrapper (NSRange range, NSDictionary options, out NSError error); ``` #### Type Changed: Foundation.NSBundle Obsoleted properties: ```diff [Obsolete ("Use the 'AllBundles' property instead.")] public static NSBundle[] _AllBundles { get; } ``` Added property: ```csharp public static NSBundle[] AllBundles { get; } ``` #### Type Changed: Foundation.NSFileProviderService Added methods: ```csharp public virtual void GetFileProviderConnection (System.Action<NSXpcConnection,Foundation.NSError> completionHandler); public virtual System.Threading.Tasks.Task<NSXpcConnection> GetFileProviderConnectionAsync (); ``` #### Type Changed: Foundation.NSKeyValueObservingOptions Added value: ```csharp None = 0, ``` #### Type Changed: Foundation.NSOperatingSystemVersion Added constructors: ```csharp public NSOperatingSystemVersion (nint major); public NSOperatingSystemVersion (nint major, nint minor); ``` Added interfaces: ```csharp System.IComparable System.IEquatable<NSOperatingSystemVersion> ``` Added methods: ```csharp public int CompareTo (NSOperatingSystemVersion otherVersion); public virtual int CompareTo (object obj); public virtual bool Equals (NSOperatingSystemVersion other); public override bool Equals (object obj); public override int GetHashCode (); public static bool op_Equality (NSOperatingSystemVersion os1, NSOperatingSystemVersion os2); public static bool op_Inequality (NSOperatingSystemVersion os1, NSOperatingSystemVersion os2); ``` #### Type Changed: Foundation.NSRunLoop Obsoleted properties: ```diff [Obsolete ("Use the 'NSRunLoopMode' enum instead.")] public static NSString NSDefaultRunLoopMode { get; } [Obsolete ("Use the 'NSRunLoopMode' enum instead.")] public static NSString NSRunLoopCommonModes { get; } [Obsolete ("Use the 'NSRunLoopMode' enum instead.")] public static NSString UITrackingRunLoopMode { get; } ``` #### Type Changed: Foundation.NSUrl Added properties: ```csharp public static NSString FileIdentifierKey { get; } public static NSString VolumeMountFromLocationKey { get; } public static NSString VolumeSubtypeKey { get; } public static NSString VolumeTypeNameKey { get; } ``` Added methods: ```csharp public static NSUrl CreateFileUrl (string path); public static NSUrl CreateFileUrl (string path, bool isDir); ``` #### Type Changed: Foundation.NSUrlConnection Obsoleted properties: ```diff [Obsolete ("The NewsstandKit framework has been removed from iOS.")] public virtual NewsstandKit.NKAssetDownload NewsstandAssetDownload { get; } ``` Removed method: ```csharp protected override void Dispose (bool disposing); ``` #### Type Changed: Foundation.NSValue Added property: ```csharp public virtual CoreMedia.CMVideoDimensions CMVideoDimensionsValue { get; } ``` Added method: ```csharp public static NSValue FromCMVideoDimensions (CoreMedia.CMVideoDimensions value); ``` #### Type Changed: Foundation.NSValueTransformer Obsoleted properties: ```diff [Obsolete ("Use 'NSUserDefaults.CompletedInitialSyncNotification' instead.")] public static NSString CompletedInitialSyncNotification { get; } [Obsolete ("Use 'NSUserDefaults.DidChangeAccountsNotification' instead.")] public static NSString DidChangeAccountsNotification { get; } [Obsolete ("Use 'NSUserDefaults.SizeLimitExceededNotification' instead.")] public static NSString SizeLimitExceededNotification { get; } [Obsolete ("Use 'NSUserDefaults.DidChangeNotification' instead.")] public static NSString UserDefaultsDidChangeNotification { get; } ``` ### Namespace GameKit #### Type Changed: GameKit.GKMatchmaker Added methods: ```csharp public virtual void StartGroupActivity (System.Action<GKPlayer> handler); public virtual void StopGroupActivity (); ``` ### Namespace HealthKit #### Type Changed: HealthKit.HKClinicalTypeIdentifier Added value: ```csharp ClinicalNoteRecord = 8, ``` #### Type Changed: HealthKit.HKContactsPrescription 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: HealthKit.HKFhirResourceType Added values: ```csharp DiagnosticReport = 10, DocumentReference = 11, ``` #### Type Changed: HealthKit.HKGlassesPrescription 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: HealthKit.HKMetadataKey Added property: ```csharp public static Foundation.NSString HeadphoneGain { get; } ``` #### Type Changed: HealthKit.HKVisionPrescription 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: HealthKit.HKWorkoutActivity Added constructor: ```csharp public HKWorkoutActivity (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); ``` ### Namespace HomeKit #### Type Changed: HomeKit.HMTimerTrigger Added constructor: ```csharp public HMTimerTrigger (string name, Foundation.NSDate fireDate, Foundation.NSDateComponents recurrence); ``` ### Namespace ImageIO #### Type Changed: ImageIO.CGImageProperties Added property: ```csharp public static Foundation.NSString OpenExrCompression { get; } ``` ### Namespace Intents #### Type Changed: Intents.INIntentIdentifier Added values: ```csharp AnswerCall = 26, HangUpCall = 27, ``` #### New Type: Intents.IINAnswerCallIntentHandling ```csharp public interface IINAnswerCallIntentHandling : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void HandleAnswerCall (INAnswerCallIntent intent, System.Action<INAnswerCallIntentResponse> completion); } ``` #### New Type: Intents.IINHangUpCallIntentHandling ```csharp public interface IINHangUpCallIntentHandling : ObjCRuntime.INativeObject, System.IDisposable { // methods public virtual void HandleHangUpCall (INHangUpCallIntent intent, System.Action<INHangUpCallIntentResponse> completion); } ``` #### New Type: Intents.INAnswerCallIntent ```csharp public class INAnswerCallIntent : Intents.INIntent { // constructors public INAnswerCallIntent (); public INAnswerCallIntent (Foundation.NSCoder coder); protected INAnswerCallIntent (Foundation.NSObjectFlag t); protected INAnswerCallIntent (IntPtr handle); public INAnswerCallIntent (INCallAudioRoute audioRoute, string callIdentifier); // properties public virtual INCallAudioRoute AudioRoute { get; } public virtual string CallIdentifier { get; } public override IntPtr ClassHandle { get; } } ``` #### New Type: Intents.INAnswerCallIntentHandling_Extensions ```csharp public static class INAnswerCallIntentHandling_Extensions { // methods public static void ConfirmAnswerCall (this IINAnswerCallIntentHandling This, INAnswerCallIntent intent, System.Action<INAnswerCallIntentResponse> completion); } ``` #### New Type: Intents.INAnswerCallIntentResponse ```csharp public class INAnswerCallIntentResponse : Intents.INIntentResponse { // constructors public INAnswerCallIntentResponse (Foundation.NSCoder coder); protected INAnswerCallIntentResponse (Foundation.NSObjectFlag t); protected INAnswerCallIntentResponse (IntPtr handle); public INAnswerCallIntentResponse (INAnswerCallIntentResponseCode code, Foundation.NSUserActivity userActivity); // properties public virtual INCallRecord[] CallRecords { get; set; } public override IntPtr ClassHandle { get; } public virtual INAnswerCallIntentResponseCode Code { get; } } ``` #### New Type: Intents.INAnswerCallIntentResponseCode ```csharp [Serializable] public enum INAnswerCallIntentResponseCode { ContinueInApp = 2, Failure = 5, FailureRequiringAppLaunch = 6, InProgress = 3, Ready = 1, Success = 4, Unspecified = 0, } ``` #### New Type: Intents.INHangUpCallIntent ```csharp public class INHangUpCallIntent : Intents.INIntent { // constructors public INHangUpCallIntent (); public INHangUpCallIntent (Foundation.NSCoder coder); protected INHangUpCallIntent (Foundation.NSObjectFlag t); protected INHangUpCallIntent (IntPtr handle); public INHangUpCallIntent (string callIdentifier); // properties public virtual string CallIdentifier { get; } public override IntPtr ClassHandle { get; } } ``` #### New Type: Intents.INHangUpCallIntentHandling_Extensions ```csharp public static class INHangUpCallIntentHandling_Extensions { // methods public static void ConfirmHangUpCall (this IINHangUpCallIntentHandling This, INHangUpCallIntent intent, System.Action<INHangUpCallIntentResponse> completion); } ``` #### New Type: Intents.INHangUpCallIntentResponse ```csharp public class INHangUpCallIntentResponse : Intents.INIntentResponse { // constructors public INHangUpCallIntentResponse (Foundation.NSCoder coder); protected INHangUpCallIntentResponse (Foundation.NSObjectFlag t); protected INHangUpCallIntentResponse (IntPtr handle); public INHangUpCallIntentResponse (INHangUpCallIntentResponseCode code, Foundation.NSUserActivity userActivity); // properties public override IntPtr ClassHandle { get; } public virtual INHangUpCallIntentResponseCode Code { get; } } ``` #### New Type: Intents.INHangUpCallIntentResponseCode ```csharp [Serializable] public enum INHangUpCallIntentResponseCode { Failure = 4, FailureNoCallToHangUp = 6, FailureRequiringAppLaunch = 5, InProgress = 2, Ready = 1, Success = 3, Unspecified = 0, } ``` ### Namespace JavaScriptCore #### Type Changed: JavaScriptCore.JSContext Added property: ```csharp public virtual bool Inspectable { get; set; } ``` ### Namespace MapKit #### Type Changed: MapKit.MKOverlayRenderer Added method: ```csharp public static nfloat MKRoadWidthAtZoomScale (nfloat zoomScale); ``` #### Type Changed: MapKit.MKOverlayView Obsoleted methods: ```diff [Obsolete ("Use 'MKOverlayRenderer.MKRoadWidthAtZoomScale' instead.")] public static nfloat MKRoadWidthAtZoomScale (nfloat zoomScale); ``` #### Type Changed: MapKit.MKReverseGeocoder Obsoleted properties: ```diff [Obsolete ("Use the 'Coordinate' property instead.")] public virtual CoreLocation.CLLocationCoordinate2D coordinate { get; } ``` Added property: ```csharp public virtual CoreLocation.CLLocationCoordinate2D Coordinate { get; } ``` ### Namespace MediaAccessibility #### New Type: MediaAccessibility.MAVideoAccommodations ```csharp public static class MAVideoAccommodations { // properties public static Foundation.NSString DimFlashingLightsChangedNotification { get; } // methods public static bool IsDimFlashingLightsEnabled (); // inner types public static class Notifications { // methods public static Foundation.NSObject ObserveDimFlashingLightsChanged (System.EventHandler<Foundation.NSNotificationEventArgs> handler); public static Foundation.NSObject ObserveDimFlashingLightsChanged (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler); } } ``` ### Namespace Metal #### Type Changed: Metal.IMTLRenderCommandEncoder_Extensions Added methods: ```csharp public static void SetScissorRects (this IMTLRenderCommandEncoder This, MTLScissorRect[] scissorRects); public static void SetViewports (this IMTLRenderCommandEncoder This, MTLViewport[] viewports); ``` ### Namespace MetalKit #### Type Changed: MetalKit.MTKTextureLoaderOptions Modified properties: ```diff -public bool? GenerateMipmaps { get; set; } +public bool? GenerateMipmaps { get; } ``` ### Namespace Network #### Type Changed: Network.NWDataTransferReport Obsoleted methods: ```diff [Obsolete ("Use the 'GetPathRadioType' property instead.")] public NWInterfaceRadioType get_path_radio_type (uint pathIndex); ``` Added method: ```csharp public NWInterfaceRadioType GetPathRadioType (uint pathIndex); ``` #### Type Changed: Network.NWQuicStreamType Added value: ```csharp Datagram = 3, ``` ### Namespace NetworkExtension #### Type Changed: NetworkExtension.NEAppPushProvider Added method: ```csharp public virtual void ReportPushToTalkMessage (Foundation.NSDictionary userInfo); ``` #### Type Changed: NetworkExtension.NEVpnProtocol Added properties: ```csharp public virtual bool ExcludeApns { get; set; } public virtual bool ExcludeCellularServices { get; set; } ``` ### Namespace ObjCRuntime #### Type Changed: ObjCRuntime.BlockLiteral Added interface: ```csharp System.IDisposable ``` Added property: ```csharp public object Context { get; } ``` Added method: ```csharp public virtual void Dispose (); ``` #### Type Changed: ObjCRuntime.Constants Removed field: ```csharp public static const string NewsstandKitLibrary = "/System/Library/Frameworks/NewsstandKit.framework/NewsstandKit"; ``` Modified fields: ```diff -public const string SdkVersion = "16.1"; +public const string SdkVersion = "17.0"; -public const string Version = "16.1.1"; +public const string Version = "16.99.0"; ``` ### Namespace PassKit #### Type Changed: PassKit.PKAddPassesViewController Added constructor: ```csharp public PKAddPassesViewController (Foundation.NSData issuerData, Foundation.NSData signature, out Foundation.NSError error); ``` #### Type Changed: PassKit.PKDisbursementAuthorizationControllerDelegate Modified methods: ```diff -public abstract void DidAuthorize (PKDisbursementAuthorizationController controller, PKDisbursementVoucher disbursementVoucher) +public virtual void DidAuthorize (PKDisbursementAuthorizationController controller, PKDisbursementVoucher disbursementVoucher) -public abstract void DidFinish (PKDisbursementAuthorizationController controller) +public virtual void DidFinish (PKDisbursementAuthorizationController controller) ``` #### Type Changed: PassKit.PKDisbursementRequest Obsoleted properties: ```diff [Obsolete ("This property is removed.")] public virtual Foundation.NSDecimalNumber Amount { get; set; } [Obsolete ("This property is removed.")] public virtual string CountryCode { get; set; } [Obsolete ("This property is removed.")] public virtual PKDisbursementRequestSchedule RequestSchedule { get; set; } ``` #### Type Changed: PassKit.PKPaymentNetwork Added property: ```csharp public static Foundation.NSString PKPaymentNetworkPostFinance { get; } ``` #### Type Changed: PassKit.PKPaymentRequest Added property: ```csharp public virtual PKDeferredPaymentRequest DeferredPaymentRequest { get; set; } ``` #### Type Changed: PassKit.PKPaymentRequestUpdate Added property: ```csharp public virtual PKDeferredPaymentRequest DeferredPaymentRequest { get; set; } ``` #### New Type: PassKit.PKDeferredPaymentRequest ```csharp public class PKDeferredPaymentRequest : Foundation.NSObject { // constructors protected PKDeferredPaymentRequest (Foundation.NSObjectFlag t); protected PKDeferredPaymentRequest (IntPtr handle); public PKDeferredPaymentRequest (string paymentDescription, PKDeferredPaymentSummaryItem deferredBilling, Foundation.NSUrl managementUrl); // properties public virtual string BillingAgreement { get; set; } public override IntPtr ClassHandle { get; } public virtual PKDeferredPaymentSummaryItem DeferredBilling { get; set; } public virtual Foundation.NSDate FreeCancellationDate { get; set; } public virtual Foundation.NSTimeZone FreeCancellationDateTimeZone { get; set; } public virtual Foundation.NSUrl ManagementUrl { get; set; } public virtual string PaymentDescription { get; set; } public virtual Foundation.NSUrl TokenNotificationUrl { get; set; } } ``` ### Namespace PdfKit #### Type Changed: PdfKit.PdfDocumentWriteOptions Added properties: ```csharp public bool? BurnInAnnotations { get; set; } public bool? OptimizeImagesForScreen { get; set; } public bool? SaveImagesAsJpeg { get; set; } public bool? SaveTextFromOcr { get; set; } ``` ### Namespace PencilKit #### Type Changed: PencilKit.PKEraserTool Added constructor: ```csharp public PKEraserTool (PKEraserType eraserType, nfloat width); ``` Added property: ```csharp public virtual nfloat Width { get; } ``` Added methods: ```csharp public static nfloat GetDefaultWidth (PKEraserType eraserType); public static nfloat GetMaximumWidth (PKEraserType eraserType); public static nfloat GetMinimumWidth (PKEraserType eraserType); ``` #### Type Changed: PencilKit.PKEraserType Added value: ```csharp FixedWidthBitmap = 2, ``` ### Namespace Photos #### Type Changed: Photos.PHFetchResult Obsoleted properties: ```diff [Obsolete ("Use the 'FirstObject' property instead.")] public virtual Foundation.NSObject firstObject { get; } ``` Added property: ```csharp public virtual Foundation.NSObject FirstObject { get; } ``` #### Type Changed: Photos.PHVideoRequestOptions Added interfaces: ```csharp Foundation.INSCopying ObjCRuntime.INativeObject System.IDisposable ``` Added method: ```csharp public virtual Foundation.NSObject Copy (Foundation.NSZone zone); ``` ### Namespace SafariServices #### Type Changed: SafariServices.SFContentBlockerManager Obsoleted constructors: ```diff [Obsolete ("Constructor marked as unavailable.")] public SFContentBlockerManager (); ``` ### Namespace SceneKit #### Type Changed: SceneKit.SCNHitTest Obsoleted properties: ```diff [Obsolete ("Use 'SearchModeKey' instead.")] public static Foundation.NSString OptionSearchModeKey { get; } ``` ### Namespace SensorKit #### Type Changed: SensorKit.SRApplicationUsage Added properties: ```csharp public virtual double RelativeStartTime { get; } public virtual SRSupplementalCategory[] SupplementalCategories { get; } ``` #### Type Changed: SensorKit.SRDeviceUsageReport Added property: ```csharp public virtual string Version { get; } ``` #### Type Changed: SensorKit.SRKeyboardMetrics Added properties: ```csharp public virtual SensorKit.SRKeyboardProbabilityMetric<Foundation.NSUnitDuration>[] LongWordTouchUpDown { get; } public virtual string[] SessionIdentifiers { get; } public virtual SensorKit.SRKeyboardProbabilityMetric<Foundation.NSUnitDuration> TouchUpDown { get; } ``` #### Type Changed: SensorKit.SRSensor Added value: ```csharp MediaEvents = 13, ``` #### Type Changed: SensorKit.SRTextInputSession Added property: ```csharp public virtual string SessionIdentifier { get; } ``` #### Type Changed: SensorKit.SRWristDetection Added properties: ```csharp public virtual Foundation.NSDate OffWristDate { get; } public virtual Foundation.NSDate OnWristDate { get; } ``` #### New Type: SensorKit.SRMediaEvent ```csharp public class SRMediaEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRMediaEvent (); public SRMediaEvent (Foundation.NSCoder coder); protected SRMediaEvent (Foundation.NSObjectFlag t); protected SRMediaEvent (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual SRMediaEventType EventType { get; } public virtual string MediaIdentifier { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` #### New Type: SensorKit.SRMediaEventType ```csharp [Serializable] public enum SRMediaEventType { OffScreen = 2, OnScreen = 1, } ``` #### New Type: SensorKit.SRSupplementalCategory ```csharp public class SRSupplementalCategory : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable { // constructors public SRSupplementalCategory (Foundation.NSCoder coder); protected SRSupplementalCategory (Foundation.NSObjectFlag t); protected SRSupplementalCategory (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual SRDeviceUsageCategory Identifier { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void EncodeTo (Foundation.NSCoder encoder); } ``` ### Namespace SpriteKit #### Type Changed: SpriteKit.SKAction Modified methods: ```diff -public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orient, double sec) +public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orientToPath, double sec) -public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orient, nfloat speed) +public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orientToPath, nfloat speed) ``` ### Namespace StoreKit #### Type Changed: StoreKit.StoreProductParameters Modified properties: ```diff -public string AdNetworkSourceAppStoreIdentifier { get; set; } +public string AdNetworkSourceAppStoreIdentifier { get; } -public string AdNetworkVersion { get; set; } +public string AdNetworkVersion { get; } -public string ProductIdentifier { get; set; } +public string ProductIdentifier { get; } -public string ProviderToken { get; set; } +public string ProviderToken { get; } ``` ### Namespace System.Net.Http #### Type Changed: System.Net.Http.NSUrlSessionHandler Obsoleted properties: ```diff [Obsolete ("This property will be ignored in .NET 8.")] public bool BypassBackgroundSessionCheck { get; set; } ``` ### Namespace ThreadNetwork #### Type Changed: ThreadNetwork.THClient Added methods: ```csharp public virtual void IsPreferredNetworkAvailable (System.Action<bool> completion); public virtual System.Threading.Tasks.Task<bool> IsPreferredNetworkAvailableAsync (); public virtual void RetrieveAllActiveCredentials (System.Action<Foundation.NSSet<THCredentials>> completion); public virtual System.Threading.Tasks.Task<Foundation.NSSet<THCredentials>> RetrieveAllActiveCredentialsAsync (); ``` ### Namespace UIKit #### Type Changed: UIKit.NSTextList Added constructors: ```csharp public NSTextList (string format); public NSTextList (NSTextListMarkerFormats format); ``` Obsoleted properties: ```diff [Obsolete ("Use 'CustomMarkerFormat' instead.")] public virtual string MarkerFormat { get; } ``` Added property: ```csharp public string CustomMarkerFormat { get; } ``` #### Type Changed: UIKit.NSTextListMarkerFormats Added value: ```csharp CustomString = -1, ``` #### Type Changed: UIKit.NSTextListOptions Added value: ```csharp None = 0, ``` #### Type Changed: UIKit.UIActivityItemsConfigurationInteraction Added value: ```csharp Copy = 1, ``` #### Type Changed: UIKit.UIActivityType Added property: ```csharp public static Foundation.NSString AddToHomeScreen { get; } ``` #### Type Changed: UIKit.UIButtonConfiguration Added properties: ```csharp public virtual UILineBreakMode SubtitleLineBreakMode { get; set; } public virtual UILineBreakMode TitleLineBreakMode { get; set; } ``` #### Type Changed: UIKit.UICalendarViewDelegate Added method: ```csharp public virtual void DidChangeVisibleDateComponents (UICalendarView calendarView, Foundation.NSDateComponents previousDateComponents); ``` #### Type Changed: UIKit.UIConfigurationColorTransformer Obsoleted properties: ```diff [Obsolete ("Use the 'MonochromeTint' property instead.")] public static IntPtr _MonochromeTint { get; } [Obsolete ("Use the 'PreferredTint' property instead.")] public static IntPtr _PreferredTint { get; } ``` #### Type Changed: UIKit.UIFont Obsoleted properties: ```diff [Obsolete ("Use the 'XHeight' property instead.")] public virtual nfloat xHeight { get; } ``` Added property: ```csharp public virtual nfloat XHeight { get; } ``` #### Type Changed: UIKit.UIHoverGestureRecognizer Added property: ```csharp public virtual nfloat AltitudeAngle { get; } ``` Added methods: ```csharp public virtual nfloat GetAzimuthAngle (UIView view); public virtual CoreGraphics.CGVector GetAzimuthUnitVector (UIView view); ``` #### Type Changed: UIKit.UISearchBar Added property: ```csharp public virtual bool Enabled { get; set; } ``` #### New Type: UIKit.UICalendarViewDelegate_Extensions ```csharp public static class UICalendarViewDelegate_Extensions { // methods public static void DidChangeVisibleDateComponents (this IUICalendarViewDelegate This, UICalendarView calendarView, Foundation.NSDateComponents previousDateComponents); } ``` #### New Type: UIKit.UIFontWeightConstants ```csharp public static class UIFontWeightConstants { // properties public static nfloat Black { get; } public static nfloat Bold { get; } public static nfloat Heavy { get; } public static nfloat Light { get; } public static nfloat Medium { get; } public static nfloat Regular { get; } public static nfloat Semibold { get; } public static nfloat Thin { get; } public static nfloat UltraLight { get; } } ``` #### New Type: UIKit.UIFontWeightExtensions ```csharp public static class UIFontWeightExtensions { // methods public static nfloat GetWeight (this UIFontWeight weight); } ``` #### New Type: UIKit.UITextInputContext ```csharp public class UITextInputContext : Foundation.NSObject { // constructors protected UITextInputContext (Foundation.NSObjectFlag t); protected UITextInputContext (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public static UITextInputContext Current { get; } public virtual bool DictationInputExpected { get; set; } public virtual bool HardwareKeyboardInputExpected { get; set; } public virtual bool PencilInputExpected { get; set; } } ``` ### Namespace VideoSubscriberAccount #### Type Changed: VideoSubscriberAccount.VSUserAccount Added property: ```csharp public virtual bool SignedOut { get; set; } ``` ### Namespace WebKit #### Type Changed: WebKit.WKPreferences Added property: ```csharp public virtual bool ShouldPrintBackgrounds { get; set; } ``` #### Type Changed: WebKit.WKUIDelegate Added methods: ```csharp public virtual void WillDismissEditMenu (WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator); public virtual void WillPresentEditMenu (WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator); ``` #### Type Changed: WebKit.WKUIDelegate_Extensions Added methods: ```csharp public static void WillDismissEditMenu (this IWKUIDelegate This, WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator); public static void WillPresentEditMenu (this IWKUIDelegate This, WKWebView webView, UIKit.IUIEditMenuInteractionAnimating animator); ``` #### Type Changed: WebKit.WKWebView Added property: ```csharp public virtual bool Inspectable { get; set; } ```