Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created August 2, 2023 10:37
Show Gist options
  • Save vs-mobiletools-engineering-service2/9d8f0b28a8a557105c7768bf9c71ccdd to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/9d8f0b28a8a557105c7768bf9c71ccdd to your computer and use it in GitHub Desktop.
stable-api-comparison/diff/dotnet/Microsoft.tvOS.Ref/ref/net8.0/Microsoft.tvOS.md

API diff: Microsoft.tvOS.dll

Microsoft.tvOS.dll

Assembly Version Changed: 16.1.0.0 -> 16.4.0.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAssetImageGenerator

Added method:

public virtual void GenerateCGImageAsynchronously (CoreMedia.CMTime requestedTime, AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler handler);

Type Changed: AVFoundation.AVAssetWriter

Obsoleted properties:

 [Obsolete ("Use the 'Inputs' property instead.")]
 public virtual AVAssetWriterInput[] inputs { get; }

Added property:

public virtual AVAssetWriterInput[] Inputs { get; }

Type Changed: AVFoundation.AVAudioSession

Obsoleted properties:

 [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
 public static Foundation.NSString CategoryAmbient { 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:

public Foundation.NSError SetActive (bool active, AVAudioSessionSetActiveOptions options);
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:

 [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:

public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler2 receiverHandler);
public AVAudioSinkNode (AVAudioSinkNodeReceiverHandlerRaw receiverHandler);

New Type: AVFoundation.AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler

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

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

New Type: AVFoundation.AVAudioSessionMode

[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

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

New Type: AVFoundation.AVAudioSinkNodeReceiverHandler2

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

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 CoreAnimation

Type Changed: CoreAnimation.CAMetalLayer

Added property:

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

Namespace CoreFoundation

Type Changed: CoreFoundation.CFReadStream

Obsoleted methods:

 [Obsolete ("Use the other overload.")]
 protected override bool DoSetClient (CFStream.CFStreamCallback callback, IntPtr eventTypes, IntPtr context);

Added method:

protected override byte DoSetClient (method System.Void *(System.IntPtr,System.IntPtr,System.IntPtr) callback, IntPtr eventTypes, IntPtr context);

Type Changed: CoreFoundation.CFRunLoop

Added properties:

public string[] AllModes { get; }
public string CurrentMode { get; }

Added method:

public CFRunLoopExitReason RunInMode (string mode, double seconds, bool returnAfterSourceHandled);

Type Changed: CoreFoundation.CFSocket

Added properties:

public System.Net.IPEndPoint Address { get; }
public System.Net.IPEndPoint RemoteAddress { get; }

Added method:

public void Invalidate ();

Type Changed: CoreFoundation.CFStream

Obsoleted methods:

 [Obsolete ("Use the other overload.")]
 protected virtual bool DoSetClient (CFStream.CFStreamCallback callback, IntPtr eventTypes, IntPtr context);

Added method:

protected virtual byte DoSetClient (method System.Void *(System.IntPtr,System.IntPtr,System.IntPtr) callback, IntPtr eventTypes, IntPtr context);

Type Changed: CoreFoundation.CFWriteStream

Obsoleted methods:

 [Obsolete ("Use the other overload.")]
 protected override bool DoSetClient (CFStream.CFStreamCallback callback, IntPtr eventTypes, IntPtr context);

Added method:

protected override byte DoSetClient (method System.Void *(System.IntPtr,System.IntPtr,System.IntPtr) callback, IntPtr eventTypes, IntPtr context);

Namespace CoreGraphics

Type Changed: CoreGraphics.CGImagePropertiesGps

Added properties:

public string LatitudeRef { get; set; }
public string LongitudeRef { get; set; }

Namespace CoreSpotlight

Type Changed: CoreSpotlight.CSSearchQueryContext

Obsoleted properties:

 [Obsolete ("This property was removed. The getter always returns null and the setter throws and InvalidOperationException.")]
 public virtual string[] ProtectionClasses { get; set; }

Namespace Foundation

Type Changed: Foundation.NSAttributedString

Obsoleted methods:

 [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:

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:

 [Obsolete ("Use the 'AllBundles' property instead.")]
 public static NSBundle[] _AllBundles { get; }

Added property:

public static NSBundle[] AllBundles { get; }

Type Changed: Foundation.NSItemProvider

Added methods:

public NSProgress LoadObject<T> (System.Action<T,Foundation.NSError> completionHandler);
public System.Threading.Tasks.Task<T> LoadObjectAsync<T> ();
public System.Threading.Tasks.Task<T> LoadObjectAsync<T> (out NSProgress result);

Type Changed: Foundation.NSKeyValueObservingOptions

Added value:

None = 0,

Type Changed: Foundation.NSOperatingSystemVersion

Added constructors:

public NSOperatingSystemVersion (IntPtr major);
public NSOperatingSystemVersion (IntPtr major, IntPtr minor);

Added interfaces:

System.IComparable
System.IEquatable<NSOperatingSystemVersion>

Added methods:

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.NSUrl

Added properties:

public static NSString FileIdentifierKey { get; }
public static NSString VolumeMountFromLocationKey { get; }
public static NSString VolumeSubtypeKey { get; }
public static NSString VolumeTypeNameKey { get; }

Added methods:

public static NSUrl CreateFileUrl (string path);
public static NSUrl CreateFileUrl (string path, bool isDir);

Type Changed: Foundation.NSValue

Added property:

public virtual CoreMedia.CMVideoDimensions CMVideoDimensionsValue { get; }

Added method:

public static NSValue FromCMVideoDimensions (CoreMedia.CMVideoDimensions value);

Namespace HomeKit

Type Changed: HomeKit.HMTimerTrigger

Added constructor:

public HMTimerTrigger (string name, Foundation.NSDate fireDate, Foundation.NSDateComponents recurrence);

Namespace ImageIO

Type Changed: ImageIO.CGImageProperties

Added property:

public static Foundation.NSString OpenExrCompression { get; }

Namespace JavaScriptCore

Type Changed: JavaScriptCore.JSContext

Added property:

public virtual bool Inspectable { get; set; }

Namespace MapKit

Type Changed: MapKit.MKOverlayRenderer

Added method:

public static System.Runtime.InteropServices.NFloat MKRoadWidthAtZoomScale (System.Runtime.InteropServices.NFloat zoomScale);

Namespace MediaAccessibility

New Type: MediaAccessibility.MAVideoAccommodations

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:

public static void SetScissorRects (this IMTLRenderCommandEncoder This, MTLScissorRect[] scissorRects);
public static void SetTileBuffers (this IMTLRenderCommandEncoder This, IMTLBuffer[] buffers, UIntPtr[] offsets, Foundation.NSRange range);
public static void SetTileSamplerStates (this IMTLRenderCommandEncoder This, IMTLSamplerState[] samplers, float[] lodMinClamps, float[] lodMaxClamps, Foundation.NSRange range);
public static void SetViewports (this IMTLRenderCommandEncoder This, MTLViewport[] viewports);

Namespace MetalKit

Type Changed: MetalKit.MTKTextureLoaderOptions

Modified properties:

-public bool? GenerateMipmaps { get; set; }
+public bool? GenerateMipmaps { get; }

Namespace Network

Type Changed: Network.NWDataTransferReport

Obsoleted methods:

 [Obsolete ("Use the 'GetPathRadioType' property instead.")]
 public NWInterfaceRadioType get_path_radio_type (uint pathIndex);

Added method:

public NWInterfaceRadioType GetPathRadioType (uint pathIndex);

Type Changed: Network.NWQuicStreamType

Added value:

Datagram = 3,

Namespace ObjCRuntime

Type Changed: ObjCRuntime.BlockLiteral

Added constructors:

public BlockLiteral (void* trampoline, object context, System.Reflection.MethodInfo trampolineMethod);
public BlockLiteral (void* trampoline, object context, string trampolineSignature);
public BlockLiteral (void* trampoline, object context, System.Type trampolineType, string trampolineMethod);

Added interface:

System.IDisposable

Added property:

public object Context { get; }

Added method:

public virtual void Dispose ();

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "16.1";
+public const string SdkVersion = "16.4";
-public const string Version = "16.1.1";
+public const string Version = "16.5.0";

Type Changed: ObjCRuntime.Runtime

Added method:

public static Foundation.NSObject GetNSObject (NativeHandle ptr);

Namespace Photos

Type Changed: Photos.PHFetchResult

Obsoleted properties:

 [Obsolete ("Use the 'FirstObject' property instead.")]
 public virtual Foundation.NSObject firstObject { get; }

Added property:

public virtual Foundation.NSObject FirstObject { get; }

Namespace Security

Type Changed: Security.SslContext

Obsoleted methods:

 [Obsolete ("'SetSessionStrengthPolicy' is not available anymore.")]
 public SslStatus SetSessionStrengthPolicy (SslSessionStrengthPolicy policyStrength);

Namespace SpriteKit

Type Changed: SpriteKit.SKAction

Modified methods:

-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, System.Runtime.InteropServices.NFloat speed)
+public SKAction FollowPath (CoreGraphics.CGPath path, bool offset, bool orientToPath, System.Runtime.InteropServices.NFloat speed)

Namespace StoreKit

Type Changed: StoreKit.StoreProductParameters

Modified properties:

-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:

 [Obsolete ("This property will be ignored in .NET 8.")]
 public bool BypassBackgroundSessionCheck { get; set; }

Namespace UIKit

Type Changed: UIKit.NSTextList

Added constructors:

public NSTextList (string format);
public NSTextList (NSTextListMarkerFormats format);
public NSTextList (string format, NSTextListOptions mask);

Added property:

public string CustomMarkerFormat { get; }

Type Changed: UIKit.NSTextListMarkerFormats

Added value:

CustomString = -1,

Type Changed: UIKit.NSTextListOptions

Added value:

None = 0,

Type Changed: UIKit.UIButtonConfiguration

Added properties:

public virtual UILineBreakMode SubtitleLineBreakMode { get; set; }
public virtual UILineBreakMode TitleLineBreakMode { get; set; }

Type Changed: UIKit.UIConfigurationColorTransformer

Obsoleted properties:

 [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:

 [Obsolete ("Use the 'XHeight' property instead.")]
 public virtual System.Runtime.InteropServices.NFloat xHeight { get; }

Added property:

public virtual System.Runtime.InteropServices.NFloat XHeight { get; }

Type Changed: UIKit.UISearchBar

Added property:

public virtual bool Enabled { get; set; }

New Type: UIKit.UIFontWeightConstants

public static class UIFontWeightConstants {
	// properties
	public static System.Runtime.InteropServices.NFloat Black { get; }
	public static System.Runtime.InteropServices.NFloat Bold { get; }
	public static System.Runtime.InteropServices.NFloat Heavy { get; }
	public static System.Runtime.InteropServices.NFloat Light { get; }
	public static System.Runtime.InteropServices.NFloat Medium { get; }
	public static System.Runtime.InteropServices.NFloat Regular { get; }
	public static System.Runtime.InteropServices.NFloat Semibold { get; }
	public static System.Runtime.InteropServices.NFloat Thin { get; }
	public static System.Runtime.InteropServices.NFloat UltraLight { get; }
}

New Type: UIKit.UIFontWeightExtensions

public static class UIFontWeightExtensions {
	// methods
	public static System.Runtime.InteropServices.NFloat GetWeight (this UIFontWeight weight);
}

Namespace VideoSubscriberAccount

Type Changed: VideoSubscriberAccount.VSUserAccount

Added property:

public virtual bool SignedOut { get; set; }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment