Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created April 30, 2021 03:42
Show Gist options
  • Save vs-mobiletools-engineering-service2/36a664494bc1ca97af61ce19d005ce20 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/36a664494bc1ca97af61ce19d005ce20 to your computer and use it in GitHub Desktop.
tvOS API diff from stable
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.TVOS SDK API diff: 14.14.2 vs 14.21.0
List of API changes between Xamarin.TVOS versions 14.14.2 and 14.21.0.
spouliot
sepoulio
4/29/2021
article
af0be2ab-7286-c65d-0d01-532a1f797f59
xamarin

Xamarin.TVOS SDK API diff: 14.14.2 vs 14.21.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioSession

Added property:

public virtual bool PrefersNoInterruptionsFromSystemAlerts { get; }

Added method:

public virtual bool SetPrefersNoInterruptionsFromSystemAlerts (bool inValue, out Foundation.NSError outError);

Type Changed: AVFoundation.AVAudioSessionCategoryOptions

Added value:

OverrideMutedMicrophoneInterruption = 128,

Type Changed: AVFoundation.AVContentKeyRequest

Added properties:

public virtual AVContentKey ContentKey { get; }
public virtual AVContentKeySpecifier ContentKeySpecifier { get; }

Type Changed: AVFoundation.AVPlayer

Added property:

public static Foundation.NSString WaitingDuringInterstitialEventReason { get; }

Type Changed: AVFoundation.AVPlayerItem

Added property:

public virtual AVVariantPreferences VariantPreferences { get; set; }

Type Changed: AVFoundation.AVSampleBufferAudioRenderer

Added property:

public virtual bool HasSufficientMediaDataForReliablePlaybackStart { get; }

Type Changed: AVFoundation.AVSampleBufferDisplayLayer

Added property:

public static Foundation.NSString OutputObscuredDueToInsufficientExternalProtectionDidChangeNotification { get; }

Type Changed: AVFoundation.AVSampleBufferDisplayLayer.Notifications

Added methods:

public static Foundation.NSObject ObserveOutputObscuredDueToInsufficientExternalProtectionDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveOutputObscuredDueToInsufficientExternalProtectionDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);

Type Changed: AVFoundation.AVSampleBufferRenderSynchronizer

Added property:

public virtual bool DelaysRateChangeUntilHasSufficientMediaData { get; set; }

Added method:

public virtual void SetRate (float rate, CoreMedia.CMTime time, CoreMedia.CMTime hostTime);

Type Changed: AVFoundation.AVUrlAsset

Added method:

public virtual void DidProvideContentKey (AVContentKeySession contentKeySession, AVContentKey contentKey);

New Type: AVFoundation.AVContentKey

public class AVContentKey : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVContentKey ();
	protected AVContentKey (Foundation.NSObjectFlag t);
	protected AVContentKey (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVContentKeySpecifier ContentKeySpecifier { get; }
}

New Type: AVFoundation.AVContentKeyRecipient_Extensions

public static class AVContentKeyRecipient_Extensions {
	// methods
	public static void DidProvideContentKey (this IAVContentKeyRecipient This, AVContentKeySession contentKeySession, AVContentKey contentKey);
}

New Type: AVFoundation.AVContentKeySpecifier

public class AVContentKeySpecifier : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVContentKeySpecifier ();
	protected AVContentKeySpecifier (Foundation.NSObjectFlag t);
	protected AVContentKeySpecifier (IntPtr handle);
	public AVContentKeySpecifier (AVContentKeySystem keySystem, Foundation.NSObject contentKeyIdentifier, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSObject Identifier { get; }
	public virtual AVContentKeySystem KeySystem { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Options { get; }
	// methods
	public static AVContentKeySpecifier GetContentKeySpecifier (AVContentKeySystem keySystem, Foundation.NSObject contentKeyIdentifier, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
}

New Type: AVFoundation.AVMetadataFaceObject

public class AVMetadataFaceObject : AVFoundation.AVMetadataObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMetadataFaceObject ();
	protected AVMetadataFaceObject (Foundation.NSObjectFlag t);
	protected AVMetadataFaceObject (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint FaceID { get; }
	public virtual bool HasRollAngle { get; }
	public virtual bool HasYawAngle { get; }
	public virtual nfloat RollAngle { get; }
	public virtual nfloat YawAngle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVMetadataMachineReadableCodeObject

public class AVMetadataMachineReadableCodeObject : AVFoundation.AVMetadataObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMetadataMachineReadableCodeObject ();
	protected AVMetadataMachineReadableCodeObject (Foundation.NSObjectFlag t);
	protected AVMetadataMachineReadableCodeObject (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreImage.CIBarcodeDescriptor Descriptor { get; }
	public virtual string StringValue { get; }
	public virtual Foundation.NSDictionary[] WeakCorners { get; }
}

New Type: AVFoundation.AVMetadataObject

public class AVMetadataObject : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVMetadataObject (Foundation.NSObjectFlag t);
	protected AVMetadataObject (IntPtr handle);
	// properties
	public virtual CoreGraphics.CGRect Bounds { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CoreMedia.CMTime Duration { get; }
	public virtual CoreMedia.CMTime Time { get; }
	public static Foundation.NSString TypeAztecCode { get; }
	public static Foundation.NSString TypeCode128Code { get; }
	public static Foundation.NSString TypeCode39Code { get; }
	public static Foundation.NSString TypeCode39Mod43Code { get; }
	public static Foundation.NSString TypeCode93Code { get; }
	public static Foundation.NSString TypeDataMatrixCode { get; }
	public static Foundation.NSString TypeEAN13Code { get; }
	public static Foundation.NSString TypeEAN8Code { get; }
	public static Foundation.NSString TypeFace { get; }
	public static Foundation.NSString TypeITF14Code { get; }
	public static Foundation.NSString TypeInterleaved2of5Code { get; }
	public static Foundation.NSString TypePDF417Code { get; }
	public static Foundation.NSString TypeQRCode { get; }
	public static Foundation.NSString TypeUPCECode { get; }
	public virtual Foundation.NSString WeakType { get; }
}

New Type: AVFoundation.AVPlayerInterstitialEvent

public class AVPlayerInterstitialEvent : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlayerInterstitialEvent (Foundation.NSObjectFlag t);
	protected AVPlayerInterstitialEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual AVPlayerItem[] InterstitialTemplateItems { get; }
	public virtual AVPlayerItem PrimaryItem { get; }
	public virtual AVPlayerInterstitialEventRestrictions Restrictions { get; }
	public virtual CoreMedia.CMTime ResumptionOffset { get; }
	public virtual AVPlayerItem[] TemplateItems { get; }
	public virtual CoreMedia.CMTime Time { get; }
	// methods
	protected override void Dispose (bool disposing);
	public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
	public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
	public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
	public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
}

New Type: AVFoundation.AVPlayerInterstitialEventController

public class AVPlayerInterstitialEventController : AVFoundation.AVPlayerInterstitialEventObserver, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerInterstitialEventController (AVPlayer primaryPlayer);
	protected AVPlayerInterstitialEventController (Foundation.NSObjectFlag t);
	protected AVPlayerInterstitialEventController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVPlayerInterstitialEvent[] Events { get; set; }
	public virtual AVPlayerInterstitialEvent[] InterstitialEvents { get; set; }
	// methods
	public virtual void CancelCurrentEvent (CoreMedia.CMTime resumptionOffset);
	public static AVPlayerInterstitialEventController GetInterstitialEventController (AVPlayer primaryPlayer);
	public static AVPlayerInterstitialEventController GetPlayerInterstitialEventController (AVPlayer primaryPlayer);
}

New Type: AVFoundation.AVPlayerInterstitialEventObserver

public class AVPlayerInterstitialEventObserver : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerInterstitialEventObserver (AVPlayer primaryPlayer);
	protected AVPlayerInterstitialEventObserver (Foundation.NSObjectFlag t);
	protected AVPlayerInterstitialEventObserver (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVPlayerInterstitialEvent CurrentEvent { get; }
	public static Foundation.NSString CurrentEventDidChangeNotification { get; }
	public virtual AVPlayerInterstitialEvent[] Events { get; }
	public static Foundation.NSString EventsDidChangeNotification { get; }
	public virtual AVPlayerInterstitialEvent[] InterstitialEvents { get; }
	public virtual AVQueuePlayer InterstitialPlayer { get; }
	public virtual AVPlayer PrimaryPlayer { get; }
	// methods
	protected override void Dispose (bool disposing);
	public static AVPlayerInterstitialEventObserver GetInterstitialEventObserver (AVPlayer primaryPlayer);
	public static AVPlayerInterstitialEventObserver GetPlayerInterstitialEventObserver (AVPlayer primaryPlayer);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveCurrentEventDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveCurrentEventDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveEventsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveEventsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: AVFoundation.AVPlayerInterstitialEventRestrictions

[Serializable]
[Flags]
public enum AVPlayerInterstitialEventRestrictions {
	ConstrainsSeekingForwardInPrimaryContent = 1,
	DefaultPolicy = 0,
	None = 0,
	RequiresPlaybackAtPreferredRateForAdvancement = 4,
}

New Type: AVFoundation.AVPlayerItem_AVPlayerInterstitialSupport

public static class AVPlayerItem_AVPlayerInterstitialSupport {
	// methods
	public static bool GetAutomaticallyHandlesInterstitialEvents (this AVPlayerItem This);
	public static AVPlayerItem GetTemplatePlayerItem (this AVPlayerItem This);
	public static void SetAutomaticallyHandlesInterstitialEvents (this AVPlayerItem This, bool value);
}

New Type: AVFoundation.AVQueuedSampleBufferRendering_Extensions

public static class AVQueuedSampleBufferRendering_Extensions {
	// methods
	public static bool GetHasSufficientMediaDataForReliablePlaybackStart (this IAVQueuedSampleBufferRendering This);
}

New Type: AVFoundation.AVSampleBufferDisplayLayer_ProtectedContent

public static class AVSampleBufferDisplayLayer_ProtectedContent {
	// methods
	public static bool GetOutputObscuredDueToInsufficientExternalProtection (this AVSampleBufferDisplayLayer This);
}

New Type: AVFoundation.AVVariantPreferences

[Serializable]
[Flags]
public enum AVVariantPreferences {
	None = 0,
	ScalabilityToLosslessAudio = 1,
}

Namespace AudioUnit

Type Changed: AudioUnit.AudioComponentInstantiationOptions

Added value:

LoadedRemotely = 2147483648,

Type Changed: AudioUnit.AudioComponentValidationParameter

Added field:

public static Foundation.NSString LoadOutOfProcess;

Namespace AuthenticationServices

Removed Type AuthenticationServices.ASExtensionErrorCodeExtensions

Namespace CoreMedia

Type Changed: CoreMedia.CMVideoCodecType

Added value:

DolbyVisionHevc = 1685481521,

Namespace CoreText

Type Changed: CoreText.CTRunDelegate

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
protected override void ~CTRunDelegate ();

Type Changed: CoreText.CTRunDelegateOperations

Added property:

public IntPtr Handle { get; }

Namespace CoreVideo

New Type: CoreVideo.CVImageBufferAlphaChannelModeExtensions

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

Namespace Foundation

Type Changed: Foundation.NSError

Added properties:

public static NSString MultipleUnderlyingErrorsKey { get; }
public virtual NSError[] UnderlyingErrors { get; }

Type Changed: Foundation.NSMutableUrlRequest

Added property:

public virtual bool AssumesHttp3Capable { get; set; }

Type Changed: Foundation.NSProgress

Added property:

public static NSString FileOperationKindUploading { get; }

Type Changed: Foundation.NSUrl

Added property:

public static NSString UbiquitousItemIsExcludedFromSyncKey { get; }

Type Changed: Foundation.NSUrlRequest

Added property:

public virtual bool AssumesHttp3Capable { get; set; }

Type Changed: Foundation.NSUrlSessionTask

Added property:

public virtual bool PrefersIncrementalDelivery { get; set; }

Namespace GameController

Type Changed: GameController.GCController

Added property:

public static bool ShouldMonitorBackgroundEvents { get; set; }

New Type: GameController.GCDualSenseAdaptiveTrigger

public class GCDualSenseAdaptiveTrigger : GameController.GCControllerButtonInput, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GCDualSenseAdaptiveTrigger (Foundation.NSObjectFlag t);
	protected GCDualSenseAdaptiveTrigger (IntPtr handle);
	// properties
	public virtual float ArmPosition { get; }
	public override IntPtr ClassHandle { get; }
	public virtual GCDualSenseAdaptiveTriggerMode Mode { get; }
	public virtual GCDualSenseAdaptiveTriggerStatus Status { get; }
	// methods
	public virtual void SetModeFeedback (float startPosition, float resistiveStrength);
	public virtual void SetModeOff ();
	public virtual void SetModeVibration (float startPosition, float amplitude, float frequency);
	public virtual void SetModeWeapon (float startPosition, float endPosition, float resistiveStrength);
}

New Type: GameController.GCDualSenseAdaptiveTriggerMode

[Serializable]
public enum GCDualSenseAdaptiveTriggerMode {
	Feedback = 1,
	Off = 0,
	Vibration = 3,
	Weapon = 2,
}

New Type: GameController.GCDualSenseAdaptiveTriggerStatus

[Serializable]
public enum GCDualSenseAdaptiveTriggerStatus {
	FeedbackLoadApplied = 1,
	FeedbackNoLoad = 0,
	Unknown = -1,
	VibrationIsVibrating = 6,
	VibrationNotVibrating = 5,
	WeaponFired = 4,
	WeaponFiring = 3,
	WeaponReady = 2,
}

New Type: GameController.GCDualSenseGamepad

public class GCDualSenseGamepad : GameController.GCExtendedGamepad, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GCDualSenseGamepad (Foundation.NSObjectFlag t);
	protected GCDualSenseGamepad (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual GCDualSenseAdaptiveTrigger LeftTrigger { get; }
	public virtual GCDualSenseAdaptiveTrigger RightTrigger { get; }
	public virtual GCControllerButtonInput TouchpadButton { get; }
	public virtual GCControllerDirectionPad TouchpadPrimary { get; }
	public virtual GCControllerDirectionPad TouchpadSecondary { get; }
}

New Type: GameController.GCInputDirectional

[Serializable]
public enum GCInputDirectional {
	CardinalDpad = 1,
	Dpad = 0,
}

New Type: GameController.GCInputDirectionalExtensions

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

Namespace GameKit

Type Changed: GameKit.GKError

Added values:

FriendListDenied = 102,
FriendListDescriptionMissing = 100,
FriendListRestricted = 101,

Type Changed: GameKit.GKLocalPlayer

Added methods:

public virtual void LoadFriendsAuthorizationStatus (System.Action<GKFriendsAuthorizationStatus,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<GKFriendsAuthorizationStatus> LoadFriendsAuthorizationStatusAsync ();
public virtual void LoadFriendsList (System.Action<GKPlayer[],Foundation.NSError> completionHandler);
public virtual void LoadFriendsList (string[] identifiers, System.Action<GKPlayer[],Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<GKPlayer[]> LoadFriendsListAsync ();
public virtual System.Threading.Tasks.Task<GKPlayer[]> LoadFriendsListAsync (string[] identifiers);

New Type: GameKit.GKFriendsAuthorizationStatus

[Serializable]
public enum GKFriendsAuthorizationStatus {
	Authorized = 3,
	Denied = 2,
	NotDetermined = 0,
	Restricted = 1,
}

Namespace HomeKit

Type Changed: HomeKit.HMCameraSource

Added property:

public virtual double AspectRatio { get; }

Type Changed: HomeKit.HMCameraStream

Added property:

public virtual HMCameraAudioStreamSetting AudioStreamSetting { get; }

Added methods:

public virtual void UpdateAudioStreamSetting (HMCameraAudioStreamSetting audioStreamSetting, System.Action<Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task UpdateAudioStreamSettingAsync (HMCameraAudioStreamSetting audioStreamSetting);

Namespace ImageIO

Type Changed: ImageIO.CGImageProperties

Added property:

public static Foundation.NSString PNGTransparency { get; }

Namespace Intents

Type Changed: Intents.INMediaReference

Added value:

My = 2,

Namespace MLCompute

Type Changed: MLCompute.MLCActivationLayer

Added methods:

public static MLCActivationLayer CreateClampLayer (float minValue, float maxValue);
public static MLCActivationLayer CreateHardSwishLayer ();

Type Changed: MLCompute.MLCActivationType

Added values:

Clamp = 20,
HardSwish = 19,

Type Changed: MLCompute.MLCArithmeticOperation

Added values:

DivideNoNaN = 27,
Max = 29,
Min = 28,
MultiplyNoNaN = 26,

Type Changed: MLCompute.MLCGraph

Added methods:

public virtual MLCTensor Gather (nuint dimension, MLCTensor source, MLCTensor indices);
public virtual MLCTensor Scatter (nuint dimension, MLCTensor source, MLCTensor indices, MLCTensor copyFrom, MLCReductionType reductionType);
public virtual MLCTensor Select (MLCTensor[] sources, MLCTensor condition);

Type Changed: MLCompute.MLCInferenceGraph

Added method:

public virtual bool Compile (MLCGraphCompilationOptions options, MLCDevice device, Foundation.NSDictionary<Foundation.NSString,MLCompute.MLCTensor> inputTensors, Foundation.NSDictionary<Foundation.NSString,MLCompute.MLCTensorData> inputTensorsData);

Type Changed: MLCompute.MLCInstanceNormalizationLayer

Added properties:

public virtual MLCTensor Mean { get; }
public virtual MLCTensor Variance { get; }

Added method:

public static MLCInstanceNormalizationLayer Create (nuint featureChannelCount, MLCTensor mean, MLCTensor variance, MLCTensor beta, MLCTensor gamma, float varianceEpsilon, float momentum);

Type Changed: MLCompute.MLCReductionLayer

Added property:

public virtual nuint[] Dimensions { get; }

Added method:

public static MLCReductionLayer Create (MLCReductionType reductionType, nuint[] dimensions);

Type Changed: MLCompute.MLCReductionType

Added values:

All = 9,
Any = 8,
L1Norm = 7,

Type Changed: MLCompute.MLCReshapeLayer

Added property:

public virtual nint[] Shape { get; }

Type Changed: MLCompute.MLCTensorData

Added method:

public static MLCTensorData CreateFromBytesNoCopy (IntPtr bytes, nuint length, System.Action<System.IntPtr,System.nuint> deallocator);

Type Changed: MLCompute.MLCTrainingGraph

Added method:

public virtual bool Compile (MLCGraphCompilationOptions options, MLCDevice device, Foundation.NSDictionary<Foundation.NSString,MLCompute.MLCTensor> inputTensors, Foundation.NSDictionary<Foundation.NSString,MLCompute.MLCTensorData> inputTensorsData);

New Type: MLCompute.MLCComparisonLayer

public class MLCComparisonLayer : MLCompute.MLCLayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCComparisonLayer (Foundation.NSObjectFlag t);
	protected MLCComparisonLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MLCComparisonOperation Operation { get; }
	// methods
	public static MLCComparisonLayer Create (MLCComparisonOperation operation);
}

New Type: MLCompute.MLCComparisonOperation

[Serializable]
public enum MLCComparisonOperation {
	Equal = 0,
	Greater = 3,
	GreaterOrEqual = 5,
	Less = 2,
	LessOrEqual = 4,
	LogicalAnd = 6,
	LogicalNand = 9,
	LogicalNor = 10,
	LogicalNot = 8,
	LogicalOr = 7,
	LogicalXor = 11,
	NotEqual = 1,
}

New Type: MLCompute.MLCComparisonOperationExtensions

public static class MLCComparisonOperationExtensions {
	// methods
	public static string GetDebugDescription (this MLCComparisonOperation self);
}

New Type: MLCompute.MLCGatherLayer

public class MLCGatherLayer : MLCompute.MLCLayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCGatherLayer (Foundation.NSObjectFlag t);
	protected MLCGatherLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Dimension { get; }
	// methods
	public static MLCGatherLayer Create (nuint dimension);
}

New Type: MLCompute.MLCScatterLayer

public class MLCScatterLayer : MLCompute.MLCLayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCScatterLayer (Foundation.NSObjectFlag t);
	protected MLCScatterLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Dimension { get; }
	public virtual MLCReductionType ReductionType { get; }
	// methods
	public static MLCScatterLayer Create (nuint dimension, MLCReductionType reductionType);
}

New Type: MLCompute.MLCSelectionLayer

public class MLCSelectionLayer : MLCompute.MLCLayer, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCSelectionLayer (Foundation.NSObjectFlag t);
	protected MLCSelectionLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static MLCSelectionLayer Create ();
}

Namespace MediaPlayer

Type Changed: MediaPlayer.MPMediaItem

Added properties:

public bool IsPreorder { get; }
public static Foundation.NSString IsPreorderProperty { get; }

Namespace Metal

Type Changed: Metal.MTLComputeCommandEncoder_Extensions

Added methods:

public static void DispatchThreads (this IMTLComputeCommandEncoder This, MTLSize threadsPerGrid, MTLSize threadsPerThreadgroup);
public static void SetImageblock (this IMTLComputeCommandEncoder This, nuint width, nuint height);

Type Changed: Metal.MTLComputePipelineState_Extensions

Added method:

public static nuint GetImageblockMemoryLength (this IMTLComputePipelineState This, MTLSize imageblockDimensions);

Type Changed: Metal.MTLDevice_Extensions

Added methods:

public static void CreateRenderPipelineState (this IMTLDevice This, MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler);
public static IMTLRenderPipelineState CreateRenderPipelineState (this IMTLDevice This, MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error);

Type Changed: Metal.MTLIndirectRenderCommand_Extensions

Added methods:

public static void DrawIndexedPatches (this IMTLIndirectRenderCommand This, nuint numberOfPatchControlPoints, nuint patchStart, nuint patchCount, IMTLBuffer patchIndexBuffer, nuint patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, nuint controlPointIndexBufferOffset, nuint instanceCount, nuint baseInstance, IMTLBuffer buffer, nuint offset, nuint instanceStride);
public static void DrawPatches (this IMTLIndirectRenderCommand This, nuint numberOfPatchControlPoints, nuint patchStart, nuint patchCount, IMTLBuffer patchIndexBuffer, nuint patchIndexBufferOffset, nuint instanceCount, nuint baseInstance, IMTLBuffer buffer, nuint offset, nuint instanceStride);

Type Changed: Metal.MTLRenderCommandEncoder_Extensions

Added methods:

public static void DispatchThreadsPerTile (this IMTLRenderCommandEncoder This, MTLSize threadsPerTile);
public static void DrawIndexedPatches (this IMTLRenderCommandEncoder This, nuint numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, nuint patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, nuint controlPointIndexBufferOffset, IMTLBuffer indirectBuffer, nuint indirectBufferOffset);
public static void DrawPatches (this IMTLRenderCommandEncoder This, nuint numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, nuint patchIndexBufferOffset, IMTLBuffer indirectBuffer, nuint indirectBufferOffset);
public static nuint GetTileHeight (this IMTLRenderCommandEncoder This);
public static nuint GetTileWidth (this IMTLRenderCommandEncoder This);
public static void SetScissorRects (this IMTLRenderCommandEncoder This, IntPtr scissorRects, nuint count);
public static void SetThreadgroupMemoryLength (this IMTLRenderCommandEncoder This, nuint length, nuint offset, nuint index);
public static void SetTileBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint index);
public static void SetTileBufferOffset (this IMTLRenderCommandEncoder This, nuint offset, nuint index);
public static void SetTileBuffers (this IMTLRenderCommandEncoder This, IMTLBuffer[] buffers, IntPtr offsets, Foundation.NSRange range);
public static void SetTileBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, nuint length, nuint index);
public static void SetTileSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, nuint index);
public static void SetTileSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, nuint index);
public static void SetTileSamplerStates (this IMTLRenderCommandEncoder This, IMTLSamplerState[] samplers, Foundation.NSRange range);
public static void SetTileSamplerStates (this IMTLRenderCommandEncoder This, IMTLSamplerState[] samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
public static void SetTileTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, nuint index);
public static void SetTileTextures (this IMTLRenderCommandEncoder This, IMTLTexture[] textures, Foundation.NSRange range);
public static void SetViewports (this IMTLRenderCommandEncoder This, IntPtr viewports, nuint count);

Type Changed: Metal.MTLRenderPassDescriptor

Added properties:

public virtual nuint DefaultRasterSampleCount { get; set; }
public virtual nuint ImageblockSampleLength { get; set; }
public virtual nuint RenderTargetArrayLength { get; set; }
public virtual nuint RenderTargetHeight { get; set; }
public virtual nuint RenderTargetWidth { get; set; }
public virtual nuint ThreadgroupMemoryLength { get; set; }
public virtual nuint TileHeight { get; set; }
public virtual nuint TileWidth { get; set; }

Type Changed: Metal.MTLRenderPassStencilAttachmentDescriptor

Added property:

public virtual MTLMultisampleStencilResolveFilter StencilResolveFilter { get; set; }

Type Changed: Metal.MTLRenderPipelineDescriptor

Added property:

public virtual MTLPrimitiveTopologyClass InputPrimitiveTopology { get; set; }

Type Changed: Metal.MTLRenderPipelineReflection

Added property:

public virtual MTLArgument[] TileArguments { get; }

Type Changed: Metal.MTLRenderPipelineState_Extensions

Added methods:

public static nuint GetImageblockMemoryLength (this IMTLRenderPipelineState This, MTLSize imageblockDimensions);
public static nuint GetImageblockSampleLength (this IMTLRenderPipelineState This);
public static nuint GetMaxTotalThreadsPerThreadgroup (this IMTLRenderPipelineState This);
public static bool GetThreadgroupSizeMatchesTileSize (this IMTLRenderPipelineState This);

New Type: Metal.MTLBinaryArchive_Extensions

public static class MTLBinaryArchive_Extensions {
	// methods
	public static bool AddTileRenderPipelineFunctions (this IMTLBinaryArchive This, MTLTileRenderPipelineDescriptor descriptor, out Foundation.NSError error);
}

New Type: Metal.MTLMultisampleStencilResolveFilter

[Serializable]
public enum MTLMultisampleStencilResolveFilter {
	DepthResolvedSample = 1,
	Sample0 = 0,
}

New Type: Metal.MTLNewRenderPipelineStateWithReflectionCompletionHandler

public sealed delegate MTLNewRenderPipelineStateWithReflectionCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public MTLNewRenderPipelineStateWithReflectionCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (IMTLRenderPipelineState renderPipelineState, MTLRenderPipelineReflection reflection, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (IMTLRenderPipelineState renderPipelineState, MTLRenderPipelineReflection reflection, Foundation.NSError error);
}

New Type: Metal.MTLTileRenderPipelineColorAttachmentDescriptor

public class MTLTileRenderPipelineColorAttachmentDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MTLTileRenderPipelineColorAttachmentDescriptor ();
	protected MTLTileRenderPipelineColorAttachmentDescriptor (Foundation.NSObjectFlag t);
	protected MTLTileRenderPipelineColorAttachmentDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLPixelFormat PixelFormat { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLTileRenderPipelineColorAttachmentDescriptorArray

public class MTLTileRenderPipelineColorAttachmentDescriptorArray : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MTLTileRenderPipelineColorAttachmentDescriptorArray ();
	protected MTLTileRenderPipelineColorAttachmentDescriptorArray (Foundation.NSObjectFlag t);
	protected MTLTileRenderPipelineColorAttachmentDescriptorArray (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Metal.MTLTileRenderPipelineDescriptor

public class MTLTileRenderPipelineDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MTLTileRenderPipelineDescriptor ();
	protected MTLTileRenderPipelineDescriptor (Foundation.NSObjectFlag t);
	protected MTLTileRenderPipelineDescriptor (IntPtr handle);
	// properties
	public virtual IMTLBinaryArchive[] BinaryArchives { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual MTLTileRenderPipelineColorAttachmentDescriptorArray ColorAttachments { get; }
	public virtual string Label { get; set; }
	public virtual nuint MaxTotalThreadsPerThreadgroup { get; set; }
	public virtual nuint RasterSampleCount { get; set; }
	public virtual bool ThreadgroupSizeMatchesTileSize { get; set; }
	public virtual MTLPipelineBufferDescriptorArray TileBuffers { get; }
	public virtual IMTLFunction TileFunction { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void Reset ();
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "14.3";
+public const string SdkVersion = "14.5";
-public const string Version = "14.14.2";
+public const string Version = "14.21.0";

Type Changed: ObjCRuntime.PlatformName

Obsoleted fields:

 [Obsolete ("Use 'MacCatalyst' instead.")]
 UIKitForMac = 5,

Namespace StoreKit

Type Changed: StoreKit.SKError

Added value:

OverlayPresentedInBackgroundScene = 20,

Namespace UIKit

Type Changed: UIKit.UISplitViewController

Added property:

public virtual UISplitViewControllerDisplayModeButtonVisibility DisplayModeButtonVisibility { get; set; }

Type Changed: UIKit.UIWindowSceneSessionRole

Removed value:

CarTemplateApplication = 2,

New Type: UIKit.UISplitViewControllerDisplayModeButtonVisibility

[Serializable]
public enum UISplitViewControllerDisplayModeButtonVisibility {
	Always = 2,
	Automatic = 0,
	Never = 1,
}

Namespace VideoToolbox

Type Changed: VideoToolbox.VTCompressionPropertyKey

Added properties:

public static Foundation.NSString BaseLayerFrameRateFraction { get; }
public static Foundation.NSString EnableLowLatencyRateControl { get; }

New Type: VideoToolbox.HdrMetadataInsertionModeExtensions

public static class HdrMetadataInsertionModeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HdrMetadataInsertionMode self);
	public static HdrMetadataInsertionMode GetValue (Foundation.NSString constant);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment