Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created November 2, 2022 18:47
Show Gist options
  • Save vs-mobiletools-engineering-service2/541e44c7654d50fb63ab20ad8c105275 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/541e44c7654d50fb63ab20ad8c105275 to your computer and use it in GitHub Desktop.
stable-api-comparison/diff/dotnet/Microsoft.iOS.Ref/ref/net6.0/Microsoft.iOS.md

API diff: Microsoft.iOS.dll

Microsoft.iOS.dll

Assembly Version Changed: 16.0.0.0 -> 16.1.0.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAssetExportSession

Added property:

public virtual AVAssetTrackGroupOutputHandling AudioTrackGroupHandling { get; set; }

Type Changed: AVFoundation.AVAssetImageGenerator

Added methods:

public virtual void GenerateCGImage (CoreMedia.CMTime requestedTime, System.Action<CoreGraphics.CGImage,CoreMedia.CMTime,Foundation.NSError> handler);
public virtual System.Threading.Tasks.Task<GenerateCGImageAsyncResult> GenerateCGImageAsync (CoreMedia.CMTime requestedTime);
public void GenerateCGImagesAsynchronously (Foundation.NSValue[] cmTimesRequestedTimes, AVAssetImageGeneratorCompletionHandler2 handler);

Type Changed: AVFoundation.AVAssetResourceLoadingContentInformationRequest

Added property:

public virtual bool IsEntireLengthAvailableOnDemand { get; set; }

Type Changed: AVFoundation.AVAssetTrack

Added property:

public virtual bool CanProvideSampleCursors { get; }

Added methods:

public virtual AVSampleCursor MakeSampleCursor (CoreMedia.CMTime presentationTimeStamp);
public virtual AVSampleCursor MakeSampleCursorAtFirstSampleInDecodeOrder ();
public virtual AVSampleCursor MakeSampleCursorAtLastSampleInDecodeOrder ();

Type Changed: AVFoundation.AVAudioRecorder

Obsoleted properties:

 [Obsolete ("Use the 'CurrentTime' property instead.")]
 public virtual double currentTime { get; }

Added property:

public virtual double CurrentTime { get; }

Type Changed: AVFoundation.AVAudioSequencer

Added methods:

public virtual AVMusicTrack CreateAndAppendTrack ();
public virtual bool RemoveTrack (AVMusicTrack track);
public virtual void ReverseEvents ();
public virtual void SetUserCallback (AVAudioSequencerUserCallback userCallback);

Type Changed: AVFoundation.AVAudioUnitComponent

Added properties:

public virtual UIKit.UIImage Icon { get; }
public virtual bool PassesAUVal { get; }
public virtual Foundation.NSDictionary WeakConfigurationDictionary { get; }

Type Changed: AVFoundation.AVCaptureDevice

Added properties:

public virtual AVCaptureDevice CompanionDeskViewCamera { get; }
public virtual bool IsContinuityCamera { get; }
public virtual bool IsStudioLightActive { get; }
public static bool IsStudioLightEnabled { get; set; }

Type Changed: AVFoundation.AVCaptureDeviceFormat

Added properties:

public virtual bool IsStudioLightSupported { get; }
public virtual Foundation.NSNumber[] SecondaryNativeResolutionZoomFactors { get; }
public virtual Foundation.NSValue[] SupportedMaxPhotoDimensions { get; }
public virtual Foundation.NSNumber[] SupportedVideoZoomFactorsForDepthDataDelivery { get; }
public virtual AVFrameRateRange VideoFrameRateRangeForStudioLight { get; }

Type Changed: AVFoundation.AVCaptureDeviceType

Added value:

DeskViewCamera = 11,

Type Changed: AVFoundation.AVCapturePhotoOutput

Added properties:

public virtual CoreMedia.CMVideoDimensions MaxPhotoDimensions { get; set; }
public virtual bool PreservesLivePhotoCaptureSuspendedOnSessionStop { get; set; }

Type Changed: AVFoundation.AVCapturePhotoSettings

Added property:

public virtual CoreMedia.CMVideoDimensions MaxPhotoDimensions { get; set; }

Type Changed: AVFoundation.AVCaptureSession

Added properties:

public virtual float HardwareCost { get; }
public virtual bool IsMultitaskingCameraAccessEnabled { get; set; }
public virtual bool IsMultitaskingCameraAccessSupported { get; }

Type Changed: AVFoundation.AVError

Added values:

AirPlayReceiverTemporarilyUnavailable = -11882,
FailedToLoadSampleData = -11881,
InvalidSampleCursor = -11880,

Type Changed: AVFoundation.AVMusicTrack

Added property:

public virtual bool UsesAutomatedParameters { get; set; }

Added methods:

public virtual void AddEvent (AVMusicEvent event, double beat);
public virtual void ClearEvents (AVBeatRange range);
public virtual void CopyAndMergeEvents (AVBeatRange range, AVMusicTrack sourceTrack, double mergeStartBeat);
public virtual void CopyEvents (AVBeatRange range, AVMusicTrack sourceTrack, double insertStartBeat);
public virtual void CutEvents (AVBeatRange range);
public virtual void EnumerateEvents (AVBeatRange range, AVMusicEventEnumerationBlock block);
public virtual void MoveEvents (AVBeatRange range, double beatAmount);

Type Changed: AVFoundation.AVMutableComposition

Added methods:

public virtual void Insert (CoreMedia.CMTimeRange timeRange, AVAsset asset, CoreMedia.CMTime startTime, System.Action<Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task InsertAsync (CoreMedia.CMTimeRange timeRange, AVAsset asset, CoreMedia.CMTime startTime);

Type Changed: AVFoundation.AVMutableCompositionTrack

Added methods:

public virtual void InsertTimeRange (CoreMedia.CMTimeRange timeRange, AVAsset asset, CoreMedia.CMTime startTime, System.Action<Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task InsertTimeRangeAsync (CoreMedia.CMTimeRange timeRange, AVAsset asset, CoreMedia.CMTime startTime);

Type Changed: AVFoundation.AVMutableVideoComposition

Added methods:

public static void Create (AVAsset asset, System.Action<AVVideoComposition,Foundation.NSError> completionHandler);
public static void Create (AVAsset asset, AVVideoCompositionInstruction prototypeInstruction, System.Action<AVMutableVideoComposition,Foundation.NSError> completionHandler);
public static void Create (AVAsset asset, System.Action<AVAsynchronousCIImageFilteringRequest> applier, System.Action<AVMutableVideoComposition,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<AVVideoComposition> CreateAsync (AVAsset asset);
public static System.Threading.Tasks.Task<AVMutableVideoComposition> CreateAsync (AVAsset asset, AVVideoCompositionInstruction prototypeInstruction);
public static System.Threading.Tasks.Task<AVMutableVideoComposition> CreateAsync (AVAsset asset, System.Action<AVAsynchronousCIImageFilteringRequest> applier);

Type Changed: AVFoundation.AVPlayer

Added property:

public virtual float DefaultRate { get; set; }

Type Changed: AVFoundation.AVPlayerInterstitialEvent

Modified properties:

-public virtual Foundation.NSDate Date { get; set; }
+public virtual Foundation.NSDate Date { get; }
-public virtual string Identifier { get; set; }
+public virtual string Identifier { get; }
-public virtual CoreMedia.CMTime PlayoutLimit { get; set; }
+public virtual CoreMedia.CMTime PlayoutLimit { get; }
-public virtual AVPlayerItem PrimaryItem { get; set; }
+public virtual AVPlayerItem PrimaryItem { get; }
-public virtual AVPlayerInterstitialEventRestrictions Restrictions { get; set; }
+public virtual AVPlayerInterstitialEventRestrictions Restrictions { get; }
-public virtual CoreMedia.CMTime ResumptionOffset { get; set; }
+public virtual CoreMedia.CMTime ResumptionOffset { get; }
-public virtual AVPlayerItem[] TemplateItems { get; set; }
+public virtual AVPlayerItem[] TemplateItems { get; }
-public virtual CoreMedia.CMTime Time { get; set; }
+public virtual CoreMedia.CMTime Time { get; }
-public virtual Foundation.NSDictionary UserDefinedAttributes { get; set; }
+public virtual Foundation.NSDictionary UserDefinedAttributes { get; }

Added properties:

public virtual bool AlignsResumptionWithPrimarySegmentBoundary { get; set; }
public virtual bool AlignsStartWithPrimarySegmentBoundary { get; set; }
public virtual string Cue { get; set; }
public virtual bool WillPlayOnce { get; set; }

Added methods:

public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time);
public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date);

Type Changed: AVFoundation.AVPlayerLayer

Added method:

public virtual CoreVideo.CVPixelBuffer CopyDisplayedPixelBuffer ();

Type Changed: AVFoundation.AVRouteDetector

Added property:

public virtual bool DetectsCustomRoutes { get; set; }

Type Changed: AVFoundation.AVSpeechSynthesisVoiceQuality

Added value:

Premium = 3,

Type Changed: AVFoundation.AVSpeechSynthesizer

Added method:

public virtual void WriteUtterance (AVSpeechUtterance utterance, AVSpeechSynthesizerBufferCallback bufferCallback, AVSpeechSynthesizerMarkerCallback markerCallback);

Type Changed: AVFoundation.AVSpeechUtterance

Removed constructor:

public AVSpeechUtterance (string speechString);

Added constructor:

public AVSpeechUtterance (string speechString, bool isSsmlRepresentation);

Added method:

public static AVSpeechUtterance GetSpeechUtterance (string SsmlRepresentation);

Type Changed: AVFoundation.AVUrlAsset

Added properties:

public virtual Foundation.NSUuid HttpSessionIdentifier { get; }
public static Foundation.NSString HttpUserAgentKey { get; }
public static Foundation.NSString PrimarySessionIdentifierKey { get; }

Type Changed: AVFoundation.AVVideoComposition

Added methods:

public static void Create (AVAsset asset, System.Action<AVMutableVideoComposition,Foundation.NSError> completionHandler);
public static void Create (AVAsset asset, System.Action<AVAsynchronousCIImageFilteringRequest> applier, System.Action<AVVideoComposition,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<AVMutableVideoComposition> CreateAsync (AVAsset asset);
public static System.Threading.Tasks.Task<AVVideoComposition> CreateAsync (AVAsset asset, System.Action<AVAsynchronousCIImageFilteringRequest> applier);
public virtual void DetermineValidity (AVAsset asset, CoreMedia.CMTimeRange timeRange, IAVVideoCompositionValidationHandling validationDelegate, System.Action<System.Boolean,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DetermineValidityAsync (AVAsset asset, CoreMedia.CMTimeRange timeRange, IAVVideoCompositionValidationHandling validationDelegate);

Type Changed: AVFoundation.AVVideoCompositionRenderHint

Added methods:

public virtual void DetermineValidity (AVAsset asset, CoreMedia.CMTimeRange timeRange, IAVVideoCompositionValidationHandling validationDelegate, System.Action<System.Boolean,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DetermineValidityAsync (AVAsset asset, CoreMedia.CMTimeRange timeRange, IAVVideoCompositionValidationHandling validationDelegate);

Type Changed: AVFoundation.AVVideoTransferFunction

Added property:

public static Foundation.NSString AVVideoTransferFunction_Linear { get; }

New Type: AVFoundation.AVAUPresetEvent

public class AVAUPresetEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVAUPresetEvent ();
	protected AVAUPresetEvent (Foundation.NSObjectFlag t);
	protected AVAUPresetEvent (ObjCRuntime.NativeHandle handle);
	public AVAUPresetEvent (uint scope, uint element, Foundation.NSDictionary presetDictionary);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint Element { get; set; }
	public virtual Foundation.NSDictionary PresetDictionary { get; }
	public virtual uint Scope { get; set; }
}

New Type: AVFoundation.AVAssetImageGeneratorCompletionHandler2

public sealed delegate AVAssetImageGeneratorCompletionHandler2 : System.MulticastDelegate {
	// constructors
	public AVAssetImageGeneratorCompletionHandler2 (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CoreMedia.CMTime requestedTime, CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, AVAssetImageGeneratorResult result, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CoreMedia.CMTime requestedTime, CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, AVAssetImageGeneratorResult result, Foundation.NSError error);
}

New Type: AVFoundation.AVAssetPlaybackAssistant

public class AVAssetPlaybackAssistant : Foundation.NSObject {
	// constructors
	protected AVAssetPlaybackAssistant (Foundation.NSObjectFlag t);
	protected AVAssetPlaybackAssistant (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public static AVAssetPlaybackAssistant Create (AVAsset asset);
	public virtual void LoadPlaybackConfigurationOptions (System.Action<Foundation.NSArray<Foundation.NSString>> completionHandler);
	public virtual System.Threading.Tasks.Task<Foundation.NSArray<Foundation.NSString>> LoadPlaybackConfigurationOptionsAsync ();
}

New Type: AVFoundation.AVAssetPlaybackConfigurationOption

[Serializable]
public enum AVAssetPlaybackConfigurationOption {
	StereoMultiviewVideo = 1,
	StereoVideo = 0,
}

New Type: AVFoundation.AVAssetPlaybackConfigurationOptionExtensions

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

New Type: AVFoundation.AVAssetTrackGroupOutputHandling

[Serializable]
[Flags]
public enum AVAssetTrackGroupOutputHandling {
	DefaultPolicy = 0,
	None = 0,
	PreserveAlternateTracks = 1,
}

New Type: AVFoundation.AVAudioSequencerInfoDictionaryKeys

public static class AVAudioSequencerInfoDictionaryKeys {
	// properties
	public static Foundation.NSString AlbumKey { get; }
	public static Foundation.NSString ApproximateDurationInSecondsKey { get; }
	public static Foundation.NSString ArtistKey { get; }
	public static Foundation.NSString ChannelLayoutKey { get; }
	public static Foundation.NSString CommentsKey { get; }
	public static Foundation.NSString ComposerKey { get; }
	public static Foundation.NSString CopyrightKey { get; }
	public static Foundation.NSString EncodingApplicationKey { get; }
	public static Foundation.NSString GenreKey { get; }
	public static Foundation.NSString IsrcKey { get; }
	public static Foundation.NSString KeySignatureKey { get; }
	public static Foundation.NSString LyricistKey { get; }
	public static Foundation.NSString NominalBitRateKey { get; }
	public static Foundation.NSString RecordedDateKey { get; }
	public static Foundation.NSString SourceBitDepthKey { get; }
	public static Foundation.NSString SourceEncoderKey { get; }
	public static Foundation.NSString SubTitleKey { get; }
	public static Foundation.NSString TempoKey { get; }
	public static Foundation.NSString TimeSignatureKey { get; }
	public static Foundation.NSString TitleKey { get; }
	public static Foundation.NSString TrackNumberKey { get; }
	public static Foundation.NSString YearKey { get; }
}

New Type: AVFoundation.AVAudioSequencerUserCallback

public sealed delegate AVAudioSequencerUserCallback : System.MulticastDelegate {
	// constructors
	public AVAudioSequencerUserCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (AVMusicTrack track, Foundation.NSData data, double timestamp, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (AVMusicTrack track, Foundation.NSData data, double timestamp);
}

New Type: AVFoundation.AVCompositionTrack_SynchronousTrackInterface

public static class AVCompositionTrack_SynchronousTrackInterface {
	// methods
	public static AVAssetTrack[] GetAssociatedTracks (this AVCompositionTrack This, Foundation.NSString avAssetTrackTrackAssociationType);
	public static AVMetadataItem[] GetMetadata (this AVCompositionTrack This, AVMetadataFormat format);
	public static AVMetadataItem[] GetMetadataForFormat (this AVCompositionTrack This, string format);
	public static CoreMedia.CMTime GetSamplePresentationTime (this AVCompositionTrack This, CoreMedia.CMTime trackTime);
	public static bool HasMediaCharacteristic (this AVCompositionTrack This, string mediaCharacteristic);
}

New Type: AVFoundation.AVComposition_SynchronousAssetInterface

public static class AVComposition_SynchronousAssetInterface {
	// methods
	public static AVTimedMetadataGroup[] GetChapterMetadataGroups (this AVComposition This, Foundation.NSLocale locale, string[] commonKeys);
	public static AVTimedMetadataGroup[] GetChapterMetadataGroupsBestMatchingPreferredLanguages (this AVComposition This, string[] preferredLanguages);
	public static AVMediaSelectionGroup GetMediaSelectionGroup (this AVComposition This, string mediaCharacteristic);
	public static AVMetadataItem[] GetMetadata (this AVComposition This, AVMetadataFormat format);
	public static AVMetadataItem[] GetMetadataForFormat (this AVComposition This, Foundation.NSString format);
	public static int GetUnusedTrackId (this AVComposition This);
}

New Type: AVFoundation.AVExtendedNoteOnEvent

public class AVExtendedNoteOnEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVExtendedNoteOnEvent ();
	protected AVExtendedNoteOnEvent (Foundation.NSObjectFlag t);
	protected AVExtendedNoteOnEvent (ObjCRuntime.NativeHandle handle);
	public AVExtendedNoteOnEvent (float midiNote, float velocity, uint groupID, double duration);
	public AVExtendedNoteOnEvent (float midiNote, float velocity, uint instrumentID, uint groupID, double duration);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static uint DefaultInstrument { get; }
	public virtual double Duration { get; set; }
	public virtual uint GroupId { get; set; }
	public virtual uint InstrumentId { get; set; }
	public virtual float MidiNote { get; set; }
	public virtual float Velocity { get; set; }
}

New Type: AVFoundation.AVExtendedTempoEvent

public class AVExtendedTempoEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVExtendedTempoEvent ();
	protected AVExtendedTempoEvent (Foundation.NSObjectFlag t);
	protected AVExtendedTempoEvent (ObjCRuntime.NativeHandle handle);
	public AVExtendedTempoEvent (double tempo);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual double Tempo { get; set; }
}

New Type: AVFoundation.AVMidiChannelEvent

public class AVMidiChannelEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVMidiChannelEvent ();
	protected AVMidiChannelEvent (Foundation.NSObjectFlag t);
	protected AVMidiChannelEvent (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual uint Channel { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: AVFoundation.AVMidiChannelPressureEvent

public class AVMidiChannelPressureEvent : AVFoundation.AVMidiChannelEvent {
	// constructors
	public AVMidiChannelPressureEvent ();
	protected AVMidiChannelPressureEvent (Foundation.NSObjectFlag t);
	protected AVMidiChannelPressureEvent (ObjCRuntime.NativeHandle handle);
	public AVMidiChannelPressureEvent (uint channel, uint pressure);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint Pressure { get; set; }
}

New Type: AVFoundation.AVMidiControlChangeEvent

public class AVMidiControlChangeEvent : AVFoundation.AVMidiChannelEvent {
	// constructors
	public AVMidiControlChangeEvent ();
	protected AVMidiControlChangeEvent (Foundation.NSObjectFlag t);
	protected AVMidiControlChangeEvent (ObjCRuntime.NativeHandle handle);
	public AVMidiControlChangeEvent (uint channel, AVMidiControlChangeMessageType messageType, uint value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual AVMidiControlChangeMessageType MessageType { get; }
	public virtual uint Value { get; }
}

New Type: AVFoundation.AVMidiControlChangeMessageType

[Serializable]
public enum AVMidiControlChangeMessageType {
	AllNotesOff = 123,
	AllSoundOff = 120,
	AttackTime = 73,
	Balance = 8,
	BankSelect = 0,
	Breath = 2,
	Brightness = 74,
	ChorusLevel = 93,
	DataEntry = 6,
	DecayTime = 75,
	Expression = 11,
	FilterResonance = 71,
	Foot = 4,
	Hold2Pedal = 69,
	LegatoPedal = 68,
	ModWheel = 1,
	MonoModeOff = 127,
	MonoModeOn = 126,
	OmniModeOff = 124,
	OmniModeOn = 125,
	Pan = 10,
	Portamento = 65,
	PortamentoTime = 5,
	ReleaseTime = 72,
	ResetAllControllers = 121,
	ReverbLevel = 91,
	RpnLsb = 100,
	RpnMsb = 101,
	Soft = 67,
	Sostenuto = 66,
	Sustain = 64,
	VibratoDelay = 78,
	VibratoDepth = 77,
	VibratoRate = 76,
	Volume = 7,
}

New Type: AVFoundation.AVMidiMetaEvent

public class AVMidiMetaEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVMidiMetaEvent ();
	protected AVMidiMetaEvent (Foundation.NSObjectFlag t);
	protected AVMidiMetaEvent (ObjCRuntime.NativeHandle handle);
	public AVMidiMetaEvent (AVMidiMetaEventType type, Foundation.NSData data);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual AVMidiMetaEventType Type { get; }
}

New Type: AVFoundation.AVMidiMetaEventType

[Serializable]
public enum AVMidiMetaEventType {
	Copyright = 2,
	CuePoint = 7,
	EndOfTrack = 47,
	Instrument = 4,
	KeySignature = 89,
	Lyric = 5,
	Marker = 6,
	MidiChannel = 32,
	MidiPort = 33,
	ProprietaryEvent = 127,
	SequenceNumber = 0,
	SmpteOffset = 84,
	Tempo = 81,
	Text = 1,
	TimeSignature = 88,
	TrackName = 3,
}

New Type: AVFoundation.AVMidiNoteEvent

public class AVMidiNoteEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVMidiNoteEvent ();
	protected AVMidiNoteEvent (Foundation.NSObjectFlag t);
	protected AVMidiNoteEvent (ObjCRuntime.NativeHandle handle);
	public AVMidiNoteEvent (uint channel, uint keyNum, uint velocity, double duration);
	// properties
	public virtual uint Channel { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual double Duration { get; set; }
	public virtual uint Key { get; set; }
	public virtual uint Velocity { get; set; }
}

New Type: AVFoundation.AVMidiPitchBendEvent

public class AVMidiPitchBendEvent : AVFoundation.AVMidiChannelEvent {
	// constructors
	public AVMidiPitchBendEvent ();
	protected AVMidiPitchBendEvent (Foundation.NSObjectFlag t);
	protected AVMidiPitchBendEvent (ObjCRuntime.NativeHandle handle);
	public AVMidiPitchBendEvent (uint channel, uint value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint Value { get; set; }
}

New Type: AVFoundation.AVMidiPolyPressureEvent

public class AVMidiPolyPressureEvent : AVFoundation.AVMidiChannelEvent {
	// constructors
	public AVMidiPolyPressureEvent ();
	protected AVMidiPolyPressureEvent (Foundation.NSObjectFlag t);
	protected AVMidiPolyPressureEvent (ObjCRuntime.NativeHandle handle);
	public AVMidiPolyPressureEvent (uint channel, uint key, uint pressure);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint Key { get; set; }
	public virtual uint Pressure { get; set; }
}

New Type: AVFoundation.AVMidiProgramChangeEvent

public class AVMidiProgramChangeEvent : AVFoundation.AVMidiChannelEvent {
	// constructors
	public AVMidiProgramChangeEvent ();
	protected AVMidiProgramChangeEvent (Foundation.NSObjectFlag t);
	protected AVMidiProgramChangeEvent (ObjCRuntime.NativeHandle handle);
	public AVMidiProgramChangeEvent (uint channel, uint programNumber);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint ProgramNumber { get; set; }
}

New Type: AVFoundation.AVMidiSysexEvent

public class AVMidiSysexEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVMidiSysexEvent ();
	public AVMidiSysexEvent (Foundation.NSData data);
	protected AVMidiSysexEvent (Foundation.NSObjectFlag t);
	protected AVMidiSysexEvent (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint SizeInBytes { get; }
}

New Type: AVFoundation.AVMusicEvent

public class AVMusicEvent : Foundation.NSObject {
	// constructors
	public AVMusicEvent ();
	protected AVMusicEvent (Foundation.NSObjectFlag t);
	protected AVMusicEvent (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: AVFoundation.AVMusicEventEnumerationBlock

public sealed delegate AVMusicEventEnumerationBlock : System.MulticastDelegate {
	// constructors
	public AVMusicEventEnumerationBlock (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (AVMusicEvent musicEvent, ref double timeStamp, out bool removeEvent, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (ref double timeStamp, out bool removeEvent, System.IAsyncResult result);
	public virtual void Invoke (AVMusicEvent musicEvent, ref double timeStamp, out bool removeEvent);
}

New Type: AVFoundation.AVMusicUserEvent

public class AVMusicUserEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVMusicUserEvent ();
	public AVMusicUserEvent (Foundation.NSData data);
	protected AVMusicUserEvent (Foundation.NSObjectFlag t);
	protected AVMusicUserEvent (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint SizeInBytes { get; }
}

New Type: AVFoundation.AVMutableMovieTrack_SynchronousTrackInterface

public static class AVMutableMovieTrack_SynchronousTrackInterface {
	// methods
	public static AVAssetTrack[] GetAssociatedTracks (this AVMutableMovieTrack This, Foundation.NSString avAssetTrackTrackAssociationType);
	public static AVMetadataItem[] GetMetadata (this AVMutableMovieTrack This, AVMetadataFormat format);
	public static AVMetadataItem[] GetMetadataForFormat (this AVMutableMovieTrack This, Foundation.NSString format);
	public static CoreMedia.CMTime GetSamplePresentationTime (this AVMutableMovieTrack This, CoreMedia.CMTime trackTime);
	public static AVAssetTrackSegment GetSegment (this AVMutableMovieTrack This, CoreMedia.CMTime trackTime);
	public static bool HasMediaCharacteristic (this AVMutableMovieTrack This, string mediaCharacteristic);
}

New Type: AVFoundation.AVMutableMovie_SynchronousAssetInterface

public static class AVMutableMovie_SynchronousAssetInterface {
	// methods
	public static AVTimedMetadataGroup[] GetChapterMetadataGroups (this AVMutableMovie This, Foundation.NSLocale locale, string[] commonKeys);
	public static AVTimedMetadataGroup[] GetChapterMetadataGroupsBestMatchingPreferredLanguages (this AVMutableMovie This, string[] preferredLanguages);
	public static AVMediaSelectionGroup GetMediaSelectionGroup (this AVMutableMovie This, string mediaCharacteristic);
	public static AVMetadataItem[] GetMetadataForFormat (this AVMutableMovie This, string format);
	public static int GetUnusedTrackId (this AVMutableMovie This);
}

New Type: AVFoundation.AVParameterEvent

public class AVParameterEvent : AVFoundation.AVMusicEvent {
	// constructors
	public AVParameterEvent ();
	protected AVParameterEvent (Foundation.NSObjectFlag t);
	protected AVParameterEvent (ObjCRuntime.NativeHandle handle);
	public AVParameterEvent (uint parameterId, uint scope, uint element, float value);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual uint Element { get; set; }
	public virtual uint ParameterId { get; set; }
	public virtual uint Scope { get; set; }
	public virtual float Value { get; set; }
}

New Type: AVFoundation.AVPlayerInterstitialEventCue

[Serializable]
public enum AVPlayerInterstitialEventCue {
	JoinCue = 1,
	LeaveCue = 2,
	NoCue = 0,
}

New Type: AVFoundation.AVPlayerInterstitialEventCueExtensions

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

New Type: AVFoundation.AVSampleBufferGenerator

public class AVSampleBufferGenerator : Foundation.NSObject {
	// constructors
	protected AVSampleBufferGenerator (Foundation.NSObjectFlag t);
	protected AVSampleBufferGenerator (ObjCRuntime.NativeHandle handle);
	public AVSampleBufferGenerator (AVAsset asset, CoreMedia.CMTimebase timebase);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual CoreMedia.CMSampleBuffer CreateSample (AVSampleBufferRequest request, AVSampleBufferGeneratorBatch batch, out Foundation.NSError outError);
	public virtual CoreMedia.CMSampleBuffer CreateSampleBuffer (AVSampleBufferRequest request);
	public virtual CoreMedia.CMSampleBuffer CreateSampleBuffer (AVSampleBufferRequest request, out Foundation.NSError outError);
	public virtual AVSampleBufferGeneratorBatch MakeBatch ();
	public static void NotifyOfDataReady (CoreMedia.CMSampleBuffer sbuf, System.Action<System.Boolean,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> NotifyOfDataReadyAsync (CoreMedia.CMSampleBuffer sbuf);
}

New Type: AVFoundation.AVSampleBufferGeneratorBatch

public class AVSampleBufferGeneratorBatch : Foundation.NSObject {
	// constructors
	protected AVSampleBufferGeneratorBatch (Foundation.NSObjectFlag t);
	protected AVSampleBufferGeneratorBatch (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual void Cancel ();
	public virtual CoreMedia.CMSampleBuffer CreateSampleBuffer (AVSampleBufferRequest request, out Foundation.NSError outError);
	public virtual CoreMedia.CMSampleBuffer CreateSampleBuffer (AVSampleBufferRequest request, AVSampleBufferGeneratorBatch batch, out Foundation.NSError outError);
	public virtual AVSampleBufferGeneratorBatch MakeBatch ();
	public virtual void MakeDataReady (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task MakeDataReadyAsync ();
}

New Type: AVFoundation.AVSampleBufferRequest

public class AVSampleBufferRequest : Foundation.NSObject {
	// constructors
	public AVSampleBufferRequest (AVSampleCursor startCursor);
	protected AVSampleBufferRequest (Foundation.NSObjectFlag t);
	protected AVSampleBufferRequest (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual AVSampleBufferRequestDirection Direction { get; set; }
	public virtual AVSampleCursor LimitCursor { get; set; }
	public virtual nint MaxSampleCount { get; set; }
	public virtual AVSampleBufferRequestMode Mode { get; set; }
	public virtual CoreMedia.CMTime OverrideTime { get; set; }
	public virtual nint PreferredMinSampleCount { get; set; }
	public virtual AVSampleCursor StartCursor { get; }
}

New Type: AVFoundation.AVSampleCursor

public class AVSampleCursor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected AVSampleCursor (Foundation.NSObjectFlag t);
	protected AVSampleCursor (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSObject CurrentChunkInfo { get; }
	public virtual Foundation.NSObject CurrentChunkStorageRange { get; }
	public virtual Foundation.NSUrl CurrentChunkStorageUrl { get; }
	public virtual AVSampleCursorAudioDependencyInfo CurrentSampleAudioDependencyInfo { get; }
	public virtual Foundation.NSDictionary CurrentSampleDependencyAttachments { get; }
	public virtual Foundation.NSObject CurrentSampleDependencyInfo { get; }
	public virtual CoreMedia.CMTime CurrentSampleDuration { get; }
	public virtual long CurrentSampleIndexInChunk { get; }
	public virtual Foundation.NSObject CurrentSampleStorageRange { get; }
	public virtual Foundation.NSObject CurrentSampleSyncInfo { get; }
	public virtual CoreMedia.CMTime DecodeTimeStamp { get; }
	public virtual CoreMedia.CMTime PresentationTimeStamp { get; }
	public virtual nint SamplesRequiredForDecoderRefresh { get; }
	// methods
	public virtual Foundation.NSComparisonResult ComparePositionInDecodeOrder (AVSampleCursor positionOfCursor);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual CoreMedia.CMFormatDescription CopyCurrentSampleFormatDescription ();
	public virtual bool SamplesWithEarlierDecodeTimeStampsMayHaveLaterPresentationTimeStampsThan (AVSampleCursor positionOfCursor);
	public virtual bool SamplesWithLaterDecodeTimeStampsMayHaveEarlierPresentationTimeStampsThan (AVSampleCursor positionOfCursor);
	public virtual CoreMedia.CMTime StepByDecodeTime (CoreMedia.CMTime deltaDecodeTime, out bool wasPinned);
	public virtual CoreMedia.CMTime StepByPresentationTime (CoreMedia.CMTime deltaPresentationTime, out bool wasPinned);
	public virtual long StepInDecodeOrder (long stepCount);
	public virtual long StepInPresentationOrder (long stepCount);
}

New Type: AVFoundation.AVSampleCursorAudioDependencyInfo

public struct AVSampleCursorAudioDependencyInfo {
	// fields
	public bool IsIndependentlyDecodable;
	public nint PacketRefreshCount;
}

New Type: AVFoundation.AVSpeechSynthesisMarker

public class AVSpeechSynthesisMarker : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public AVSpeechSynthesisMarker ();
	public AVSpeechSynthesisMarker (Foundation.NSCoder coder);
	protected AVSpeechSynthesisMarker (Foundation.NSObjectFlag t);
	protected AVSpeechSynthesisMarker (ObjCRuntime.NativeHandle handle);
	public AVSpeechSynthesisMarker (AVSpeechSynthesisMarkerMark type, Foundation.NSRange range, nuint byteSampleOffset);
	// properties
	public virtual nuint ByteSampleOffset { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual AVSpeechSynthesisMarkerMark Mark { get; set; }
	public virtual Foundation.NSRange TextRange { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AVFoundation.AVSpeechSynthesisMarkerMark

[Serializable]
public enum AVSpeechSynthesisMarkerMark {
	Paragraph = 3,
	Phoneme = 0,
	Sentence = 2,
	Word = 1,
}

New Type: AVFoundation.AVSpeechSynthesisProviderAudioUnit

public class AVSpeechSynthesisProviderAudioUnit : AudioUnit.AUAudioUnit {
	// constructors
	protected AVSpeechSynthesisProviderAudioUnit (Foundation.NSObjectFlag t);
	protected AVSpeechSynthesisProviderAudioUnit (ObjCRuntime.NativeHandle handle);
	public AVSpeechSynthesisProviderAudioUnit (AudioUnit.AudioComponentDescription componentDescription, out Foundation.NSError outError);
	public AVSpeechSynthesisProviderAudioUnit (AudioUnit.AudioComponentDescription componentDescription, AudioUnit.AudioComponentInstantiationOptions options, out Foundation.NSError outError);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual AVSpeechSynthesisProviderOutputBlock SpeechSynthesisOutputMetadataBlock { get; set; }
	public virtual AVSpeechSynthesisProviderVoice[] SpeechVoices { get; set; }
	// methods
	public virtual void CancelSpeechRequest ();
	public virtual void SynthesizeSpeechRequest (AVSpeechSynthesisProviderRequest speechRequest);
}

New Type: AVFoundation.AVSpeechSynthesisProviderOutputBlock

public sealed delegate AVSpeechSynthesisProviderOutputBlock : System.MulticastDelegate {
	// constructors
	public AVSpeechSynthesisProviderOutputBlock (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (AVSpeechSynthesisMarker[] markers, AVSpeechSynthesisProviderRequest speechRequest, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (AVSpeechSynthesisMarker[] markers, AVSpeechSynthesisProviderRequest speechRequest);
}

New Type: AVFoundation.AVSpeechSynthesisProviderRequest

public class AVSpeechSynthesisProviderRequest : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public AVSpeechSynthesisProviderRequest (Foundation.NSCoder coder);
	protected AVSpeechSynthesisProviderRequest (Foundation.NSObjectFlag t);
	protected AVSpeechSynthesisProviderRequest (ObjCRuntime.NativeHandle handle);
	public AVSpeechSynthesisProviderRequest (string text, AVSpeechSynthesisProviderVoice voice);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual string SsmlRepresentation { get; }
	public virtual AVSpeechSynthesisProviderVoice Voice { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AVFoundation.AVSpeechSynthesisProviderVoice

public class AVSpeechSynthesisProviderVoice : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public AVSpeechSynthesisProviderVoice (Foundation.NSCoder coder);
	protected AVSpeechSynthesisProviderVoice (Foundation.NSObjectFlag t);
	protected AVSpeechSynthesisProviderVoice (ObjCRuntime.NativeHandle handle);
	public AVSpeechSynthesisProviderVoice (string name, string identifier, string[] primaryLanguages, string[] supportedLanguages);
	// properties
	public virtual nint Age { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual AVSpeechSynthesisVoiceGender Gender { get; set; }
	public virtual string Identifier { get; }
	public virtual string Name { get; }
	public virtual string[] PrimaryLanguages { get; }
	public virtual string[] SupportedLanguages { get; }
	public virtual string Version { get; set; }
	public virtual long VoiceSize { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static void UpdateSpeechVoices ();
}

New Type: AVFoundation.AVSpeechSynthesizerBufferCallback

public sealed delegate AVSpeechSynthesizerBufferCallback : System.MulticastDelegate {
	// constructors
	public AVSpeechSynthesizerBufferCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (AVAudioBuffer buffer, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (AVAudioBuffer buffer);
}

New Type: AVFoundation.AVSpeechSynthesizerMarkerCallback

public sealed delegate AVSpeechSynthesizerMarkerCallback : System.MulticastDelegate {
	// constructors
	public AVSpeechSynthesizerMarkerCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (AVSpeechSynthesisMarker[] markers, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (AVSpeechSynthesisMarker[] markers);
}

New Type: AVFoundation.GenerateCGImageAsyncResult

public class GenerateCGImageAsyncResult {
	// constructors
	public GenerateCGImageAsyncResult (CoreGraphics.CGImage arg1, CoreMedia.CMTime arg2);
	// properties
	public CoreGraphics.CGImage Arg1 { get; set; }
	public CoreMedia.CMTime Arg2 { get; set; }
}

Namespace AudioUnit

Type Changed: AudioUnit.AudioComponentType

Added value:

SpeechSynthesize = 1635087216,

Namespace CoreLocation

Type Changed: CoreLocation.CLError

Added value:

HistoricalLocationError = 19,

Namespace CoreMedia

Type Changed: CoreMedia.CMSampleBufferAttachmentKey

Added value:

Hdr10PlusPerFrameData = 34,

Type Changed: CoreMedia.CMSampleBufferAttachmentSettings

Added property:

public Foundation.NSData Hdr10PlusPerFrameData { get; set; }

Namespace CoreMidi

New Type: CoreMidi.MidiEventList

public struct MidiEventList {
	// fields
	public uint NumPackets;
	public MidiEventPacket[] packet;
	public MidiProtocolId protocol;
}

New Type: CoreMidi.MidiEventPacket

public struct MidiEventPacket {
	// fields
	public ulong TimeStamp;
	public uint WordCount;
	public uint[] Words;
}

Namespace Foundation

Type Changed: Foundation.NSArray

Added interfaces:

System.Collections.Generic.IEnumerable<NSObject>
System.Collections.IEnumerable

Added methods:

public TKey[] ToArray<TKey> ();
public NSObject[] ToArray ();

Type Changed: Foundation.NSArray`1

Added method:

public TKey[] ToArray ();

Type Changed: Foundation.NSMutableUrlRequest

Added property:

public virtual bool RequiresDnsSecValidation { get; set; }

Type Changed: Foundation.NSUrlRequest

Added property:

public virtual bool RequiresDnsSecValidation { get; }

Type Changed: Foundation.NSValue

Added property:

public virtual CoreMedia.CMVideoDimensions CMVideoDimensionsValue { get; }

Added method:

public static NSValue FromCMVideoDimensions (CoreMedia.CMVideoDimensions dimensions);

Namespace GameController

New Type: GameController.ElementValueDidChangeHandler

public sealed delegate ElementValueDidChangeHandler : System.MulticastDelegate {
	// constructors
	public ElementValueDidChangeHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (IGCDevicePhysicalInput physicalInput, IGCPhysicalInputElement element, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (IGCDevicePhysicalInput physicalInput, IGCPhysicalInputElement element);
}

New Type: GameController.IGCAxisElement

public interface IGCAxisElement : IGCPhysicalInputElement, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IGCAxisInput AbsoluteInput { get; }
	public virtual IGCRelativeInput RelativeInput { get; }
}

New Type: GameController.IGCAxisInput

public interface IGCAxisInput : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool Analog { get; }
	public virtual bool CanWrap { get; }
	public virtual double LastValueLatency { get; }
	public virtual double LastValueTimestamp { get; }
	public virtual float Value { get; }
	public virtual System.Action<IGCPhysicalInputElement,GameController.IGCAxisInput,System.Single> ValueDidChangeHandler { get; set; }
}

New Type: GameController.IGCButtonElement

public interface IGCButtonElement : IGCPhysicalInputElement, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSObject PressedInput { get; }
	public virtual IGCTouchedStateInput TouchedInput { get; }
}

New Type: GameController.IGCDevicePhysicalInput

public interface IGCDevicePhysicalInput : IGCDevicePhysicalInputState, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IGCDevicePhysicalInputState Capture { get; }
	public virtual IGCDevice Device { get; }
	public virtual ElementValueDidChangeHandler ElementValueDidChangeHandler { get; set; }
	public virtual InputStateAvailableHandler InputStateAvailableHandler { get; set; }
	public virtual nint InputStateQueueDepth { get; set; }
	public virtual Foundation.NSObject NextInputState { get; }
}

New Type: GameController.IGCDevicePhysicalInputState

public interface IGCDevicePhysicalInputState : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IGCDevice Device { get; }
	public virtual double LastEventLatency { get; }
	public virtual double LastEventTimestamp { get; }
	// methods
	public virtual IGCPhysicalInputElement GetObject (string key);
}

New Type: GameController.IGCDevicePhysicalInputStateDiff

public interface IGCDevicePhysicalInputStateDiff : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSEnumerator<IGCPhysicalInputElement> ChangedElements { get; }
	// methods
	public virtual GCDevicePhysicalInputElementChange GetChange (IGCPhysicalInputElement element);
}

New Type: GameController.IGCDirectionPadElement

public interface IGCDirectionPadElement : IGCPhysicalInputElement, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSObject Down { get; }
	public virtual Foundation.NSObject Left { get; }
	public virtual Foundation.NSObject Right { get; }
	public virtual Foundation.NSObject Up { get; }
	public virtual IGCAxisInput XAxis { get; }
	public virtual IGCAxisInput YAxis { get; }
}

New Type: GameController.IGCLinearInput

public interface IGCLinearInput : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool Analog { get; }
	public virtual bool CanWrap { get; }
	public virtual double LastValueLatency { get; }
	public virtual double LastValueTimestamp { get; }
	public virtual float Value { get; }
	public virtual System.Action<IGCPhysicalInputElement,GameController.IGCLinearInput,System.Single> ValueDidChangeHandler { get; set; }
}

New Type: GameController.IGCPhysicalInputElement

public interface IGCPhysicalInputElement : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSSet<Foundation.NSString> Aliases { get; }
	public virtual string LocalizedName { get; }
	public virtual string SfSymbolsName { get; }
}

New Type: GameController.IGCPressedStateInput

public interface IGCPressedStateInput : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual double LastPressedStateLatency { get; }
	public virtual double LastPressedStateTimestamp { get; }
	public virtual bool Pressed { get; }
	public virtual System.Action<IGCPhysicalInputElement,GameController.IGCPressedStateInput,System.Boolean> PressedDidChangeHandler { get; set; }
}

New Type: GameController.IGCRelativeInput

public interface IGCRelativeInput : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool Analog { get; }
	public virtual float Delta { get; }
	public virtual System.Action<IGCPhysicalInputElement,GameController.IGCRelativeInput,System.Single> DeltaDidChangeHandler { get; set; }
	public virtual double LastDeltaLatency { get; }
	public virtual double LastDeltaTimestamp { get; }
}

New Type: GameController.IGCSwitchElement

public interface IGCSwitchElement : IGCPhysicalInputElement, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IGCSwitchPositionInput PositionInput { get; }
}

New Type: GameController.IGCSwitchPositionInput

public interface IGCSwitchPositionInput : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool CanWrap { get; }
	public virtual double LastPositionLatency { get; }
	public virtual double LastPositionTimestamp { get; }
	public virtual nint Position { get; }
	public virtual System.Action<IGCPhysicalInputElement,GameController.IGCSwitchPositionInput,System.IntPtr> PositionDidChangeHandler { get; set; }
	public virtual Foundation.NSRange PositionRange { get; }
	public virtual bool Sequential { get; }
}

New Type: GameController.IGCTouchedStateInput

public interface IGCTouchedStateInput : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual double LastTouchedStateLatency { get; }
	public virtual double LastTouchedStateTimestamp { get; }
	public virtual bool Touched { get; }
	public virtual System.Action<IGCPhysicalInputElement,GameController.IGCTouchedStateInput,System.Boolean> TouchedDidChangeHandler { get; set; }
}

New Type: GameController.InputStateAvailableHandler

public sealed delegate InputStateAvailableHandler : System.MulticastDelegate {
	// constructors
	public InputStateAvailableHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (IGCDevicePhysicalInput physicalInput, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (IGCDevicePhysicalInput physicalInput);
}

Namespace HealthKit

Type Changed: HealthKit.HKCategoryTypeIdentifier

Added values:

InfrequentMenstrualCycles = 62,
IrregularMenstrualCycles = 63,
PersistentIntermenstrualBleeding = 64,
ProlongedMenstrualPeriods = 65,

Type Changed: HealthKit.HKQuantityTypeIdentifier

Added values:

AppleSleepingWristTemperature = 100,
UnderwaterDepth = 101,
WaterTemperature = 102,

Namespace HomeKit

Type Changed: HomeKit.HMAccessory

Added property:

public virtual Foundation.NSNumber MatterNodeId { get; }

Type Changed: HomeKit.HMAccessorySetupManager

Obsoleted methods:

 [Obsolete ("This API has been removed from the 'HomeKit' framework.")]
 public virtual void AddAndSetUpAccessories (HMMatterTopology topology, System.Action<Foundation.NSError> completion);
 [Obsolete ("This API has been removed from the 'HomeKit' framework.")]
 public virtual System.Threading.Tasks.Task AddAndSetUpAccessoriesAsync (HMMatterTopology topology);
 [Obsolete ("This API has been removed from the 'HomeKit' framework.")]
 public virtual void PerformMatterEcosystemAccessorySetup (HMAccessorySetupRequest request, HMMatterTopology topology, System.Action<Foundation.NSError> completion);
 [Obsolete ("This API has been removed from the 'HomeKit' framework.")]
 public virtual System.Threading.Tasks.Task PerformMatterEcosystemAccessorySetupAsync (HMAccessorySetupRequest request, HMMatterTopology topology);

Type Changed: HomeKit.HMHome

Added properties:

public virtual string MatterControllerId { get; }
public virtual System.Func<Foundation.NSXpcConnection> MatterControllerXPCConnectBlock { get; }

Namespace MapKit

Type Changed: MapKit.MKDirectionsRequest

Added properties:

public virtual MKDirectionsRoutePreference HighwayPreference { get; set; }
public virtual MKDirectionsRoutePreference TollPreference { get; set; }

Type Changed: MapKit.MKMapCamera

Added method:

public static MKMapCamera CameraLookingAt (MKMapItem mapItem, CoreGraphics.CGSize viewSize, bool allowPitch);

Type Changed: MapKit.MKMapView

Added properties:

public virtual MKMapConfiguration PreferredConfiguration { get; set; }
public virtual MKMapFeatureOptions SelectableMapFeatures { get; set; }

Added events:

public event System.EventHandler<MKAnnotationEventArgs> DidDeselectAnnotation;
public event System.EventHandler<MKAnnotationEventArgs> DidSelectAnnotation;

Type Changed: MapKit.MKMapViewDelegate

Added methods:

public virtual void DidDeselectAnnotation (MKMapView mapView, IMKAnnotation annotation);
public virtual void DidSelectAnnotation (MKMapView mapView, IMKAnnotation annotation);

Type Changed: MapKit.MKMapViewDelegate_Extensions

Added methods:

public static void DidDeselectAnnotation (this IMKMapViewDelegate This, MKMapView mapView, IMKAnnotation annotation);
public static void DidSelectAnnotation (this IMKMapViewDelegate This, MKMapView mapView, IMKAnnotation annotation);

Type Changed: MapKit.MKOverlayRenderer

Added property:

public virtual CoreGraphics.CGBlendMode BlendMode { get; set; }

Type Changed: MapKit.MKRoute

Added properties:

public virtual bool HasHighways { get; }
public virtual bool HasTolls { get; }

New Type: MapKit.IMKLookAroundViewControllerDelegate

public interface IMKLookAroundViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: MapKit.MKAnnotationEventArgs

public class MKAnnotationEventArgs : System.EventArgs {
	// constructors
	public MKAnnotationEventArgs (IMKAnnotation annotation);
	// properties
	public IMKAnnotation Annotation { get; set; }
}

New Type: MapKit.MKDirectionsRoutePreference

[Serializable]
public enum MKDirectionsRoutePreference {
	Any = 0,
	Avoid = 1,
}

New Type: MapKit.MKHybridMapConfiguration

public class MKHybridMapConfiguration : MapKit.MKMapConfiguration {
	// constructors
	public MKHybridMapConfiguration ();
	public MKHybridMapConfiguration (Foundation.NSCoder coder);
	protected MKHybridMapConfiguration (Foundation.NSObjectFlag t);
	public MKHybridMapConfiguration (MKMapElevationStyle elevationStyle);
	protected MKHybridMapConfiguration (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MKPointOfInterestFilter PointOfInterestFilter { get; set; }
	public virtual bool ShowsTraffic { get; set; }
}

New Type: MapKit.MKIconStyle

public class MKIconStyle : Foundation.NSObject {
	// constructors
	protected MKIconStyle (Foundation.NSObjectFlag t);
	protected MKIconStyle (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual UIKit.UIColor BackgroundColor { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIKit.UIImage Image { get; }
}

New Type: MapKit.MKImageryMapConfiguration

public class MKImageryMapConfiguration : MapKit.MKMapConfiguration {
	// constructors
	public MKImageryMapConfiguration ();
	public MKImageryMapConfiguration (Foundation.NSCoder coder);
	protected MKImageryMapConfiguration (Foundation.NSObjectFlag t);
	public MKImageryMapConfiguration (MKMapElevationStyle elevationStyle);
	protected MKImageryMapConfiguration (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
}

New Type: MapKit.MKLookAroundBadgePosition

[Serializable]
public enum MKLookAroundBadgePosition {
	BottomTrailing = 2,
	TopLeading = 0,
	TopTrailing = 1,
}

New Type: MapKit.MKLookAroundScene

public class MKLookAroundScene : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MKLookAroundScene (Foundation.NSObjectFlag t);
	protected MKLookAroundScene (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: MapKit.MKLookAroundSceneRequest

public class MKLookAroundSceneRequest : Foundation.NSObject {
	// constructors
	public MKLookAroundSceneRequest (CoreLocation.CLLocationCoordinate2D coordinate);
	protected MKLookAroundSceneRequest (Foundation.NSObjectFlag t);
	public MKLookAroundSceneRequest (MKMapItem mapItem);
	protected MKLookAroundSceneRequest (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreLocation.CLLocationCoordinate2D Coordinate { get; }
	public virtual bool IsCancelled { get; }
	public virtual bool IsLoading { get; }
	public virtual MKMapItem MapItem { get; }
	// methods
	public virtual void Cancel ();
	public virtual void GetScene (System.Action<MKLookAroundScene,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<MKLookAroundScene> GetSceneAsync ();
}

New Type: MapKit.MKLookAroundSnapshot

public class MKLookAroundSnapshot : Foundation.NSObject {
	// constructors
	protected MKLookAroundSnapshot (Foundation.NSObjectFlag t);
	protected MKLookAroundSnapshot (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual UIKit.UIImage Image { get; }
}

New Type: MapKit.MKLookAroundSnapshotOptions

public class MKLookAroundSnapshotOptions : Foundation.NSObject {
	// constructors
	public MKLookAroundSnapshotOptions ();
	protected MKLookAroundSnapshotOptions (Foundation.NSObjectFlag t);
	protected MKLookAroundSnapshotOptions (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MKPointOfInterestFilter PointOfInterestFilter { get; set; }
	public virtual CoreGraphics.CGSize Size { get; set; }
	public virtual UIKit.UITraitCollection TraitCollection { get; set; }
}

New Type: MapKit.MKLookAroundSnapshotter

public class MKLookAroundSnapshotter : Foundation.NSObject {
	// constructors
	protected MKLookAroundSnapshotter (Foundation.NSObjectFlag t);
	protected MKLookAroundSnapshotter (ObjCRuntime.NativeHandle handle);
	public MKLookAroundSnapshotter (MKLookAroundScene scene, MKLookAroundSnapshotOptions options);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual bool IsLoading { get; }
	// methods
	public virtual void Cancel ();
	public virtual void GetSnapshot (System.Action<MKLookAroundSnapshot,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<MKLookAroundSnapshot> GetSnapshotAsync ();
}

New Type: MapKit.MKLookAroundViewController

public class MKLookAroundViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MKLookAroundViewController ();
	public MKLookAroundViewController (Foundation.NSCoder coder);
	protected MKLookAroundViewController (Foundation.NSObjectFlag t);
	public MKLookAroundViewController (MKLookAroundScene scene);
	protected MKLookAroundViewController (ObjCRuntime.NativeHandle handle);
	public MKLookAroundViewController (string nibName, Foundation.NSBundle nibBundle);
	// properties
	public virtual MKLookAroundBadgePosition BadgePosition { get; set; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public IMKLookAroundViewControllerDelegate Delegate { get; set; }
	public virtual bool NavigationEnabled { get; set; }
	public virtual MKPointOfInterestFilter PointOfInterestFilter { get; set; }
	public virtual MKLookAroundScene Scene { get; set; }
	public virtual bool ShowsRoadLabels { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MapKit.MKLookAroundViewControllerDelegate

public class MKLookAroundViewControllerDelegate : Foundation.NSObject, IMKLookAroundViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MKLookAroundViewControllerDelegate ();
	protected MKLookAroundViewControllerDelegate (Foundation.NSObjectFlag t);
	protected MKLookAroundViewControllerDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual void DidDismissFullScreen (MKLookAroundViewController viewController);
	public virtual void DidPresentFullScreen (MKLookAroundViewController viewController);
	public virtual void DidUpdateScene (MKLookAroundViewController viewController);
	public virtual void WillDismissFullScreen (MKLookAroundViewController viewController);
	public virtual void WillPresentFullScreen (MKLookAroundViewController viewController);
	public virtual void WillUpdateScene (MKLookAroundViewController viewController);
}

New Type: MapKit.MKLookAroundViewControllerDelegate_Extensions

public static class MKLookAroundViewControllerDelegate_Extensions {
	// methods
	public static void DidDismissFullScreen (this IMKLookAroundViewControllerDelegate This, MKLookAroundViewController viewController);
	public static void DidPresentFullScreen (this IMKLookAroundViewControllerDelegate This, MKLookAroundViewController viewController);
	public static void DidUpdateScene (this IMKLookAroundViewControllerDelegate This, MKLookAroundViewController viewController);
	public static void WillDismissFullScreen (this IMKLookAroundViewControllerDelegate This, MKLookAroundViewController viewController);
	public static void WillPresentFullScreen (this IMKLookAroundViewControllerDelegate This, MKLookAroundViewController viewController);
	public static void WillUpdateScene (this IMKLookAroundViewControllerDelegate This, MKLookAroundViewController viewController);
}

New Type: MapKit.MKMapConfiguration

public class MKMapConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MKMapConfiguration (Foundation.NSCoder coder);
	protected MKMapConfiguration (Foundation.NSObjectFlag t);
	protected MKMapConfiguration (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MKMapElevationStyle ElevationStyle { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MapKit.MKMapElevationStyle

[Serializable]
public enum MKMapElevationStyle {
	Flat = 0,
	Realistic = 1,
}

New Type: MapKit.MKMapFeatureAnnotation

public class MKMapFeatureAnnotation : Foundation.NSObject, IMKAnnotation, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MKMapFeatureAnnotation (Foundation.NSObjectFlag t);
	protected MKMapFeatureAnnotation (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual CoreLocation.CLLocationCoordinate2D Coordinate { get; }
	public virtual MKMapFeatureType FeatureType { get; }
	public virtual MKIconStyle IconStyle { get; }
	public virtual MKPointOfInterestCategory PointOfInterestCategory { get; }
	public virtual string Subtitle { get; }
	public virtual string Title { get; }
	// methods
	public virtual void SetCoordinate (CoreLocation.CLLocationCoordinate2D value);
}

New Type: MapKit.MKMapFeatureOptions

[Serializable]
[Flags]
public enum MKMapFeatureOptions {
	PhysicalFeatures = 4,
	PointsOfInterest = 1,
	Territories = 2,
}

New Type: MapKit.MKMapFeatureType

[Serializable]
public enum MKMapFeatureType {
	PhysicalFeature = 2,
	PointOfInterest = 0,
	Territory = 1,
}

New Type: MapKit.MKMapItemRequest

public class MKMapItemRequest : Foundation.NSObject {
	// constructors
	protected MKMapItemRequest (Foundation.NSObjectFlag t);
	public MKMapItemRequest (MKMapFeatureAnnotation mapFeatureAnnotation);
	protected MKMapItemRequest (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MKMapFeatureAnnotation FeatureAnnotation { get; }
	public virtual bool IsCancelled { get; }
	public virtual bool IsLoading { get; }
	// methods
	public virtual void Cancel ();
	public virtual void GetMapItem (System.Action<MKMapItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<MKMapItem> GetMapItemAsync ();
}

New Type: MapKit.MKStandardMapConfiguration

public class MKStandardMapConfiguration : MapKit.MKMapConfiguration {
	// constructors
	public MKStandardMapConfiguration ();
	public MKStandardMapConfiguration (Foundation.NSCoder coder);
	protected MKStandardMapConfiguration (Foundation.NSObjectFlag t);
	public MKStandardMapConfiguration (MKMapElevationStyle elevationStyle);
	public MKStandardMapConfiguration (MKStandardMapEmphasisStyle emphasisStyle);
	protected MKStandardMapConfiguration (ObjCRuntime.NativeHandle handle);
	public MKStandardMapConfiguration (MKMapElevationStyle elevationStyle, MKStandardMapEmphasisStyle emphasisStyle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual MKStandardMapEmphasisStyle EmphasisStyle { get; set; }
	public virtual MKPointOfInterestFilter PointOfInterestFilter { get; set; }
	public virtual bool ShowsTraffic { get; set; }
}

New Type: MapKit.MKStandardMapEmphasisStyle

[Serializable]
public enum MKStandardMapEmphasisStyle {
	Default = 0,
	Muted = 1,
}

Namespace Network

Type Changed: Network.NWPath

Obsoleted methods:

 [Obsolete ("Use the overload that takes a 'Func<NWEndpoint, bool>' instead.")]
 public void EnumerateGateways (System.Action<NWEndpoint> callback);
 [Obsolete ("Use the overload that takes a 'Func<NWInterface, bool>' instead.")]
 public void EnumerateInterfaces (System.Action<NWInterface> callback);

Added methods:

public void EnumerateGateways (System.Func<NWEndpoint,System.Boolean> callback);
public void EnumerateInterfaces (System.Func<NWInterface,System.Boolean> callback);

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "16.0";
+public const string SdkVersion = "16.1";
-public const string SharedWithYouLibrary = "/System/Library/Frameworks/SharedWithYouCore.framework/SharedWithYouCore";
+public const string SharedWithYouLibrary = "/System/Library/Frameworks/SharedWithYou.framework/SharedWithYou";
-public const string Version = "16.0.0";
+public const string Version = "16.1.1";

Added field:

public static const string BackgroundAssetsLibrary = "/System/Library/Frameworks/BackgroundAssets.framework/BackgroundAssets";

Namespace SharedWithYou

Type Changed: SharedWithYou.SWHighlightCenter

Added method:

public virtual void ClearNotices (SWCollaborationHighlight highlight);

Namespace SharedWithYouCore

Type Changed: SharedWithYouCore.SWCollaborationMetadata

Added constructor:

public SWCollaborationMetadata (string identifier, SWIdentifierType identifierType);

New Type: SharedWithYouCore.SWIdentifierType

[Serializable]
public enum SWIdentifierType {
	Collaboration = 1,
	Local = 0,
}

Namespace StoreKit

Type Changed: StoreKit.SKAdImpression

Added property:

public virtual Foundation.NSNumber SourceIdentifier { get; set; }

Type Changed: StoreKit.SKAdNetwork

Added methods:

public static void UpdatePostback (nint conversionValue, SKAdNetworkCoarseConversionValue coarseValue, System.Action<Foundation.NSError> completion);
public static void UpdatePostback (nint conversionValue, SKAdNetworkCoarseConversionValue coarseValue, bool lockWindow, System.Action<Foundation.NSError> completion);
public static System.Threading.Tasks.Task UpdatePostbackAsync (nint conversionValue, SKAdNetworkCoarseConversionValue coarseValue);
public static System.Threading.Tasks.Task UpdatePostbackAsync (nint conversionValue, SKAdNetworkCoarseConversionValue coarseValue, bool lockWindow);

Type Changed: StoreKit.SKStoreProductParameterKey

Added property:

public static Foundation.NSString AdNetworkSourceIdentifier { get; }

New Type: StoreKit.SKAdNetworkCoarseConversionValue

[Serializable]
public enum SKAdNetworkCoarseConversionValue {
	High = 0,
	Low = 2,
	Medium = 1,
}

New Type: StoreKit.SKAdNetworkCoarseConversionValueExtensions

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

Namespace UIKit

Type Changed: UIKit.UIHoverGestureRecognizer

Added constructor:

public UIHoverGestureRecognizer (System.Action<UIHoverGestureRecognizer> action);

Added property:

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

Namespace VideoToolbox

Type Changed: VideoToolbox.VTCompressionProperties

Added properties:

public float? BaseLayerBitRateFraction { get; set; }
public long? ConstantBitRate { get; set; }
public bool? EnableLowLatencyRateControl { get; set; }
public bool? EnableLtr { get; set; }
public long? EstimatedAverageBytesPerFrame { get; }
public uint? MaxAllowedFrameQP { get; set; }
public uint? MinAllowedFrameQP { get; }
public bool? OutputBitDepth { get; set; }
public bool? PreserveAlphaChannel { get; set; }
public long? ReferenceBufferCount { get; }
public bool? SupportsBaseFrameQP { get; }

Type Changed: VideoToolbox.VTCompressionPropertyKey

Added properties:

public static Foundation.NSString ConstantBitRate { get; }
public static Foundation.NSString EstimatedAverageBytesPerFrame { get; }
public static Foundation.NSString MinAllowedFrameQP { get; }
public static Foundation.NSString PreserveAlphaChannel { get; }
public static Foundation.NSString ReferenceBufferCount { get; }

Type Changed: VideoToolbox.VTStatus

Obsoleted fields:

 [Obsolete ("Use PixelRotationNotSupported enum value instead.")]
 ImageRotationNotSupported = -12914,

Added values:

PixelRotationNotSupported = -12914,
VideoDecoderCallbackMessaging = -17695,
VideoDecoderReferenceMissing = -17694,
VideoDecoderUnknownErr = -17696,

New Type: VideoToolbox.VTPixelRotationProperties

public class VTPixelRotationProperties : Foundation.DictionaryContainer {
	// constructors
	public VTPixelRotationProperties ();
	public VTPixelRotationProperties (Foundation.NSDictionary dictionary);
	// properties
	public bool? FlipHorizontalOrientation { get; set; }
	public bool? FlipVerticalOrientation { get; set; }
	public VTRotation Rotation { get; set; }
}

New Type: VideoToolbox.VTPixelRotationPropertyKeys

public static class VTPixelRotationPropertyKeys {
	// properties
	public static Foundation.NSString FlipHorizontalOrientation { get; }
	public static Foundation.NSString FlipVerticalOrientation { get; }
	public static Foundation.NSString Rotation { get; }
}

New Type: VideoToolbox.VTPixelRotationSession

public class VTPixelRotationSession : VideoToolbox.VTSession {
	// methods
	public static VTPixelRotationSession Create ();
	public static VTPixelRotationSession Create (CoreFoundation.CFAllocator allocator);
	protected override void Dispose (bool disposing);
	public static nint GetTypeID ();
	public VTStatus RotateImage (CoreVideo.CVPixelBuffer sourceBuffer, CoreVideo.CVPixelBuffer destinationBuffer);
	public VTStatus SetRotationProperties (VTPixelRotationProperties options);
}

New Type: VideoToolbox.VTPixelTransferSession

public class VTPixelTransferSession : VideoToolbox.VTSession {
	// methods
	public static VTPixelTransferSession Create ();
	public static VTPixelTransferSession Create (CoreFoundation.CFAllocator allocator);
	protected override void Dispose (bool disposing);
	public static nint GetTypeID ();
	public VTStatus SetTransferProperties (VTPixelTransferProperties options);
	public VTStatus TransferImage (CoreVideo.CVPixelBuffer sourceBuffer, CoreVideo.CVPixelBuffer destinationBuffer);
}

New Type: VideoToolbox.VTRotation

[Serializable]
public enum VTRotation {
	ClockwiseNinety = 1,
	CounterclockwiseNinety = 3,
	OneHundredAndEighty = 2,
	Zero = 0,
}

New Type: VideoToolbox.VTRotationExtensions

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

New Namespace BackgroundAssets

New Type: BackgroundAssets.BAAppExtensionInfo

public class BAAppExtensionInfo : Foundation.NSObject, Foundation.INSCoding, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public BAAppExtensionInfo (Foundation.NSCoder coder);
	protected BAAppExtensionInfo (Foundation.NSObjectFlag t);
	protected BAAppExtensionInfo (ObjCRuntime.NativeHandle handle);
	// properties
	public virtual string ApplicationIdentifier { get; }
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSDate LastApplicationLaunchTime { get; }
	public virtual Foundation.NSDate LastPeriodicCheckTime { get; }
	public virtual Foundation.NSNumber RestrictedDownloadSizeRemaining { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: BackgroundAssets.BAContentRequest

[Serializable]
public enum BAContentRequest {
	Install = 1,
	Periodic = 3,
	Update = 2,
}

New Type: BackgroundAssets.BADownload

public class BADownload : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public BADownload (Foundation.NSCoder coder);
	protected BADownload (Foundation.NSObjectFlag t);
	protected BADownload (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual string Identifier { get; }
	public virtual nint Priority { get; }
	public virtual BADownloadState State { get; }
	public virtual string UniqueIdentifier { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: BackgroundAssets.BADownloadManager

public class BADownloadManager : Foundation.NSObject {
	// constructors
	protected BADownloadManager (Foundation.NSObjectFlag t);
	protected BADownloadManager (ObjCRuntime.NativeHandle handle);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public IBADownloadManagerDelegate Delegate { get; set; }
	public static BADownloadManager SharedManager { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual bool CancelDownload (BADownload download, out Foundation.NSError error);
	protected override void Dispose (bool disposing);
	public virtual void FetchCurrentDownloads (System.Action<Foundation.NSArray<BADownload>> completionHandler);
	public virtual System.Threading.Tasks.Task<Foundation.NSArray<BADownload>> FetchCurrentDownloadsAsync ();
	public virtual void PerformWithExclusiveControl (System.Action<Foundation.NSError> performHandler);
	public virtual void PerformWithExclusiveControl (Foundation.NSDate date, System.Action<System.Boolean,Foundation.NSError> performHandler);
	public virtual void PerformWithExclusiveControlBeforeDate (Foundation.NSDate date, System.Action<System.Boolean,Foundation.NSError> performHandler);
	public virtual bool ScheduleDownload (BADownload download, out Foundation.NSError outError);
	public virtual bool StartForegroundDownload (BADownload download, out Foundation.NSError outError);
}

New Type: BackgroundAssets.BADownloadManagerDelegate

public class BADownloadManagerDelegate : Foundation.NSObject, IBADownloadManagerDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public BADownloadManagerDelegate ();
	protected BADownloadManagerDelegate (Foundation.NSObjectFlag t);
	protected BADownloadManagerDelegate (ObjCRuntime.NativeHandle handle);
	// methods
	public virtual void DidBegin (BADownload download);
	public virtual void DidPause (BADownload download);
	public virtual void DidReceiveChallenge (BADownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
	public virtual void DidWriteBytes (BADownload download, long bytesWritten, long totalBytesWritten, long totalExpectedBytes);
	public virtual void Failed (BADownload download, Foundation.NSError error);
	public virtual void Finished (BADownload download, Foundation.NSUrl fileUrl);
}

New Type: BackgroundAssets.BADownloadManagerDelegate_Extensions

public static class BADownloadManagerDelegate_Extensions {
	// methods
	public static void DidBegin (this IBADownloadManagerDelegate This, BADownload download);
	public static void DidPause (this IBADownloadManagerDelegate This, BADownload download);
	public static void DidReceiveChallenge (this IBADownloadManagerDelegate This, BADownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
	public static void DidWriteBytes (this IBADownloadManagerDelegate This, BADownload download, long bytesWritten, long totalBytesWritten, long totalExpectedBytes);
	public static void Failed (this IBADownloadManagerDelegate This, BADownload download, Foundation.NSError error);
	public static void Finished (this IBADownloadManagerDelegate This, BADownload download, Foundation.NSUrl fileUrl);
}

New Type: BackgroundAssets.BADownloadState

[Serializable]
public enum BADownloadState {
	Created = 0,
	Downloading = 2,
	Failed = -1,
	Finished = 3,
	Waiting = 1,
}

New Type: BackgroundAssets.BADownloaderExtension_Extensions

public static class BADownloaderExtension_Extensions {
	// methods
	public static void DidReceiveChallenge (this IBADownloaderExtension This, BADownload download, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
	public static void Failed (this IBADownloaderExtension This, BADownload download, Foundation.NSError error);
	public static void Finished (this IBADownloaderExtension This, BADownload download, Foundation.NSUrl fileUrl);
	public static Foundation.NSSet<BADownload> GetDownloads (this IBADownloaderExtension This, BAContentRequest contentRequest, Foundation.NSUrl manifestUrl, BAAppExtensionInfo extensionInfo);
	public static void WillTerminate (this IBADownloaderExtension This);
}

New Type: BackgroundAssets.BAUrlDownload

public class BAUrlDownload : BackgroundAssets.BADownload {
	// constructors
	public BAUrlDownload (Foundation.NSCoder coder);
	protected BAUrlDownload (Foundation.NSObjectFlag t);
	protected BAUrlDownload (ObjCRuntime.NativeHandle handle);
	public BAUrlDownload (string identifier, Foundation.NSUrlRequest request, string applicationGroupIdentifier);
	public BAUrlDownload (string identifier, Foundation.NSUrlRequest request, string applicationGroupIdentifier, nint priority);
	// properties
	public override ObjCRuntime.NativeHandle ClassHandle { get; }
	public static nint DefaultPriority { get; }
	public static nint MaxPriority { get; }
	public static nint MinPriority { get; }
}

New Type: BackgroundAssets.IBADownloadManagerDelegate

public interface IBADownloadManagerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: BackgroundAssets.IBADownloaderExtension

public interface IBADownloaderExtension : ObjCRuntime.INativeObject, System.IDisposable {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment