Xamarin.WatchOS SDK API diff: 11.14.0 vs 12.0.0

Xamarin.WatchOS SDK API diff: 11.14.0 vs 12.0.0

Xamarin.WatchOS.dll

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioEngine

Added method:

public virtual void DisableManualRenderingMode ();

Type Changed: AVFoundation.AVAudioSession

Added properties:

public virtual AVAudioSessionRecordPermission RecordPermission { get; }
public virtual AVAudioSessionRouteSharingPolicy RouteSharingPolicy { get; }
public static Foundation.NSString VoicePrompt { get; }

Added methods:

public virtual void Activate (AVAudioSessionActivationOptions options, System.Action<System.Boolean,Foundation.NSError> handler);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> ActivateAsync (AVAudioSessionActivationOptions options);
public virtual bool SetCategory (string category, string mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);

New Type: AVFoundation.AVAudioSessionActivationOptions

[Serializable]
[Flags]
public enum AVAudioSessionActivationOptions {
    None = 0,
}

New Type: AVFoundation.AVAudioSessionRecordPermission

[Serializable]
public enum AVAudioSessionRecordPermission {
    Denied = 1684369017,
    Granted = 1735552628,
    Undetermined = 1970168948,
}

New Type: AVFoundation.AVAudioSessionRouteSharingPolicy

[Serializable]
public enum AVAudioSessionRouteSharingPolicy {
    Default = 0,
    Independent = 2,
    LongForm = 1,
}

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLabel

Added values:

BinauralLeft = 208,
BinauralRight = 209,

New Type: AudioToolbox.AudioChannelLabelExtensions

public static class AudioChannelLabelExtensions {
    // methods
    public static bool IsReserved (this AudioChannelLabel value);
}

Namespace ClockKit

Type Changed: ClockKit.CLKComplicationFamily

Added values:

GraphicBezel = 9,
GraphicCircular = 10,
GraphicCorner = 8,
GraphicRectangular = 11,

Type Changed: ClockKit.CLKComplicationTimelineEntry

Removed method:

protected override void Dispose (bool disposing);

Type Changed: ClockKit.CLKImageProvider

Removed method:

protected override void Dispose (bool disposing);

Type Changed: ClockKit.CLKRelativeDateStyle

Added value:

NaturalAbbreviated = 3,

Type Changed: ClockKit.CLKTextProvider

Removed method:

protected override void Dispose (bool disposing);

New Type: ClockKit.CLKComplicationTemplateGraphicBezelCircularText

public class CLKComplicationTemplateGraphicBezelCircularText : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicBezelCircularText ();
    protected CLKComplicationTemplateGraphicBezelCircularText (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicBezelCircularText (IntPtr handle);
    // properties
    public virtual CLKComplicationTemplateGraphicCircular CircularTemplate { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CLKTextProvider TextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCircular

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

New Type: ClockKit.CLKComplicationTemplateGraphicCircularClosedGaugeImage

public class CLKComplicationTemplateGraphicCircularClosedGaugeImage : ClockKit.CLKComplicationTemplateGraphicCircular, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCircularClosedGaugeImage ();
    protected CLKComplicationTemplateGraphicCircularClosedGaugeImage (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCircularClosedGaugeImage (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CLKGaugeProvider GaugeProvider { get; set; }
    public virtual CLKFullColorImageProvider ImageProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCircularClosedGaugeText

public class CLKComplicationTemplateGraphicCircularClosedGaugeText : ClockKit.CLKComplicationTemplateGraphicCircular, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCircularClosedGaugeText ();
    protected CLKComplicationTemplateGraphicCircularClosedGaugeText (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCircularClosedGaugeText (IntPtr handle);
    // properties
    public virtual CLKTextProvider CenterTextProvider { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CLKGaugeProvider GaugeProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCircularImage

public class CLKComplicationTemplateGraphicCircularImage : ClockKit.CLKComplicationTemplateGraphicCircular, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCircularImage ();
    protected CLKComplicationTemplateGraphicCircularImage (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCircularImage (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CLKFullColorImageProvider ImageProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCircularOpenGaugeImage

public class CLKComplicationTemplateGraphicCircularOpenGaugeImage : ClockKit.CLKComplicationTemplateGraphicCircular, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCircularOpenGaugeImage ();
    protected CLKComplicationTemplateGraphicCircularOpenGaugeImage (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCircularOpenGaugeImage (IntPtr handle);
    // properties
    public virtual CLKFullColorImageProvider BottomImageProvider { get; set; }
    public virtual CLKTextProvider CenterTextProvider { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CLKGaugeProvider GaugeProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCircularOpenGaugeRangeText

public class CLKComplicationTemplateGraphicCircularOpenGaugeRangeText : ClockKit.CLKComplicationTemplateGraphicCircular, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCircularOpenGaugeRangeText ();
    protected CLKComplicationTemplateGraphicCircularOpenGaugeRangeText (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCircularOpenGaugeRangeText (IntPtr handle);
    // properties
    public virtual CLKTextProvider CenterTextProvider { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CLKGaugeProvider GaugeProvider { get; set; }
    public virtual CLKTextProvider LeadingTextProvider { get; set; }
    public virtual CLKTextProvider TrailingTextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCircularOpenGaugeSimpleText

public class CLKComplicationTemplateGraphicCircularOpenGaugeSimpleText : ClockKit.CLKComplicationTemplateGraphicCircular, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCircularOpenGaugeSimpleText ();
    protected CLKComplicationTemplateGraphicCircularOpenGaugeSimpleText (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCircularOpenGaugeSimpleText (IntPtr handle);
    // properties
    public virtual CLKTextProvider BottomTextProvider { get; set; }
    public virtual CLKTextProvider CenterTextProvider { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CLKGaugeProvider GaugeProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCornerCircularImage

public class CLKComplicationTemplateGraphicCornerCircularImage : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCornerCircularImage ();
    protected CLKComplicationTemplateGraphicCornerCircularImage (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCornerCircularImage (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CLKFullColorImageProvider ImageProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCornerGaugeImage

public class CLKComplicationTemplateGraphicCornerGaugeImage : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCornerGaugeImage ();
    protected CLKComplicationTemplateGraphicCornerGaugeImage (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCornerGaugeImage (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CLKGaugeProvider GaugeProvider { get; set; }
    public virtual CLKFullColorImageProvider ImageProvider { get; set; }
    public virtual CLKTextProvider LeadingTextProvider { get; set; }
    public virtual CLKTextProvider TrailingTextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCornerGaugeText

public class CLKComplicationTemplateGraphicCornerGaugeText : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCornerGaugeText ();
    protected CLKComplicationTemplateGraphicCornerGaugeText (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCornerGaugeText (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CLKGaugeProvider GaugeProvider { get; set; }
    public virtual CLKTextProvider LeadingTextProvider { get; set; }
    public virtual CLKTextProvider OuterTextProvider { get; set; }
    public virtual CLKTextProvider TrailingTextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCornerStackText

public class CLKComplicationTemplateGraphicCornerStackText : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCornerStackText ();
    protected CLKComplicationTemplateGraphicCornerStackText (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCornerStackText (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CLKTextProvider InnerTextProvider { get; set; }
    public virtual CLKTextProvider OuterTextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicCornerTextImage

public class CLKComplicationTemplateGraphicCornerTextImage : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicCornerTextImage ();
    protected CLKComplicationTemplateGraphicCornerTextImage (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicCornerTextImage (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CLKFullColorImageProvider ImageProvider { get; set; }
    public virtual CLKTextProvider TextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicRectangularLargeImage

public class CLKComplicationTemplateGraphicRectangularLargeImage : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicRectangularLargeImage ();
    protected CLKComplicationTemplateGraphicRectangularLargeImage (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicRectangularLargeImage (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CLKFullColorImageProvider ImageProvider { get; set; }
    public virtual CLKTextProvider TextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicRectangularStandardBody

public class CLKComplicationTemplateGraphicRectangularStandardBody : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicRectangularStandardBody ();
    protected CLKComplicationTemplateGraphicRectangularStandardBody (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicRectangularStandardBody (IntPtr handle);
    // properties
    public virtual CLKTextProvider Body1TextProvider { get; set; }
    public virtual CLKTextProvider Body2TextProvider { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CLKFullColorImageProvider HeaderImageProvider { get; set; }
    public virtual CLKTextProvider HeaderTextProvider { get; set; }
}

New Type: ClockKit.CLKComplicationTemplateGraphicRectangularTextGauge

public class CLKComplicationTemplateGraphicRectangularTextGauge : ClockKit.CLKComplicationTemplate, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CLKComplicationTemplateGraphicRectangularTextGauge ();
    protected CLKComplicationTemplateGraphicRectangularTextGauge (Foundation.NSObjectFlag t);
    protected CLKComplicationTemplateGraphicRectangularTextGauge (IntPtr handle);
    // properties
    public virtual CLKTextProvider Body1TextProvider { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual CLKGaugeProvider GaugeProvider { get; set; }
    public virtual CLKFullColorImageProvider HeaderImageProvider { get; set; }
    public virtual CLKTextProvider HeaderTextProvider { get; set; }
}

New Type: ClockKit.CLKFullColorImageProvider

public class CLKFullColorImageProvider : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CLKFullColorImageProvider (Foundation.NSObjectFlag t);
    protected CLKFullColorImageProvider (IntPtr handle);
    // properties
    public virtual string AccessibilityLabel { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual UIKit.UIImage Image { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public static CLKFullColorImageProvider Create (UIKit.UIImage image);
}

New Type: ClockKit.CLKGaugeProvider

public abstract class CLKGaugeProvider : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CLKGaugeProvider (Foundation.NSObjectFlag t);
    protected CLKGaugeProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual float[] GaugeColorLocations { get; }
    public virtual UIKit.UIColor[] GaugeColors { get; }
    public virtual CLKGaugeProviderStyle Style { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: ClockKit.CLKGaugeProviderStyle

[Serializable]
public enum CLKGaugeProviderStyle {
    Fill = 1,
    Ring = 0,
}

New Type: ClockKit.CLKSimpleGaugeProvider

public class CLKSimpleGaugeProvider : ClockKit.CLKGaugeProvider, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CLKSimpleGaugeProvider (Foundation.NSObjectFlag t);
    protected CLKSimpleGaugeProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual float FillFraction { get; }
    public static float FillFractionEmpty { get; }
    // methods
    public static CLKSimpleGaugeProvider Create (CLKGaugeProviderStyle style, UIKit.UIColor color, float fillFraction);
    public static CLKSimpleGaugeProvider Create (CLKGaugeProviderStyle style, UIKit.UIColor[] gaugeColors, float[] gaugeColorLocations, float fillFraction);
}

New Type: ClockKit.CLKTimeIntervalGaugeProvider

public class CLKTimeIntervalGaugeProvider : ClockKit.CLKGaugeProvider, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected CLKTimeIntervalGaugeProvider (Foundation.NSObjectFlag t);
    protected CLKTimeIntervalGaugeProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public virtual float EndFillFraction { get; }
    public virtual Foundation.NSDate StartDate { get; }
    public virtual float StartFillFraction { get; }
    // methods
    public static CLKTimeIntervalGaugeProvider Create (CLKGaugeProviderStyle style, UIKit.UIColor[] gaugeColors, float[] gaugeColorLocations, Foundation.NSDate startDate, Foundation.NSDate endDate);
    public static CLKTimeIntervalGaugeProvider Create (CLKGaugeProviderStyle style, UIKit.UIColor[] gaugeColors, float[] gaugeColorLocations, Foundation.NSDate startDate, float startFillFraction, Foundation.NSDate endDate, float endFillFraction);
}

Namespace CloudKit

Type Changed: CloudKit.CKFetchRecordZoneChangesOperation

Added constructor:

public CKFetchRecordZoneChangesOperation (CKRecordZoneID[] recordZoneIDs, Foundation.NSDictionary<CKRecordZoneID,CloudKit.CKFetchRecordZoneChangesConfiguration> configurationsByRecordZoneID);

Added property:

public virtual Foundation.NSDictionary<CKRecordZoneID,CloudKit.CKFetchRecordZoneChangesConfiguration> ConfigurationsByRecordZoneID { get; set; }

Type Changed: CloudKit.CKOperation

Added constructor:

protected CKOperation ();

Type Changed: CloudKit.CKOperationGroup

Added constructor:

public CKOperationGroup ();

Type Changed: CloudKit.CKShareMetadata

Added property:

public virtual CKShareParticipantRole ParticipantRole { get; }

Type Changed: CloudKit.CKShareParticipant

Added property:

public virtual CKShareParticipantRole Role { get; set; }

New Type: CloudKit.CKFetchRecordZoneChangesConfiguration

public class CKFetchRecordZoneChangesConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CKFetchRecordZoneChangesConfiguration ();
    public CKFetchRecordZoneChangesConfiguration (Foundation.NSCoder coder);
    protected CKFetchRecordZoneChangesConfiguration (Foundation.NSObjectFlag t);
    protected CKFetchRecordZoneChangesConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string[] DesiredKeys { get; set; }
    public virtual CKServerChangeToken PreviousServerChangeToken { get; set; }
    public virtual uint ResultsLimit { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CloudKit.CKShareParticipantRole

[Serializable]
public enum CKShareParticipantRole {
    Owner = 1,
    PrivateUser = 3,
    PublicUser = 4,
    Unknown = 0,
}

Namespace Contacts

Type Changed: Contacts.CNContact

Added methods:

public static Foundation.NSPredicate GetPredicateForContacts (CNPhoneNumber phoneNumber);
public static Foundation.NSPredicate GetPredicateForContactsMatchingEmailAddress (string emailAddress);

Type Changed: Contacts.CNErrorCode

Added values:

RecordIdentifierInvalid = 205,
VCardSummarizationError = 701,

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBError

Added value:

OperationNotSupported = 13,

Namespace CoreData

Type Changed: CoreData.NSPersistentStore

Added property:

public static ObjCRuntime.Class MigrationManagerClass { get; }

Namespace CoreFoundation

New Type: CoreFoundation.CFPropertyList

public class CFPropertyList : ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public CFPropertyList (IntPtr handle);
    public CFPropertyList (IntPtr handle, bool owns);
    // properties
    public virtual IntPtr Handle { get; }
    public object Value { get; }
    // methods
    public System.ValueTuple<Foundation.NSData,Foundation.NSError> AsData (CFPropertyListFormat format);
    public CFPropertyList DeepCopy (CFPropertyListMutabilityOptions options);
    public virtual void Dispose ();
    public virtual void Dispose (bool disposing);
    public static System.ValueTuple<CFPropertyList,CoreFoundation.CFPropertyListFormat,Foundation.NSError> FromData (Foundation.NSData data, CFPropertyListMutabilityOptions options);
    public bool IsValid (CFPropertyListFormat format);
    protected override void ~CFPropertyList ();
}

New Type: CoreFoundation.CFPropertyListFormat

[Serializable]
public enum CFPropertyListFormat {
    BinaryFormat1 = 200,
    OpenStep = 1,
    XmlFormat1 = 100,
}

New Type: CoreFoundation.CFPropertyListMutabilityOptions

[Serializable]
[Flags]
public enum CFPropertyListMutabilityOptions {
    Immutable = 0,
    MutableContainers = 1,
    MutableContainersAndLeaves = 2,
}

New Type: CoreFoundation.DispatchData

public class DispatchData : CoreFoundation.DispatchObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public DispatchData (IntPtr handle);
    public DispatchData (IntPtr handle, bool owns);
    // properties
    public uint Size { get; }
    // methods
    public static DispatchData Concat (DispatchData data1, DispatchData data2);
    public DispatchData CreateMap (out IntPtr bufferPtr, out uint size);
    public DispatchData CreateSubrange (uint offset, uint size);
    public static DispatchData FromBuffer (IntPtr buffer, uint size);
    public static DispatchData FromByteBuffer (byte[] buffer);
    public static DispatchData FromByteBuffer (byte[] buffer, int start, int length);
}

New Type: CoreFoundation.DispatchIO

public class DispatchIO : CoreFoundation.DispatchObject, ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public static void Read (int fd, uint size, DispatchQueue dispatchQueue, DispatchIOHandler handler);
    public static void Write (int fd, DispatchData dispatchData, DispatchQueue dispatchQueue, DispatchIOHandler handler);
}

New Type: CoreFoundation.DispatchIOHandler

public sealed delegate DispatchIOHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public DispatchIOHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (DispatchData data, int error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (DispatchData data, int error);
}

New Type: CoreFoundation.NativeObject

public abstract class NativeObject : ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    protected NativeObject ();
    protected NativeObject (IntPtr handle, bool owns);
    // properties
    protected override IntPtr Handle { get; set; }
    // methods
    public virtual void Dispose ();
    protected virtual void Dispose (bool disposing);
    protected virtual void InitializeHandle (IntPtr handle);
    protected virtual void Release ();
    protected virtual void Retain ();
    protected override void ~NativeObject ();
}

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColorSpace

Added constructor:

public CGColorSpace (CoreFoundation.CFPropertyList propertyList);

Added method:

public CoreFoundation.CFPropertyList ToPropertyList ();

Type Changed: CoreGraphics.CGColorSpaceModel

Added value:

Xyz = 7,

Type Changed: CoreGraphics.CGFunction

Added property:

public CGFunction.CGFunctionEvaluate EvaluateFunction { get; set; }

Type Changed: CoreGraphics.CGImage

Added properties:

public CGImageByteOrderInfo ByteOrderInfo { get; }
public CGImagePixelFormatInfo PixelFormatInfo { get; }

Type Changed: CoreGraphics.CGPDFArray

Added methods:

public bool Apply (CGPDFArray.ApplyCallback callback, object info);
public bool GetArray (nint idx, out CGPDFArray array);
public bool GetBoolean (nint idx, out bool result);
public bool GetDictionary (nint idx, out CGPDFDictionary result);
public bool GetFloat (nint idx, out nfloat result);
public bool GetInt (nint idx, out nint result);
public bool GetName (nint idx, out string result);
public bool GetStream (nint idx, out CGPDFStream result);
public bool GetString (nint idx, out string result);

Type Changed: CoreGraphics.CGPDFDictionary

Added method:

public void Apply (CGPDFDictionary.ApplyCallback callback, object info);

New Type: CoreGraphics.CGImageByteOrderInfo

[Serializable]
[Flags]
public enum CGImageByteOrderInfo {
    ByteOrder16Big = 12288,
    ByteOrder16Little = 4096,
    ByteOrder32Big = 16384,
    ByteOrder32Little = 8192,
    ByteOrderDefault = 0,
    ByteOrderMask = 28672,
}

New Type: CoreGraphics.CGImagePixelFormatInfo

[Serializable]
public enum CGImagePixelFormatInfo {
    Mask = 983040,
    Packed = 0,
    Rgb101010 = 196608,
    Rgb555 = 65536,
    Rgb565 = 131072,
    RgbCif10 = 262144,
}

Namespace CoreLocation

Type Changed: CoreLocation.CLActivityType

Added value:

Airborne = 5,

Namespace CoreML

Type Changed: CoreML.MLFeatureDescription

Added property:

public virtual MLSequenceConstraint SequenceConstraint { get; }

Type Changed: CoreML.MLFeatureType

Added value:

Sequence = 7,

Type Changed: CoreML.MLFeatureValue

Added property:

public virtual MLSequence SequenceValue { get; }

Added method:

public static MLFeatureValue Create (MLSequence sequence);

Type Changed: CoreML.MLImageConstraint

Added property:

public virtual MLImageSizeConstraint SizeConstraint { get; }

Type Changed: CoreML.MLModel

Added property:

public virtual MLModelConfiguration Configuration { get; }

Added methods:

public static MLModel Create (Foundation.NSUrl url, MLModelConfiguration configuration, out Foundation.NSError error);
public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);

Type Changed: CoreML.MLModelError

Added value:

CustomModel = 5,

Type Changed: CoreML.MLMultiArrayConstraint

Added property:

public virtual MLMultiArrayShapeConstraint ShapeConstraint { get; }

New Type: CoreML.IMLBatchProvider

public interface IMLBatchProvider : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual nint Count { get; }
    // methods
    public virtual IMLFeatureProvider GetFeatures (nint index);
}

New Type: CoreML.IMLCustomModel

public interface IMLCustomModel : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLArrayBatchProvider

public class MLArrayBatchProvider : Foundation.NSObject, IMLBatchProvider, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MLArrayBatchProvider (IMLFeatureProvider[] array);
    protected MLArrayBatchProvider (Foundation.NSObjectFlag t);
    protected MLArrayBatchProvider (IntPtr handle);
    public MLArrayBatchProvider (Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray> dictionary, out Foundation.NSError error);
    // properties
    public virtual IMLFeatureProvider[] Array { get; }
    public override IntPtr ClassHandle { get; }
    public virtual nint Count { get; }
    // methods
    public virtual IMLFeatureProvider GetFeatures (nint index);
}

New Type: CoreML.MLComputeUnits

[Serializable]
public enum MLComputeUnits {
    All = 2,
    CpuAndGpu = 1,
    CpuOnly = 0,
}

New Type: CoreML.MLCustomModel

public abstract class MLCustomModel : Foundation.NSObject, IMLCustomModel, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLCustomModel ();
    protected MLCustomModel (Foundation.NSObjectFlag t);
    protected MLCustomModel (IntPtr handle);
    public MLCustomModel (MLModelDescription modelDescription, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> parameters, out Foundation.NSError error);
    // methods
    public virtual IMLFeatureProvider GetPrediction (IMLFeatureProvider inputFeatures, MLPredictionOptions options, out Foundation.NSError error);
    public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLCustomModel_Extensions

public static class MLCustomModel_Extensions {
    // methods
    public static IMLBatchProvider GetPredictions (this IMLCustomModel This, IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);
}

New Type: CoreML.MLImageSize

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

New Type: CoreML.MLImageSizeConstraint

public class MLImageSizeConstraint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLImageSizeConstraint (Foundation.NSObjectFlag t);
    protected MLImageSizeConstraint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MLImageSize[] EnumeratedImageSizes { get; }
    public virtual Foundation.NSRange PixelsHighRange { get; }
    public virtual Foundation.NSRange PixelsWideRange { get; }
    public virtual MLImageSizeConstraintType Type { get; }
}

New Type: CoreML.MLImageSizeConstraintType

[Serializable]
public enum MLImageSizeConstraintType {
    Enumerated = 2,
    Range = 3,
    Unspecified = 0,
}

New Type: CoreML.MLModelConfiguration

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

New Type: CoreML.MLMultiArrayShapeConstraint

public class MLMultiArrayShapeConstraint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLMultiArrayShapeConstraint (Foundation.NSObjectFlag t);
    protected MLMultiArrayShapeConstraint (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSArray<Foundation.NSNumber>[] EnumeratedShapes { get; }
    public virtual Foundation.NSValue[] SizeRangeForDimension { get; }
    public virtual MLMultiArrayShapeConstraintType Type { get; }
}

New Type: CoreML.MLMultiArrayShapeConstraintType

[Serializable]
public enum MLMultiArrayShapeConstraintType {
    Enumerated = 2,
    Range = 3,
    Unspecified = 1,
}

New Type: CoreML.MLSequence

public class MLSequence : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MLSequence (Foundation.NSObjectFlag t);
    protected MLSequence (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSNumber[] Int64Values { get; }
    public virtual string[] StringValues { get; }
    public virtual MLFeatureType Type { get; }
    // methods
    public static MLSequence Create (Foundation.NSNumber[] int64Values);
    public static MLSequence Create (string[] stringValues);
    public static MLSequence CreateEmpty (MLFeatureType type);
}

New Type: CoreML.MLSequenceConstraint

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

Namespace CoreMotion

New Type: CoreMotion.CMDyskineticSymptomResult

public class CMDyskineticSymptomResult : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CMDyskineticSymptomResult (Foundation.NSCoder coder);
    protected CMDyskineticSymptomResult (Foundation.NSObjectFlag t);
    protected CMDyskineticSymptomResult (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public virtual float PercentLikely { get; }
    public virtual float PercentUnlikely { get; }
    public virtual Foundation.NSDate StartDate { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMotion.CMDyskineticSymptomResultHandler

public sealed delegate CMDyskineticSymptomResultHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public CMDyskineticSymptomResultHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (CMDyskineticSymptomResult[] dyskineticSymptomResult, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (CMDyskineticSymptomResult[] dyskineticSymptomResult, Foundation.NSError error);
}

New Type: CoreMotion.CMMovementDisorderManager

public class CMMovementDisorderManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CMMovementDisorderManager ();
    protected CMMovementDisorderManager (Foundation.NSObjectFlag t);
    protected CMMovementDisorderManager (IntPtr handle);
    // properties
    public static CMAuthorizationStatus AuthorizationStatus { get; }
    public override IntPtr ClassHandle { get; }
    public static bool IsAvailable { get; }
    public virtual Foundation.NSDate LastProcessedDate { get; }
    public virtual Foundation.NSDate MonitorKinesiasExpirationDate { get; }
    // methods
    public virtual void MonitorKinesias (double durationInSeconds);
    public virtual void QueryDyskineticSymptom (Foundation.NSDate fromDate, Foundation.NSDate toDate, CMDyskineticSymptomResultHandler handler);
    public virtual System.Threading.Tasks.Task<CMDyskineticSymptomResult[]> QueryDyskineticSymptomAsync (Foundation.NSDate fromDate, Foundation.NSDate toDate);
    public virtual void QueryTremor (Foundation.NSDate fromDate, Foundation.NSDate toDate, CMTremorResultHandler handler);
    public virtual System.Threading.Tasks.Task<CMTremorResult[]> QueryTremorAsync (Foundation.NSDate fromDate, Foundation.NSDate toDate);
}

New Type: CoreMotion.CMTremorResult

public class CMTremorResult : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public CMTremorResult (Foundation.NSCoder coder);
    protected CMTremorResult (Foundation.NSObjectFlag t);
    protected CMTremorResult (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public virtual float PercentMild { get; }
    public virtual float PercentModerate { get; }
    public virtual float PercentNone { get; }
    public virtual float PercentSlight { get; }
    public virtual float PercentStrong { get; }
    public virtual float PercentUnknown { get; }
    public virtual Foundation.NSDate StartDate { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMotion.CMTremorResultHandler

public sealed delegate CMTremorResultHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public CMTremorResultHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (CMTremorResult[] tremorResults, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (CMTremorResult[] tremorResults, Foundation.NSError error);
}

Namespace CoreText

Type Changed: CoreText.CTFontCollection

Added method:

public CTFontDescriptor[] GetMatchingFontDescriptors (CTFontCollectionOptions options);

Type Changed: CoreText.CTFramesetter

Added method:

public static CTFramesetter Create (CTTypesetter typesetter);

Type Changed: CoreText.CTTypesetterOptionKey

Added property:

public static Foundation.NSString AllowUnboundedLayout { get; }

Type Changed: CoreText.CTTypesetterOptions

Added property:

public bool AllowUnboundedLayout { get; set; }

Namespace CoreVideo

Type Changed: CoreVideo.CVImageBufferTransferFunction

Added value:

Linear = 11,

Type Changed: CoreVideo.CVPixelFormatDescription

Added field:

public static Foundation.NSString ContainsGrayscaleKey;

Namespace EventKit

Type Changed: EventKit.EKRecurrenceDayOfWeek

Added constructor:

public EKRecurrenceDayOfWeek (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: EventKit.EKRecurrenceEnd

Added constructor:

public EKRecurrenceEnd (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Namespace Foundation

Type Changed: Foundation.NSFileWrapper

Added interface:

INSSecureCoding

Type Changed: Foundation.NSKeyedArchiver

Added constructor:

public NSKeyedArchiver (bool requiresSecureCoding);

Added method:

public static NSData ArchivedDataWithRootObject (NSObject object, bool requiresSecureCoding, out NSError error);

Type Changed: Foundation.NSKeyedUnarchiver

Added constructor:

public NSKeyedUnarchiver (NSData data, out NSError error);

Added methods:

public static NSObject GetUnarchivedObject (Foundation.NSSet<ObjCRuntime.Class> classes, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (ObjCRuntime.Class cls, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (System.Type type, NSData data, out NSError error);
public static NSObject GetUnarchivedObject (System.Type[] types, NSData data, out NSError error);

Type Changed: Foundation.NSString

Obsoleted methods:

[Obsolete ("Use 'GetLocalizedUserNotificationString' that takes 'NSString' to preserve localization.")]
 public static string GetLocalizedUserNotificationString (string key, NSObject[] arguments);

Added method:

public static NSString GetLocalizedUserNotificationString (NSString key, NSObject[] arguments);

Type Changed: Foundation.NSUrlRequestNetworkServiceType

Added value:

ResponsiveData = 5,

Type Changed: Foundation.NSUserActivity

Added properties:

public virtual bool EligibleForPrediction { get; set; }
public virtual string PersistentIdentifier { get; set; }
public virtual string SuggestedInvocationPhrase { get; set; }

Added methods:

public static void DeleteAllSavedUserActivities (System.Action handler);
public static System.Threading.Tasks.Task DeleteAllSavedUserActivitiesAsync ();
public static void DeleteSavedUserActivities (string[] persistentIdentifiers, System.Action handler);
public static System.Threading.Tasks.Task DeleteSavedUserActivitiesAsync (string[] persistentIdentifiers);

Type Changed: Foundation.NSValueTransformer

Added property:

public static NSString SecureUnarchiveFromDataTransformerName { get; }

New Type: Foundation.NSSecureUnarchiveFromDataTransformer

public class NSSecureUnarchiveFromDataTransformer : Foundation.NSValueTransformer, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
    // constructors
    public NSSecureUnarchiveFromDataTransformer ();
    protected NSSecureUnarchiveFromDataTransformer (NSObjectFlag t);
    protected NSSecureUnarchiveFromDataTransformer (IntPtr handle);
    // properties
    public static ObjCRuntime.Class[] AllowedTopLevelClasses { get; }
    public static System.Type[] AllowedTopLevelTypes { get; }
    public override IntPtr ClassHandle { get; }
}

Namespace GameKit

Type Changed: GameKit.GKGameSessionErrorCodeExtensions

Obsoleted methods:

[Obsolete ("Always returns null.")]
 public static Foundation.NSString GetDomain (this GKGameSessionErrorCode self);

Namespace HealthKit

Type Changed: HealthKit.HKHealthStore

Added methods:

public virtual void GetRequestStatusForAuthorizationToShare (Foundation.NSSet<HKSampleType> typesToShare, Foundation.NSSet<HKObjectType> typesToRead, HKHealthStoreGetRequestStatusForAuthorizationToShareHandler completion);
public virtual System.Threading.Tasks.Task<HKAuthorizationRequestStatus> GetRequestStatusForAuthorizationToShareAsync (Foundation.NSSet<HKSampleType> typesToShare, Foundation.NSSet<HKObjectType> typesToRead);
public virtual void RecoverActiveWorkoutSession (HKHealthStoreRecoverActiveWorkoutSessionHandler completion);
public virtual System.Threading.Tasks.Task<HKWorkoutSession> RecoverActiveWorkoutSessionAsync ();

Type Changed: HealthKit.HKMetadata

Added properties:

public HKQuantity CrossTrainerDistance { get; set; }
public HKQuantity FitnessMachineDuration { get; set; }
public HKQuantity IndoorBikeDistance { get; set; }

Type Changed: HealthKit.HKMetadataKey

Added properties:

public static Foundation.NSString CrossTrainerDistance { get; }
public static Foundation.NSString FitnessMachineDuration { get; }
public static Foundation.NSString IndoorBikeDistance { get; }

Type Changed: HealthKit.HKObjectType

Added method:

public static HKClinicalType GetClinicalType (HKClinicalTypeIdentifier identifier);

Type Changed: HealthKit.HKPredicateKeyPath

Added property:

public static Foundation.NSString PathSum { get; }

Type Changed: HealthKit.HKQuantitySample

Added property:

public virtual nint Count { get; }

Type Changed: HealthKit.HKQuantityTypeIdentifier

Added values:

DistanceDownhillSnowSports = 75,
HeartRateVariabilitySdnn = 79,
InsulinDelivery = 76,
RestingHeartRate = 77,
WalkingHeartRateAverage = 78,

Type Changed: HealthKit.HKStatistics

Added properties:

public virtual HKQuantity MostRecentQuantity { get; }
public virtual Foundation.NSDateInterval MostRecentQuantityDateInterval { get; }

Added methods:

public virtual HKQuantity GetMostRecentQuantity (HKSource source);
public virtual Foundation.NSDateInterval GetMostRecentQuantityDateInterval (HKSource source);

Type Changed: HealthKit.HKWorkoutRouteBuilder

Added methods:

protected virtual void AddMetadata (Foundation.NSDictionary metadata, HKWorkoutRouteBuilderAddMetadataHandler completion);
public void AddMetadata (HKMetadata metadata, HKWorkoutRouteBuilderAddMetadataHandler completion);
protected virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddMetadataAsync (Foundation.NSDictionary metadata);
public System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddMetadataAsync (HKMetadata metadata);

Type Changed: HealthKit.HKWorkoutSession

Added constructor:

public HKWorkoutSession (HKHealthStore healthStore, HKWorkoutConfiguration workoutConfiguration, out Foundation.NSError error);

Added property:

public virtual HKLiveWorkoutBuilder AssociatedWorkoutBuilder { get; }

Added methods:

public virtual void End ();
public virtual void Pause ();
public virtual void Prepare ();
public virtual void Resume ();
public virtual void StartActivity (Foundation.NSDate date);
public virtual void StopActivity (Foundation.NSDate date);

New Type: HealthKit.HKAuthorizationRequestStatus

[Serializable]
public enum HKAuthorizationRequestStatus {
    ShouldRequest = 1,
    Unknown = 0,
    Unnecessary = 2,
}

New Type: HealthKit.HKCategoryTypeIdentifierExtensions

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

New Type: HealthKit.HKCharacteristicTypeIdentifierExtensions

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

New Type: HealthKit.HKClinicalType

public class HKClinicalType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public HKClinicalType (Foundation.NSCoder coder);
    protected HKClinicalType (Foundation.NSObjectFlag t);
    protected HKClinicalType (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKClinicalTypeIdentifier

[Serializable]
public enum HKClinicalTypeIdentifier {
    AllergyRecord = 0,
    ConditionRecord = 1,
    ImmunizationRecord = 2,
    LabResultRecord = 3,
    MedicationRecord = 4,
    ProcedureRecord = 5,
    VitalSignRecord = 6,
}

New Type: HealthKit.HKClinicalTypeIdentifierExtensions

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

New Type: HealthKit.HKCorrelationTypeIdentifierExtensions

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

New Type: HealthKit.HKCumulativeQuantitySeriesSample

public class HKCumulativeQuantitySeriesSample : HealthKit.HKQuantitySample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public HKCumulativeQuantitySeriesSample (Foundation.NSCoder coder);
    protected HKCumulativeQuantitySeriesSample (Foundation.NSObjectFlag t);
    protected HKCumulativeQuantitySeriesSample (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKQuantity Sum { get; }
}

New Type: HealthKit.HKHealthStoreGetRequestStatusForAuthorizationToShareHandler

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

New Type: HealthKit.HKHealthStoreRecoverActiveWorkoutSessionHandler

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

New Type: HealthKit.HKLiveWorkoutBuilder

public class HKLiveWorkoutBuilder : HealthKit.HKWorkoutBuilder, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected HKLiveWorkoutBuilder (Foundation.NSObjectFlag t);
    protected HKLiveWorkoutBuilder (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKLiveWorkoutDataSource DataSource { get; set; }
    public IHKLiveWorkoutBuilderDelegate Delegate { get; set; }
    public virtual double ElapsedTime { get; }
    public virtual bool ShouldCollectWorkoutEvents { get; set; }
    public virtual Foundation.NSObject WeakDelegate { get; set; }
    public virtual HKWorkoutSession WorkoutSession { get; }
    // methods
    protected override void Dispose (bool disposing);
}

New Type: HealthKit.HKLiveWorkoutBuilderDelegate

public abstract class HKLiveWorkoutBuilderDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHKLiveWorkoutBuilderDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected HKLiveWorkoutBuilderDelegate ();
    protected HKLiveWorkoutBuilderDelegate (Foundation.NSObjectFlag t);
    protected HKLiveWorkoutBuilderDelegate (IntPtr handle);
    // methods
    public virtual void DidCollectData (HKLiveWorkoutBuilder workoutBuilder, Foundation.NSSet<HKSampleType> collectedTypes);
    public virtual void DidCollectEvent (HKLiveWorkoutBuilder workoutBuilder);
}

New Type: HealthKit.HKLiveWorkoutDataSource

public class HKLiveWorkoutDataSource : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected HKLiveWorkoutDataSource (Foundation.NSObjectFlag t);
    protected HKLiveWorkoutDataSource (IntPtr handle);
    public HKLiveWorkoutDataSource (HKHealthStore healthStore, HKWorkoutConfiguration configuration);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSSet<HKQuantityType> TypesToCollect { get; }
    // methods
    public virtual void DisableCollection (HKQuantityType quantityType);
    public virtual void EnableCollection (HKQuantityType quantityType, Foundation.NSPredicate predicate);
}

New Type: HealthKit.HKQuantitySeriesSampleBuilder

public class HKQuantitySeriesSampleBuilder : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected HKQuantitySeriesSampleBuilder (Foundation.NSObjectFlag t);
    protected HKQuantitySeriesSampleBuilder (IntPtr handle);
    public HKQuantitySeriesSampleBuilder (HKHealthStore healthStore, HKQuantityType quantityType, Foundation.NSDate startDate, HKDevice device);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKDevice Device { get; }
    public virtual HKQuantityType QuantityType { get; }
    public virtual Foundation.NSDate StartDate { get; }
    // methods
    public virtual void Discard ();
    protected virtual void FinishSeries (Foundation.NSDictionary metadata, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
    public void FinishSeries (HKMetadata metadata, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
    protected virtual System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (Foundation.NSDictionary metadata);
    public System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (HKMetadata metadata);
    public virtual bool Insert (HKQuantity quantity, Foundation.NSDate date, out Foundation.NSError error);
}

New Type: HealthKit.HKQuantitySeriesSampleBuilderFinishSeriesDelegate

public sealed delegate HKQuantitySeriesSampleBuilderFinishSeriesDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public HKQuantitySeriesSampleBuilderFinishSeriesDelegate (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (HKQuantitySample[] samples, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (HKQuantitySample[] samples, Foundation.NSError error);
}

New Type: HealthKit.HKQuantitySeriesSampleQuery

public class HKQuantitySeriesSampleQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public HKQuantitySeriesSampleQuery ();
    protected HKQuantitySeriesSampleQuery (Foundation.NSObjectFlag t);
    protected HKQuantitySeriesSampleQuery (IntPtr handle);
    public HKQuantitySeriesSampleQuery (HKQuantitySample quantitySample, HKQuantitySeriesSampleQueryQuantityDelegate quantityHandler);
    // properties
    public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKQuantitySeriesSampleQueryQuantityDelegate

public sealed delegate HKQuantitySeriesSampleQueryQuantityDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public HKQuantitySeriesSampleQueryQuantityDelegate (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (HKQuantitySeriesSampleQuery query, HKQuantity quantity, Foundation.NSDate date, bool done, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (HKQuantitySeriesSampleQuery query, HKQuantity quantity, Foundation.NSDate date, bool done, Foundation.NSError error);
}

New Type: HealthKit.HKQuantityTypeIdentifierExtensions

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

New Type: HealthKit.HKWorkoutBuilder

public class HKWorkoutBuilder : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected HKWorkoutBuilder (Foundation.NSObjectFlag t);
    protected HKWorkoutBuilder (IntPtr handle);
    public HKWorkoutBuilder (HKHealthStore healthStore, HKWorkoutConfiguration configuration, HKDevice device);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual HKDevice Device { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public HKMetadata Metadata { get; }
    protected virtual Foundation.NSDictionary NativeMetadata { get; }
    public virtual Foundation.NSDate StartDate { get; }
    public virtual HKWorkoutConfiguration WorkoutConfiguration { get; }
    public virtual HKWorkoutEvent[] WorkoutEvents { get; }
    // methods
    protected virtual void Add (Foundation.NSDictionary metadata, HKWorkoutBuilderCompletionHandler completionHandler);
    public void Add (HKMetadata metadata, HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual void Add (HKSample[] samples, HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual void Add (HKWorkoutEvent[] workoutEvents, HKWorkoutBuilderCompletionHandler completionHandler);
    protected virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (Foundation.NSDictionary metadata);
    public System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKMetadata metadata);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKSample[] samples);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKWorkoutEvent[] workoutEvents);
    public virtual void BeginCollection (Foundation.NSDate startDate, HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> BeginCollectionAsync (Foundation.NSDate startDate);
    public virtual void DiscardWorkout ();
    public virtual void EndCollection (Foundation.NSDate endDate, HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> EndCollectionAsync (Foundation.NSDate endDate);
    public virtual void FinishWorkout (HKWorkoutBuilderCompletionHandler completionHandler);
    public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> FinishWorkoutAsync ();
    public virtual double GetElapsedTime (Foundation.NSDate date);
    public virtual HKSeriesBuilder GetSeriesBuilder (HKSeriesType seriesType);
    public virtual HKStatistics GetStatistics (HKQuantityType quantityType);
}

New Type: HealthKit.HKWorkoutBuilderCompletionHandler

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

New Type: HealthKit.HKWorkoutRouteBuilderAddMetadataHandler

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

New Type: HealthKit.IHKLiveWorkoutBuilderDelegate

public interface IHKLiveWorkoutBuilderDelegate : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void DidCollectData (HKLiveWorkoutBuilder workoutBuilder, Foundation.NSSet<HKSampleType> collectedTypes);
    public virtual void DidCollectEvent (HKLiveWorkoutBuilder workoutBuilder);
}

Namespace HomeKit

Type Changed: HomeKit.HMHome

Added methods:

public virtual void RemoveUser (HMUser user, System.Action<Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task RemoveUserAsync (HMUser user);

Namespace ImageIO

Type Changed: ImageIO.CGImageAuxiliaryDataType

Added value:

PortraitEffectsMatte = 2,

Type Changed: ImageIO.CGImageProperties

Added properties:

public static Foundation.NSString DNGActiveArea { get; }
public static Foundation.NSString DNGAnalogBalance { get; }
public static Foundation.NSString DNGAntiAliasStrength { get; }
public static Foundation.NSString DNGAsShotICCProfile { get; }
public static Foundation.NSString DNGAsShotPreProfileMatrix { get; }
public static Foundation.NSString DNGAsShotProfileName { get; }
public static Foundation.NSString DNGBaselineExposureOffset { get; }
public static Foundation.NSString DNGBayerGreenSplit { get; }
public static Foundation.NSString DNGBestQualityScale { get; }
public static Foundation.NSString DNGBlackLevelDeltaHorizontal { get; }
public static Foundation.NSString DNGBlackLevelDeltaVertical { get; }
public static Foundation.NSString DNGBlackLevelRepeatDim { get; }
public static Foundation.NSString DNGCfaLayout { get; }
public static Foundation.NSString DNGCfaPlaneColor { get; }
public static Foundation.NSString DNGChromaBlurRadius { get; }
public static Foundation.NSString DNGColorimetricReference { get; }
public static Foundation.NSString DNGCurrentICCProfile { get; }
public static Foundation.NSString DNGCurrentPreProfileMatrix { get; }
public static Foundation.NSString DNGDefaultBlackRender { get; }
public static Foundation.NSString DNGDefaultCropOrigin { get; }
public static Foundation.NSString DNGDefaultCropSize { get; }
public static Foundation.NSString DNGDefaultScale { get; }
public static Foundation.NSString DNGDefaultUserCrop { get; }
public static Foundation.NSString DNGExtraCameraProfiles { get; }
public static Foundation.NSString DNGForwardMatrix1 { get; }
public static Foundation.NSString DNGForwardMatrix2 { get; }
public static Foundation.NSString DNGLinearResponseLimit { get; }
public static Foundation.NSString DNGLinearizationTable { get; }
public static Foundation.NSString DNGMakerNoteSafety { get; }
public static Foundation.NSString DNGMaskedAreas { get; }
public static Foundation.NSString DNGNewRawImageDigest { get; }
public static Foundation.NSString DNGNoiseReductionApplied { get; }
public static Foundation.NSString DNGOpcodeList1 { get; }
public static Foundation.NSString DNGOpcodeList2 { get; }
public static Foundation.NSString DNGOpcodeList3 { get; }
public static Foundation.NSString DNGOriginalBestQualityFinalSize { get; }
public static Foundation.NSString DNGOriginalDefaultCropSize { get; }
public static Foundation.NSString DNGOriginalDefaultFinalSize { get; }
public static Foundation.NSString DNGOriginalRawFileData { get; }
public static Foundation.NSString DNGOriginalRawFileDigest { get; }
public static Foundation.NSString DNGOriginalRawFileName { get; }
public static Foundation.NSString DNGPreviewApplicationName { get; }
public static Foundation.NSString DNGPreviewApplicationVersion { get; }
public static Foundation.NSString DNGPreviewColorSpace { get; }
public static Foundation.NSString DNGPreviewDateTime { get; }
public static Foundation.NSString DNGPreviewSettingsDigest { get; }
public static Foundation.NSString DNGPreviewSettingsName { get; }
public static Foundation.NSString DNGProfileCopyright { get; }
public static Foundation.NSString DNGProfileEmbedPolicy { get; }
public static Foundation.NSString DNGProfileHueSatMapData1 { get; }
public static Foundation.NSString DNGProfileHueSatMapData2 { get; }
public static Foundation.NSString DNGProfileHueSatMapDims { get; }
public static Foundation.NSString DNGProfileHueSatMapEncoding { get; }
public static Foundation.NSString DNGProfileLookTableData { get; }
public static Foundation.NSString DNGProfileLookTableDims { get; }
public static Foundation.NSString DNGProfileLookTableEncoding { get; }
public static Foundation.NSString DNGProfileName { get; }
public static Foundation.NSString DNGProfileToneCurve { get; }
public static Foundation.NSString DNGRawDataUniqueId { get; }
public static Foundation.NSString DNGRawImageDigest { get; }
public static Foundation.NSString DNGRawToPreviewGain { get; }
public static Foundation.NSString DNGReductionMatrix1 { get; }
public static Foundation.NSString DNGReductionMatrix2 { get; }
public static Foundation.NSString DNGRowInterleaveFactor { get; }
public static Foundation.NSString DNGShadowScale { get; }
public static Foundation.NSString DNGSubTileBlockSize { get; }
public static Foundation.NSString PNGComment { get; }
public static Foundation.NSString PNGDisclaimer { get; }
public static Foundation.NSString PNGSource { get; }
public static Foundation.NSString PNGWarning { get; }
public static Foundation.NSString PrimaryImage { get; }

Type Changed: ImageIO.CGImageSource

Added method:

public uint GetPrimaryImageIndex ();

Namespace Intents

Type Changed: Intents.INGetCarPowerLevelStatusIntentResponse

Added properties:

public virtual bool? Charging { get; set; }
public virtual double? MinutesToFull { get; set; }

Type Changed: Intents.INIntent

Added property:

public virtual string SuggestedInvocationPhrase { get; set; }

Added methods:

public virtual INImage GetImage (string parameterName);
public virtual INImage GetKeyImage ();
public virtual void SetImage (INImage image, string parameterName);

Type Changed: Intents.INIntentErrorCode

Added values:

DecodingGeneric = 9000,
EncodingFailed = 8001,
EncodingGeneric = 8000,
ImageGeneric = 6000,
ImageLoadingFailed = 6003,
ImageNoServiceAvailable = 6001,
ImageProxyInvalid = 6006,
ImageProxyLoop = 6005,
ImageProxyTimeout = 6007,
ImageRetrievalFailed = 6004,
ImageScalingFailed = 6009,
ImageServiceFailure = 6008,
ImageStorageFailed = 6002,
NoAppAvailable = 2005,
PermissionDenied = 6010,
VoiceShortcutCreationFailed = 7000,
VoiceShortcutDeleteFailed = 7002,
VoiceShortcutGetFailed = 7001,

Type Changed: Intents.INIntentHandlingStatus

Added value:

UserConfirmationRequired = 6,

Type Changed: Intents.INIntentResponse

Modified properties:

-public virtual Foundation.NSUserActivity UserActivity { get; set; }
+public virtual Foundation.NSUserActivity UserActivity { get; }

Type Changed: Intents.INMessageType

Added values:

ActivitySnippet = 23,
Animoji = 22,
File = 24,
Link = 25,
PaymentNote = 21,
PaymentRequest = 20,
PaymentSent = 19,

Type Changed: Intents.INParameter

Added interface:

Foundation.INSCopying

Added method:

public virtual Foundation.NSObject Copy (Foundation.NSZone zone);

Type Changed: Intents.INPerson

Added constructor:

public INPerson (INPersonHandle personHandle, Foundation.NSPersonNameComponents nameComponents, string displayName, INImage image, string contactIdentifier, string customIdentifier, bool isMe);

Type Changed: Intents.INPersonSuggestionType

Added value:

None = 0,

Type Changed: Intents.INPhotoAttributeOptions

Added values:

BouncePhoto = 134217728,
LivePhoto = 33554432,
LongExposurePhoto = 268435456,
LoopPhoto = 67108864,
PortraitPhoto = 16777216,

Type Changed: Intents.INSearchForAccountsIntentResponseCode

Added values:

FailureNotEligible = 9,
FailureTermsAndConditionsAcceptanceRequired = 8,

Type Changed: Intents.INSearchForMessagesIntent

Added constructor:

public INSearchForMessagesIntent (INPerson[] recipients, INPerson[] senders, string[] searchTerms, INMessageAttributeOptions attributes, INDateComponentsRange dateTimeRange, string[] identifiers, string[] notificationIdentifiers, INSpeakableString[] speakableGroupNames, string[] conversationIdentifiers);

Added properties:

public virtual string[] ConversationIdentifiers { get; }
public virtual INConditionalOperator ConversationIdentifiersOperator { get; }

Type Changed: Intents.INSendMessageRecipientUnsupportedReason

Added values:

NoHandleForLabel = 6,
NoValidHandle = 4,
RequestedHandleInvalid = 5,

Type Changed: Intents.INSpatialEventTrigger

Added interface:

Foundation.INSCopying

Added method:

public virtual Foundation.NSObject Copy (Foundation.NSZone zone);

Type Changed: Intents.INSpeakableString

Added interface:

Foundation.INSCopying

Added method:

public virtual Foundation.NSObject Copy (Foundation.NSZone zone);

Type Changed: Intents.INVisualCodeType

Added values:

Bus = 5,
Subway = 6,
Transit = 4,

Type Changed: Intents.INWorkoutNameIdentifier

Added values:

HighIntensityIntervalTraining = 19,
Hike = 18,
Swim = 20,

New Type: Intents.IINPlayMediaIntentHandling

public interface IINPlayMediaIntentHandling : ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public virtual void HandlePlayMedia (INPlayMediaIntent intent, System.Action<INPlayMediaIntentResponse> completion);
}

New Type: Intents.INDailyRoutineRelevanceProvider

public class INDailyRoutineRelevanceProvider : Intents.INRelevanceProvider, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INDailyRoutineRelevanceProvider (Foundation.NSCoder coder);
    protected INDailyRoutineRelevanceProvider (Foundation.NSObjectFlag t);
    public INDailyRoutineRelevanceProvider (INDailyRoutineSituation situation);
    protected INDailyRoutineRelevanceProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INDailyRoutineSituation Situation { get; }
}

New Type: Intents.INDailyRoutineSituation

[Serializable]
public enum INDailyRoutineSituation {
    Evening = 1,
    Gym = 5,
    Home = 2,
    Morning = 0,
    School = 4,
    Work = 3,
}

New Type: Intents.INDateRelevanceProvider

public class INDateRelevanceProvider : Intents.INRelevanceProvider, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INDateRelevanceProvider (Foundation.NSCoder coder);
    protected INDateRelevanceProvider (Foundation.NSObjectFlag t);
    protected INDateRelevanceProvider (IntPtr handle);
    public INDateRelevanceProvider (Foundation.NSDate startDate, Foundation.NSDate endDate);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSDate EndDate { get; }
    public virtual Foundation.NSDate StartDate { get; }
}

New Type: Intents.INDefaultCardTemplate

public class INDefaultCardTemplate : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INDefaultCardTemplate (Foundation.NSCoder coder);
    protected INDefaultCardTemplate (Foundation.NSObjectFlag t);
    protected INDefaultCardTemplate (IntPtr handle);
    public INDefaultCardTemplate (string title);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INImage Image { get; set; }
    public virtual string Subtitle { get; set; }
    public virtual string Title { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INLocationRelevanceProvider

public class INLocationRelevanceProvider : Intents.INRelevanceProvider, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INLocationRelevanceProvider (CoreLocation.CLRegion region);
    public INLocationRelevanceProvider (Foundation.NSCoder coder);
    protected INLocationRelevanceProvider (Foundation.NSObjectFlag t);
    protected INLocationRelevanceProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual CoreLocation.CLRegion Region { get; }
}

New Type: Intents.INMediaItem

public class INMediaItem : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INMediaItem (Foundation.NSCoder coder);
    protected INMediaItem (Foundation.NSObjectFlag t);
    protected INMediaItem (IntPtr handle);
    public INMediaItem (string identifier, string title, INMediaItemType type, INImage artwork);
    // properties
    public virtual INImage Artwork { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string Identifier { get; }
    public virtual string Title { get; }
    public virtual INMediaItemType Type { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INMediaItemType

[Serializable]
public enum INMediaItemType {
    Album = 2,
    Artist = 3,
    AudioBook = 10,
    Genre = 4,
    Movie = 11,
    MusicStation = 9,
    MusicVideo = 14,
    Playlist = 5,
    PodcastEpisode = 7,
    PodcastPlaylist = 8,
    PodcastShow = 6,
    Song = 1,
    TVShow = 12,
    TVShowEpisode = 13,
    Unknown = 0,
}

New Type: Intents.INObject

public class INObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, IINSpeakable, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INObject (Foundation.NSCoder coder);
    protected INObject (Foundation.NSObjectFlag t);
    protected INObject (IntPtr handle);
    public INObject (string identifier, string displayString);
    public INObject (string identifier, string displayString, string pronunciationHint);
    // properties
    public virtual IINSpeakable[] AlternativeSpeakableMatches { get; }
    public override IntPtr ClassHandle { get; }
    public virtual string DisplayString { get; }
    public virtual string Identifier { get; }
    public virtual string PronunciationHint { get; }
    public virtual string SpokenPhrase { get; }
    public virtual string VocabularyIdentifier { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INPlayMediaIntent

public class INPlayMediaIntent : Intents.INIntent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INPlayMediaIntent (Foundation.NSCoder coder);
    protected INPlayMediaIntent (Foundation.NSObjectFlag t);
    protected INPlayMediaIntent (IntPtr handle);
    public INPlayMediaIntent (INMediaItem[] mediaItems, INMediaItem mediaContainer, bool? playShuffled, INPlaybackRepeatMode playbackRepeatMode, bool? resumePlayback);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INMediaItem MediaContainer { get; }
    public virtual INMediaItem[] MediaItems { get; }
    public virtual bool? PlayShuffled { get; }
    public virtual INPlaybackRepeatMode PlaybackRepeatMode { get; }
    public virtual bool? ResumePlayback { get; }
}

New Type: Intents.INPlayMediaIntentHandling_Extensions

public static class INPlayMediaIntentHandling_Extensions {
    // methods
    public static void Confirm (this IINPlayMediaIntentHandling This, INPlayMediaIntent intent, System.Action<INPlayMediaIntentResponse> completion);
}

New Type: Intents.INPlayMediaIntentResponse

public class INPlayMediaIntentResponse : Intents.INIntentResponse, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INPlayMediaIntentResponse (Foundation.NSCoder coder);
    protected INPlayMediaIntentResponse (Foundation.NSObjectFlag t);
    protected INPlayMediaIntentResponse (IntPtr handle);
    public INPlayMediaIntentResponse (INPlayMediaIntentResponseCode code, Foundation.NSUserActivity userActivity);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INPlayMediaIntentResponseCode Code { get; }
    public virtual Foundation.NSDictionary WeakNowPlayingInfo { get; set; }
}

New Type: Intents.INPlayMediaIntentResponseCode

[Serializable]
public enum INPlayMediaIntentResponseCode {
    ContinueInApp = 2,
    Failure = 6,
    FailureNoUnplayedContent = 9,
    FailureRequiringAppLaunch = 7,
    FailureRestrictedContent = 10,
    FailureUnknownMediaType = 8,
    HandleInApp = 5,
    InProgress = 3,
    Ready = 1,
    Success = 4,
    Unspecified = 0,
}

New Type: Intents.INPlaybackRepeatMode

[Serializable]
public enum INPlaybackRepeatMode {
    All = 2,
    None = 1,
    One = 3,
    Unknown = 0,
}

New Type: Intents.INRelevanceProvider

public abstract class INRelevanceProvider : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INRelevanceProvider (Foundation.NSCoder coder);
    protected INRelevanceProvider (Foundation.NSObjectFlag t);
    protected INRelevanceProvider (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INRelevantShortcut

public class INRelevantShortcut : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INRelevantShortcut (Foundation.NSCoder coder);
    protected INRelevantShortcut (Foundation.NSObjectFlag t);
    public INRelevantShortcut (INShortcut shortcut);
    protected INRelevantShortcut (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INRelevanceProvider[] RelevanceProviders { get; set; }
    public virtual INShortcut Shortcut { get; }
    public virtual INRelevantShortcutRole ShortcutRole { get; set; }
    public virtual INDefaultCardTemplate WatchTemplate { get; set; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INRelevantShortcutRole

[Serializable]
public enum INRelevantShortcutRole {
    Action = 0,
    Information = 1,
}

New Type: Intents.INRelevantShortcutStore

public class INRelevantShortcutStore : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INRelevantShortcutStore (Foundation.NSObjectFlag t);
    protected INRelevantShortcutStore (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static INRelevantShortcutStore DefaultStore { get; }
    // methods
    public virtual void SetRelevantShortcuts (INRelevantShortcut[] shortcuts, System.Action<Foundation.NSError> completionHandler);
    public virtual System.Threading.Tasks.Task SetRelevantShortcutsAsync (INRelevantShortcut[] shortcuts);
}

New Type: Intents.INShortcut

public class INShortcut : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INShortcut (Foundation.NSCoder coder);
    protected INShortcut (Foundation.NSObjectFlag t);
    public INShortcut (Foundation.NSUserActivity userActivity);
    public INShortcut (INIntent intent);
    protected INShortcut (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual INIntent Intent { get; }
    public virtual Foundation.NSUserActivity UserActivity { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INUpcomingMediaManager

public class INUpcomingMediaManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INUpcomingMediaManager (Foundation.NSObjectFlag t);
    protected INUpcomingMediaManager (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static INUpcomingMediaManager SharedManager { get; }
    // methods
    public virtual void SetPredictionMode (INUpcomingMediaPredictionMode mode, INMediaItemType type);
    public virtual void SetSuggestedMediaIntents (Foundation.NSOrderedSet<INPlayMediaIntent> intents);
}

New Type: Intents.INUpcomingMediaPredictionMode

[Serializable]
public enum INUpcomingMediaPredictionMode {
    Default = 0,
    OnlyPredictSuggestedIntents = 1,
}

New Type: Intents.INVoiceShortcut

public class INVoiceShortcut : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public INVoiceShortcut (Foundation.NSCoder coder);
    protected INVoiceShortcut (Foundation.NSObjectFlag t);
    protected INVoiceShortcut (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSUuid Identifier { get; }
    public virtual string InvocationPhrase { get; }
    public virtual INShortcut Shortcut { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INVoiceShortcutCenter

public class INVoiceShortcutCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected INVoiceShortcutCenter (Foundation.NSObjectFlag t);
    protected INVoiceShortcutCenter (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static INVoiceShortcutCenter SharedCenter { get; }
    // methods
    public virtual void GetAllVoiceShortcuts (INVoiceShortcutCenterGetVoiceShortcutsHandler completionHandler);
    public virtual System.Threading.Tasks.Task<INVoiceShortcut[]> GetAllVoiceShortcutsAsync ();
    public virtual void GetVoiceShortcut (Foundation.NSUuid identifier, System.Action<INVoiceShortcut,Foundation.NSError> completionHandler);
    public virtual System.Threading.Tasks.Task<INVoiceShortcut> GetVoiceShortcutAsync (Foundation.NSUuid identifier);
    public virtual void SetShortcutSuggestions (INShortcut[] suggestions);
}

New Type: Intents.INVoiceShortcutCenterGetVoiceShortcutsHandler

public sealed delegate INVoiceShortcutCenterGetVoiceShortcutsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public INVoiceShortcutCenterGetVoiceShortcutsHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (INVoiceShortcut[] voiceShortcuts, Foundation.NSError error, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (INVoiceShortcut[] voiceShortcuts, Foundation.NSError error);
}

Namespace MobileCoreServices

Type Changed: MobileCoreServices.UTType

Added method:

public static bool Equals (Foundation.NSString uti1, Foundation.NSString uti2);

Namespace ObjCRuntime

Type Changed: ObjCRuntime.BlockLiteral

Added method:

public static T GetTarget<T> (IntPtr block);

Type Changed: ObjCRuntime.Class

Added constructor:

public Class (IntPtr handle, bool owns);

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "4.3";
+public const string SdkVersion = "5.0";
-public const string Version = "11.14.0";
+public const string Version = "12.0.0";

Added fields:

public static const string MediaPlayerLibrary = "/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer";
public static const string NaturalLanguageLibrary = "/System/Library/Frameworks/Frameworks/NaturalLanguage.framework/NaturalLanguage";

Namespace PassKit

Type Changed: PassKit.PKPaymentNetwork

Added properties:

public static Foundation.NSString Eftpos { get; }
public static Foundation.NSString Electron { get; }
public static Foundation.NSString Maestro { get; }
public static Foundation.NSString VPay { get; }

Namespace SceneKit

Type Changed: SceneKit.SCNPhysicsBody

Added properties:

public virtual nfloat AngularRestingThreshold { get; set; }
public virtual SCNVector3 CenterOfMassOffset { get; set; }
public virtual nfloat ContinuousCollisionDetectionThreshold { get; set; }
public virtual nfloat LinearRestingThreshold { get; set; }

Added method:

public virtual void SetResting (bool resting);

Namespace Security

Type Changed: Security.SecCertificate

Added method:

public SecKey GetKey ();

Type Changed: Security.SecTrust

Added method:

public bool Evaluate (out Foundation.NSError error);

Type Changed: Security.SslCipherSuite

Added values:

SSL_NO_SUCH_CIPHERSUITE = 65535,
SSL_RSA_WITH_3DES_EDE_CBC_MD5 = 65411,
SSL_RSA_WITH_DES_CBC_MD5 = 65410,
SSL_RSA_WITH_IDEA_CBC_MD5 = 65409,
SSL_RSA_WITH_RC2_CBC_MD5 = 65408,
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178,
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170,
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179,
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171,
TLS_DHE_PSK_WITH_NULL_SHA256 = 180,
TLS_DHE_PSK_WITH_NULL_SHA384 = 181,
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165,
TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 255,
TLS_PSK_WITH_AES_128_GCM_SHA256 = 168,
TLS_PSK_WITH_AES_256_GCM_SHA384 = 169,
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182,
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172,
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183,
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173,
TLS_RSA_PSK_WITH_NULL_SHA256 = 184,
TLS_RSA_PSK_WITH_NULL_SHA384 = 185,

New Type: Security.SecCertificate2

public class SecCertificate2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecCertificate2 (SecCertificate certificate);
    public SecCertificate2 (IntPtr handle, bool owns);
    // properties
    public SecCertificate Certificate { get; }
}

New Type: Security.SecIdentity2

public class SecIdentity2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecIdentity2 (SecIdentity identity);
    public SecIdentity2 (SecIdentity identity, SecCertificate[] certificates);
    public SecIdentity2 (IntPtr handle, bool owns);
    // properties
    public SecCertificate[] Certificates { get; }
    public SecIdentity Identity { get; }
}

New Type: Security.SecProtocolChallenge

public sealed delegate SecProtocolChallenge : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolChallenge (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, SecProtocolChallengeComplete challengeComplete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, SecProtocolChallengeComplete challengeComplete);
}

New Type: Security.SecProtocolChallengeComplete

public sealed delegate SecProtocolChallengeComplete : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolChallengeComplete (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecIdentity2 identity, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecIdentity2 identity);
}

New Type: Security.SecProtocolKeyUpdate

public sealed delegate SecProtocolKeyUpdate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolKeyUpdate (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, System.Action complete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, System.Action complete);
}

New Type: Security.SecProtocolMetadata

public class SecProtocolMetadata : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public bool EarlyDataAccepted { get; }
    public SslCipherSuite NegotiatedCipherSuite { get; }
    public string NegotiatedProtocol { get; }
    public SslProtocol NegotiatedProtocolVersion { get; }
    public CoreFoundation.DispatchData PeerPublicKey { get; }
    // methods
    public static bool ChallengeParametersAreEqual (SecProtocolMetadata metadataA, SecProtocolMetadata metadataB);
    public static bool PeersAreEqual (SecProtocolMetadata metadataA, SecProtocolMetadata metadataB);
    public void SetCertificateChainForPeerHandler (System.Action<SecCertificate> callback);
    public void SetDistinguishedNamesForPeerHandler (System.Action<CoreFoundation.DispatchData> callback);
    public void SetOcspResponseForPeerHandler (System.Action<CoreFoundation.DispatchData> callback);
    public void SetSignatureAlgorithmsForPeerHandler (System.Action<ushort> callback);
}

New Type: Security.SecProtocolOptions

public class SecProtocolOptions : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // methods
    public void AddPreSharedKey (CoreFoundation.DispatchData parameters);
    public void AddTlsApplicationProtocol (string applicationProtocol);
    public void AddTlsCipherSuite (SslCipherSuite cipherSuite);
    public void AddTlsCipherSuiteGroup (SslCipherSuiteGroup cipherSuiteGroup);
    public void SetKeyUpdateCallback (SecProtocolKeyUpdate keyUpdate, CoreFoundation.DispatchQueue keyUpdateQueue);
    public void SetLocalIdentity (SecIdentity2 identity);
    public void SetPeerAuthenticationRequired (bool peerAuthenticationRequired);
    public void SetTlsDiffieHellmanParameters (CoreFoundation.DispatchData parameters);
    public void SetTlsFalseStartEnabled (bool falseStartEnabled);
    public void SetTlsIsFallbackAttempt (bool isFallbackAttempt);
    public void SetTlsMaxVersion (SslProtocol protocol);
    public void SetTlsMinVersion (SslProtocol protocol);
    public void SetTlsOcspEnabled (bool ocspEnabled);
    public void SetTlsRenegotiationEnabled (bool renegotiationEnabled);
    public void SetTlsResumptionEnabled (bool resumptionEnabled);
    public void SetTlsServerName (string serverName);
    public void SetTlsSignCertificateTimestampEnabled (bool sctEnabled);
    public void SetTlsTicketsEnabled (bool ticketsEnabled);
}

New Type: Security.SecProtocolVerify

public sealed delegate SecProtocolVerify : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolVerify (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (SecProtocolMetadata metadata, SecTrust2 trust, SecProtocolVerifyComplete verifyComplete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (SecProtocolMetadata metadata, SecTrust2 trust, SecProtocolVerifyComplete verifyComplete);
}

New Type: Security.SecProtocolVerifyComplete

public sealed delegate SecProtocolVerifyComplete : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public SecProtocolVerifyComplete (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (bool complete, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (System.IAsyncResult result);
    public virtual void Invoke (bool complete);
}

New Type: Security.SecTrust2

public class SecTrust2 : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
    // constructors
    public SecTrust2 (SecTrust trust);
    public SecTrust2 (IntPtr handle, bool owns);
    // properties
    public SecTrust Trust { get; }
}

New Type: Security.SslCipherSuiteGroup

[Serializable]
public enum SslCipherSuiteGroup {
    Ats = 3,
    AtsCompatibility = 4,
    Compatibility = 1,
    Default = 0,
    Legacy = 2,
}

Namespace SpriteKit

Type Changed: SpriteKit.SK3DNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAction

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAttribute

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAttributeValue

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKAudioNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKCameraNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKConstraint

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKCropNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKEffectNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKEmitterNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKFieldNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKKeyframeSequence

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKLabelNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKLightNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKMutableTexture

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKNode

Added interface:

Foundation.INSSecureCoding

Added methods:

public static SKNode Create (string filename, Foundation.NSSet<ObjCRuntime.Class> classes, out Foundation.NSError error);
public static SKNode Create (string filename, System.Type[] types, out Foundation.NSError error);

Type Changed: SpriteKit.SKPhysicsBody

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJoint

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointFixed

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointLimit

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointPin

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointSliding

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsJointSpring

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKPhysicsWorld

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKRange

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKReachConstraints

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKReferenceNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKRegion

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKScene

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKShader

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKShapeNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKSpriteNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTexture

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTextureAtlas

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileDefinition

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileGroup

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileGroupRule

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileMapNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTileSet

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKTransformNode

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKUniform

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKVideoNode

Added interface:

Foundation.INSSecureCoding

Added methods:

public virtual void Pause ();
public virtual void Play ();

Type Changed: SpriteKit.SKWarpGeometry

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKWarpGeometryGrid

Added interface:

Foundation.INSSecureCoding

Namespace UIKit

Type Changed: UIKit.UIImage

Added method:

public virtual UIImage GetImageWithHorizontallyFlippedOrientation ();

Namespace UserNotifications

Type Changed: UserNotifications.UNAuthorizationOptions

Added values:

CriticalAlert = 16,
ProvidesAppNotificationSettings = 32,
Provisional = 64,

Type Changed: UserNotifications.UNAuthorizationStatus

Added value:

Provisional = 3,

Type Changed: UserNotifications.UNNotificationSettings

Added properties:

public virtual UNNotificationSetting CriticalAlertSetting { get; }
public virtual bool ProvidesAppNotificationSettings { get; }

Type Changed: UserNotifications.UNNotificationSound

Added property:

public static UNNotificationSound DefaultCriticalSound { get; }

Added method:

public static UNNotificationSound GetDefaultCriticalSound (float volume);

Namespace WatchConnectivity

Type Changed: WatchConnectivity.WCSessionFileTransfer

Added property:

public virtual Foundation.NSProgress Progress { get; }

Namespace WatchKit

Type Changed: WatchKit.WKCrownSequencer

Added property:

public virtual bool HapticFeedbackEnabled { get; set; }

Type Changed: WatchKit.WKExtensionDelegate

Added methods:

public virtual void HandleActiveWorkoutRecovery ();
public virtual void HandleIntent (Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler);
public virtual void HandleRemoteNowPlayingActivity ();

Type Changed: WatchKit.WKExtensionDelegate_Extensions

Added methods:

public static void HandleActiveWorkoutRecovery (this IWKExtensionDelegate This);
public static void HandleIntent (this IWKExtensionDelegate This, Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler);
public static void HandleRemoteNowPlayingActivity (this IWKExtensionDelegate This);

Type Changed: WatchKit.WKInterfaceController

Added properties:

public virtual UIKit.UIEdgeInsets ContentSafeAreaInsets { get; }
public virtual UIKit.NSDirectionalEdgeInsets SystemMinimumLayoutMargins { get; }
public virtual bool TableScrollingHapticFeedbackEnabled { get; set; }

Added method:

public virtual void UpdateUserActivity (Foundation.NSUserActivity userActivity);

Type Changed: WatchKit.WKUserNotificationInterfaceController

Added property:

public virtual UserNotifications.UNNotificationAction[] NotificationActions { get; set; }

Added methods:

public virtual void DidReceiveNotification (UserNotifications.UNNotification notification);
public virtual void DismissController ();
public virtual void PerformDismissAction ();
public virtual void PerformNotificationDefaultAction ();

New Type: WatchKit.WKIntentDidRunRefreshBackgroundTask

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

New Type: WatchKit.WKInterfaceVolumeControl

public class WKInterfaceVolumeControl : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected WKInterfaceVolumeControl (Foundation.NSObjectFlag t);
    protected WKInterfaceVolumeControl (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    // methods
    public virtual void SetTintColor (UIKit.UIColor tintColor);
}

New Type: WatchKit.WKRelevantShortcutRefreshBackgroundTask

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

New Namespace MediaPlayer

New Type: MediaPlayer.IMPMediaPlayback

public interface IMPMediaPlayback : ObjCRuntime.INativeObject, System.IDisposable {
    // properties
    public virtual float CurrentPlaybackRate { get; set; }
    public virtual double CurrentPlaybackTime { get; set; }
    public virtual bool IsPreparedToPlay { get; }
    // methods
    public virtual void BeginSeekingBackward ();
    public virtual void BeginSeekingForward ();
    public virtual void EndSeeking ();
    public virtual void Pause ();
    public virtual void Play ();
    public virtual void PrepareToPlay ();
    public virtual void Stop ();
}

New Type: MediaPlayer.IMPSystemMusicPlayerController

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

New Type: MediaPlayer.MPChangeLanguageOptionCommandEvent

public class MPChangeLanguageOptionCommandEvent : MediaPlayer.MPRemoteCommandEvent, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPChangeLanguageOptionCommandEvent (Foundation.NSObjectFlag t);
    protected MPChangeLanguageOptionCommandEvent (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MPNowPlayingInfoLanguageOption LanguageOption { get; }
    public virtual MPChangeLanguageOptionSetting Setting { get; }
}

New Type: MediaPlayer.MPChangeLanguageOptionSetting

[Serializable]
public enum MPChangeLanguageOptionSetting {
    None = 0,
    NowPlayingItemOnly = 1,
    Permanent = 2,
}

New Type: MediaPlayer.MPChangePlaybackPositionCommand

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

New Type: MediaPlayer.MPChangePlaybackPositionCommandEvent

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

New Type: MediaPlayer.MPChangePlaybackRateCommand

public class MPChangePlaybackRateCommand : MediaPlayer.MPRemoteCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPChangePlaybackRateCommand (Foundation.NSObjectFlag t);
    protected MPChangePlaybackRateCommand (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual Foundation.NSNumber[] SupportedPlaybackRates { get; set; }
}

New Type: MediaPlayer.MPChangePlaybackRateCommandEvent

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

New Type: MediaPlayer.MPChangeRepeatModeCommand

public class MPChangeRepeatModeCommand : MediaPlayer.MPRemoteCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPChangeRepeatModeCommand (Foundation.NSObjectFlag t);
    protected MPChangeRepeatModeCommand (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MPRepeatType CurrentRepeatType { get; set; }
}

New Type: MediaPlayer.MPChangeRepeatModeCommandEvent

public class MPChangeRepeatModeCommandEvent : MediaPlayer.MPRemoteCommandEvent, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPChangeRepeatModeCommandEvent (Foundation.NSObjectFlag t);
    protected MPChangeRepeatModeCommandEvent (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool PreservesRepeatMode { get; }
    public virtual MPRepeatType RepeatType { get; }
}

New Type: MediaPlayer.MPChangeShuffleModeCommand

public class MPChangeShuffleModeCommand : MediaPlayer.MPRemoteCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPChangeShuffleModeCommand (Foundation.NSObjectFlag t);
    protected MPChangeShuffleModeCommand (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual MPShuffleType CurrentShuffleType { get; set; }
}

New Type: MediaPlayer.MPChangeShuffleModeCommandEvent

public class MPChangeShuffleModeCommandEvent : MediaPlayer.MPRemoteCommandEvent, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPChangeShuffleModeCommandEvent (Foundation.NSObjectFlag t);
    protected MPChangeShuffleModeCommandEvent (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool PreservesShuffleMode { get; }
    public virtual MPShuffleType ShuffleType { get; }
}

New Type: MediaPlayer.MPFeedbackCommand

public class MPFeedbackCommand : MediaPlayer.MPRemoteCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPFeedbackCommand (Foundation.NSObjectFlag t);
    protected MPFeedbackCommand (IntPtr handle);
    // properties
    public virtual bool Active { get; set; }
    public override IntPtr ClassHandle { get; }
    public virtual string LocalizedShortTitle { get; set; }
    public virtual string LocalizedTitle { get; set; }
}

New Type: MediaPlayer.MPFeedbackCommandEvent

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

New Type: MediaPlayer.MPLanguageOptionCharacteristics

public static class MPLanguageOptionCharacteristics {
    // properties
    public static Foundation.NSString ContainsOnlyForcedSubtitles { get; }
    public static Foundation.NSString DescribesMusicAndSound { get; }
    public static Foundation.NSString DescribesVideo { get; }
    public static Foundation.NSString DubbedTranslation { get; }
    public static Foundation.NSString EasyToRead { get; }
    public static Foundation.NSString IsAuxiliaryContent { get; }
    public static Foundation.NSString IsMainProgramContent { get; }
    public static Foundation.NSString LanguageTranslation { get; }
    public static Foundation.NSString TranscribesSpokenDialog { get; }
    public static Foundation.NSString VoiceOverTranslation { get; }
}

New Type: MediaPlayer.MPMediaEntity

public class MPMediaEntity : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public MPMediaEntity ();
    public MPMediaEntity (Foundation.NSCoder coder);
    protected MPMediaEntity (Foundation.NSObjectFlag t);
    protected MPMediaEntity (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual ulong PersistentID { get; }
    public static Foundation.NSString PropertyPersistentID { get; }
    // methods
    public static bool CanFilterByProperty (Foundation.NSString property);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public virtual void EnumerateValues (Foundation.NSSet propertiesToEnumerate, MPMediaItemEnumerator enumerator);
    public virtual Foundation.NSObject GetObject (Foundation.NSObject key);
    public virtual Foundation.NSObject ValueForProperty (Foundation.NSString property);
}

New Type: MediaPlayer.MPMediaItem

public static class MPMediaItem {
    // properties
    public static Foundation.NSString AlbumArtistPersistentIDProperty { get; }
    public static Foundation.NSString AlbumArtistProperty { get; }
    public static Foundation.NSString AlbumPersistentIDProperty { get; }
    public static Foundation.NSString AlbumTitleProperty { get; }
    public static Foundation.NSString AlbumTrackCountProperty { get; }
    public static Foundation.NSString AlbumTrackNumberProperty { get; }
    public static Foundation.NSString ArtistPersistentIDProperty { get; }
    public static Foundation.NSString ArtistProperty { get; }
    public static Foundation.NSString ArtworkProperty { get; }
    public static Foundation.NSString AssetURLProperty { get; }
    public static Foundation.NSString BeatsPerMinuteProperty { get; }
    public static Foundation.NSString BookmarkTimeProperty { get; }
    public static Foundation.NSString CommentsProperty { get; }
    public static Foundation.NSString ComposerPersistentIDProperty { get; }
    public static Foundation.NSString ComposerProperty { get; }
    public static Foundation.NSString DateAddedProperty { get; }
    public static Foundation.NSString DiscCountProperty { get; }
    public static Foundation.NSString DiscNumberProperty { get; }
    public static Foundation.NSString GenrePersistentIDProperty { get; }
    public static Foundation.NSString GenreProperty { get; }
    public static Foundation.NSString HasProtectedAssetProperty { get; }
    public static Foundation.NSString IsCloudItemProperty { get; }
    public static Foundation.NSString IsCompilationProperty { get; }
    public static Foundation.NSString IsExplicitProperty { get; }
    public static Foundation.NSString LastPlayedDateProperty { get; }
    public static Foundation.NSString LyricsProperty { get; }
    public static Foundation.NSString MediaTypeProperty { get; }
    public static Foundation.NSString PersistentIDProperty { get; }
    public static Foundation.NSString PlayCountProperty { get; }
    public static Foundation.NSString PlaybackDurationProperty { get; }
    public static Foundation.NSString PlaybackStoreIDProperty { get; }
    public static Foundation.NSString PodcastPersistentIDProperty { get; }
    public static Foundation.NSString PodcastTitleProperty { get; }
    public static Foundation.NSString RatingProperty { get; }
    public static Foundation.NSString ReleaseDateProperty { get; }
    public static Foundation.NSString SkipCountProperty { get; }
    public static Foundation.NSString TitleProperty { get; }
    public static Foundation.NSString UserGroupingProperty { get; }
}

New Type: MediaPlayer.MPMediaItemArtwork

public class MPMediaItemArtwork : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPMediaItemArtwork (Foundation.NSObjectFlag t);
    protected MPMediaItemArtwork (IntPtr handle);
    public MPMediaItemArtwork (UIKit.UIImage image);
    public MPMediaItemArtwork (CoreGraphics.CGSize boundsSize, System.Func<CoreGraphics.CGSize,UIKit.UIImage> requestHandler);
    // properties
    public virtual CoreGraphics.CGRect Bounds { get; }
    public override IntPtr ClassHandle { get; }
    public virtual CoreGraphics.CGRect ImageCropRectangle { get; }
    // methods
    public virtual UIKit.UIImage ImageWithSize (CoreGraphics.CGSize size);
}

New Type: MediaPlayer.MPMediaItemEnumerator

public sealed delegate MPMediaItemEnumerator : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public MPMediaItemEnumerator (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (string property, Foundation.NSObject value, ref bool stop, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (ref bool stop, System.IAsyncResult result);
    public virtual void Invoke (string property, Foundation.NSObject value, ref bool stop);
}

New Type: MediaPlayer.MPMediaPlaylistProperty

public static class MPMediaPlaylistProperty {
    // properties
    public static Foundation.NSString AuthorDisplayName { get; }
    public static Foundation.NSString DescriptionText { get; }
    public static Foundation.NSString Name { get; }
    public static Foundation.NSString PersistentID { get; }
    public static Foundation.NSString PlaylistAttributes { get; }
    public static Foundation.NSString SeedItems { get; }
}

New Type: MediaPlayer.MPMovieControlMode

[Serializable]
public enum MPMovieControlMode {
    Default = 0,
    Hidden = 2,
    VolumeOnly = 1,
}

New Type: MediaPlayer.MPMoviePlayerController

public static class MPMoviePlayerController {
    // properties
    public static Foundation.NSString MediaPlaybackIsPreparedToPlayDidChangeNotification { get; }

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

New Type: MediaPlayer.MPNowPlayingInfo

public class MPNowPlayingInfo {
    // constructors
    public MPNowPlayingInfo ();
    // fields
    public string AlbumTitle;
    public int? AlbumTrackCount;
    public int? AlbumTrackNumber;
    public string Artist;
    public MPMediaItemArtwork Artwork;
    public int? ChapterCount;
    public int? ChapterNumber;
    public string Composer;
    public double? DefaultPlaybackRate;
    public int? DiscCount;
    public int? DiscNumber;
    public double? ElapsedPlaybackTime;
    public string Genre;
    public ulong? PersistentID;
    public double? PlaybackDuration;
    public int? PlaybackQueueCount;
    public int? PlaybackQueueIndex;
    public double? PlaybackRate;
    public string Title;
    // properties
    public Foundation.NSUrl AssetUrl { get; set; }
    public MPNowPlayingInfoLanguageOptionGroup[] AvailableLanguageOptions { get; set; }
    public string CollectionIdentifier { get; set; }
    public MPNowPlayingInfoLanguageOption[] CurrentLanguageOptions { get; set; }
    public Foundation.NSDate CurrentPlaybackDate { get; set; }
    public string ExternalContentIdentifier { get; set; }
    public string ExternalUserProfileIdentifier { get; set; }
    public bool? IsLiveStream { get; set; }
    public MPNowPlayingInfoMediaType? MediaType { get; set; }
    public float? PlaybackProgress { get; set; }
}

New Type: MediaPlayer.MPNowPlayingInfoCenter

public class MPNowPlayingInfoCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPNowPlayingInfoCenter (Foundation.NSObjectFlag t);
    protected MPNowPlayingInfoCenter (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public static MPNowPlayingInfoCenter DefaultCenter { get; }
    public MPNowPlayingInfo NowPlaying { get; set; }
    public virtual MPNowPlayingPlaybackState PlaybackState { get; set; }
    public static Foundation.NSString PropertyAssetUrl { get; }
    public static Foundation.NSString PropertyCollectionIdentifier { get; }
    public static Foundation.NSString PropertyExternalContentIdentifier { get; }
    public static Foundation.NSString PropertyExternalUserProfileIdentifier { get; }
    public static Foundation.NSString PropertyIsLiveStream { get; }
    public static Foundation.NSString PropertyMediaType { get; }
    public static Foundation.NSString PropertyPlaybackProgress { get; }
    public static Foundation.NSString PropertyServiceIdentifier { get; }
}

New Type: MediaPlayer.MPNowPlayingInfoLanguageOption

public class MPNowPlayingInfoLanguageOption : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPNowPlayingInfoLanguageOption (Foundation.NSObjectFlag t);
    protected MPNowPlayingInfoLanguageOption (IntPtr handle);
    public MPNowPlayingInfoLanguageOption (MPNowPlayingInfoLanguageOptionType languageOptionType, string languageTag, Foundation.NSString[] languageOptionCharacteristics, string displayName, string identifier);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string DisplayName { get; }
    public virtual string Identifier { get; }
    public virtual bool IsAutomaticAudibleLanguageOption { get; }
    public virtual bool IsAutomaticLegibleLanguageOption { get; }
    public virtual Foundation.NSString[] LanguageOptionCharacteristics { get; }
    public virtual MPNowPlayingInfoLanguageOptionType LanguageOptionType { get; }
    public virtual string LanguageTag { get; }
}

New Type: MediaPlayer.MPNowPlayingInfoLanguageOptionGroup

public class MPNowPlayingInfoLanguageOptionGroup : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPNowPlayingInfoLanguageOptionGroup (Foundation.NSObjectFlag t);
    protected MPNowPlayingInfoLanguageOptionGroup (IntPtr handle);
    public MPNowPlayingInfoLanguageOptionGroup (MPNowPlayingInfoLanguageOption[] languageOptions, MPNowPlayingInfoLanguageOption defaultLanguageOption, bool allowEmptySelection);
    // properties
    public virtual bool AllowEmptySelection { get; }
    public override IntPtr ClassHandle { get; }
    public virtual MPNowPlayingInfoLanguageOption DefaultLanguageOption { get; }
    public virtual MPNowPlayingInfoLanguageOption[] LanguageOptions { get; }
}

New Type: MediaPlayer.MPNowPlayingInfoLanguageOptionType

[Serializable]
public enum MPNowPlayingInfoLanguageOptionType {
    Audible = 0,
    Legible = 1,
}

New Type: MediaPlayer.MPNowPlayingInfoMediaType

[Serializable]
public enum MPNowPlayingInfoMediaType {
    Audio = 1,
    None = 0,
    Video = 2,
}

New Type: MediaPlayer.MPNowPlayingPlaybackState

[Serializable]
public enum MPNowPlayingPlaybackState {
    Interrupted = 4,
    Paused = 2,
    Playing = 1,
    Stopped = 3,
    Unknown = 0,
}

New Type: MediaPlayer.MPRatingCommand

public class MPRatingCommand : MediaPlayer.MPRemoteCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPRatingCommand (Foundation.NSObjectFlag t);
    protected MPRatingCommand (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual float MaximumRating { get; set; }
    public virtual float MinimumRating { get; set; }
}

New Type: MediaPlayer.MPRatingCommandEvent

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

New Type: MediaPlayer.MPRemoteCommand

public class MPRemoteCommand : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPRemoteCommand (Foundation.NSObjectFlag t);
    protected MPRemoteCommand (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual bool Enabled { get; set; }
    // methods
    public virtual Foundation.NSObject AddTarget (System.Func<MPRemoteCommandEvent,MediaPlayer.MPRemoteCommandHandlerStatus> handler);
    public virtual void AddTarget (Foundation.NSObject target, ObjCRuntime.Selector action);
    public virtual void RemoveTarget (Foundation.NSObject target);
    public virtual void RemoveTarget (Foundation.NSObject target, ObjCRuntime.Selector action);
}

New Type: MediaPlayer.MPRemoteCommandCenter

public class MPRemoteCommandCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors

    [Obsolete ("Use MPRemoteCommandCenter.Shared")]
public MPRemoteCommandCenter ();
    protected MPRemoteCommandCenter (Foundation.NSObjectFlag t);
    protected MPRemoteCommandCenter (IntPtr handle);
    // properties
    public virtual MPFeedbackCommand BookmarkCommand { get; }
    public virtual MPChangePlaybackPositionCommand ChangePlaybackPositionCommand { get; }
    public virtual MPChangePlaybackRateCommand ChangePlaybackRateCommand { get; }
    public virtual MPChangeRepeatModeCommand ChangeRepeatModeCommand { get; }
    public virtual MPChangeShuffleModeCommand ChangeShuffleModeCommand { get; }
    public override IntPtr ClassHandle { get; }
    public virtual MPRemoteCommand DisableLanguageOptionCommand { get; }
    public virtual MPFeedbackCommand DislikeCommand { get; }
    public virtual MPRemoteCommand EnableLanguageOptionCommand { get; }
    public virtual MPFeedbackCommand LikeCommand { get; }
    public virtual MPRemoteCommand NextTrackCommand { get; }
    public virtual MPRemoteCommand PauseCommand { get; }
    public virtual MPRemoteCommand PlayCommand { get; }
    public virtual MPRemoteCommand PreviousTrackCommand { get; }
    public virtual MPRatingCommand RatingCommand { get; }
    public virtual MPRemoteCommand SeekBackwardCommand { get; }
    public virtual MPRemoteCommand SeekForwardCommand { get; }
    public static MPRemoteCommandCenter Shared { get; }
    public virtual MPSkipIntervalCommand SkipBackwardCommand { get; }
    public virtual MPSkipIntervalCommand SkipForwardCommand { get; }
    public virtual MPRemoteCommand StopCommand { get; }
    public virtual MPRemoteCommand TogglePlayPauseCommand { get; }
}

New Type: MediaPlayer.MPRemoteCommandEvent

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

New Type: MediaPlayer.MPRemoteCommandHandlerStatus

[Serializable]
public enum MPRemoteCommandHandlerStatus {
    CommandFailed = 200,
    DeviceNotFound = 120,
    NoActionableNowPlayingItem = 110,
    NoSuchContent = 100,
    Success = 0,
}

New Type: MediaPlayer.MPRepeatType

[Serializable]
public enum MPRepeatType {
    All = 2,
    Off = 0,
    One = 1,
}

New Type: MediaPlayer.MPSeekCommandEvent

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

New Type: MediaPlayer.MPSeekCommandEventType

[Serializable]
public enum MPSeekCommandEventType {
    BeginSeeking = 0,
    EndSeeking = 1,
}

New Type: MediaPlayer.MPShuffleType

[Serializable]
public enum MPShuffleType {
    Collections = 2,
    Items = 1,
    Off = 0,
}

New Type: MediaPlayer.MPSkipIntervalCommand

public class MPSkipIntervalCommand : MediaPlayer.MPRemoteCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected MPSkipIntervalCommand (Foundation.NSObjectFlag t);
    protected MPSkipIntervalCommand (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public double[] PreferredIntervals { get; set; }
}

New Type: MediaPlayer.MPSkipIntervalCommandEvent

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

New Namespace NaturalLanguage

New Type: NaturalLanguage.NLLanguage

[Serializable]
public enum NLLanguage {
    Amharic = 2,
    Arabic = 3,
    Armenian = 4,
    Bengali = 5,
    Bulgarian = 6,
    Burmese = 7,
    Catalan = 8,
    Cherokee = 9,
    Croatian = 10,
    Czech = 11,
    Danish = 12,
    Dutch = 13,
    English = 14,
    Finnish = 15,
    French = 16,
    Georgian = 17,
    German = 18,
    Greek = 19,
    Gujarati = 20,
    Hebrew = 21,
    Hindi = 22,
    Hungarian = 23,
    Icelandic = 24,
    Indonesian = 25,
    Italian = 26,
    Japanese = 27,
    Kannada = 28,
    Khmer = 29,
    Korean = 30,
    Lao = 31,
    Malay = 32,
    Malayalam = 33,
    Marathi = 34,
    Mongolian = 35,
    Norwegian = 36,
    Oriya = 37,
    Persian = 38,
    Polish = 39,
    Portuguese = 40,
    Punjabi = 41,
    Romanian = 42,
    Russian = 43,
    SimplifiedChinese = 44,
    Sinhalese = 45,
    Slovak = 46,
    Spanish = 47,
    Swedish = 48,
    Tamil = 49,
    Telugu = 50,
    Thai = 51,
    Tibetan = 52,
    TraditionalChinese = 53,
    Turkish = 54,
    Ukrainian = 55,
    Undetermined = 1,
    Unevaluated = 0,
    Urdu = 56,
    Vietnamese = 57,
}

New Type: NaturalLanguage.NLLanguageExtensions

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

New Type: NaturalLanguage.NLLanguageRecognizer

public class NLLanguageRecognizer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public NLLanguageRecognizer ();
    protected NLLanguageRecognizer (Foundation.NSObjectFlag t);
    protected NLLanguageRecognizer (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public NLLanguage DominantLanguage { get; }
    public virtual NLLanguage[] LanguageConstraints { get; set; }
    public System.Collections.Generic.Dictionary<NLLanguage,System.Double> LanguageHints { get; set; }
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> NativeLanguageHints { get; set; }
    // methods
    public static NLLanguage GetDominantLanguage (string string);
    public System.Collections.Generic.Dictionary<NLLanguage,System.Double> GetLanguageHypotheses (uint maxHypotheses);
    public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> GetNativeLanguageHypotheses (uint maxHypotheses);
    public virtual void Process (string string);
    public virtual void Reset ();
}

New Type: NaturalLanguage.NLModel

public class NLModel : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLModel (Foundation.NSObjectFlag t);
    protected NLModel (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual NLModelConfiguration Configuration { get; }
    // methods
    public static NLModel Create (CoreML.MLModel mlModel, out Foundation.NSError error);
    public static NLModel Create (Foundation.NSUrl url, out Foundation.NSError error);
    public virtual string GetPredictedLabel (string string);
    public virtual string[] GetPredictedLabels (string[] tokens);
}

New Type: NaturalLanguage.NLModelConfiguration

public class NLModelConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    public NLModelConfiguration ();
    public NLModelConfiguration (Foundation.NSCoder coder);
    protected NLModelConfiguration (Foundation.NSObjectFlag t);
    protected NLModelConfiguration (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual NLLanguage Language { get; }
    public virtual uint Revision { get; }
    public virtual NLModelType Type { get; }
    // methods
    public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
    public virtual void EncodeTo (Foundation.NSCoder encoder);
    public static uint GetCurrentRevision (NLModelType type);
    public static Foundation.NSIndexSet GetSupportedRevisions (NLModelType type);
}

New Type: NaturalLanguage.NLModelType

[Serializable]
public enum NLModelType {
    Classifier = 0,
    Sequence = 1,
}

New Type: NaturalLanguage.NLTag

public static class NLTag {
    // properties
    public static Foundation.NSString Adjective { get; }
    public static Foundation.NSString Adverb { get; }
    public static Foundation.NSString Classifier { get; }
    public static Foundation.NSString CloseParenthesis { get; }
    public static Foundation.NSString CloseQuote { get; }
    public static Foundation.NSString Conjunction { get; }
    public static Foundation.NSString Dash { get; }
    public static Foundation.NSString Determiner { get; }
    public static Foundation.NSString Idiom { get; }
    public static Foundation.NSString Interjection { get; }
    public static Foundation.NSString Noun { get; }
    public static Foundation.NSString Number { get; }
    public static Foundation.NSString OpenParenthesis { get; }
    public static Foundation.NSString OpenQuote { get; }
    public static Foundation.NSString OrganizationName { get; }
    public static Foundation.NSString Other { get; }
    public static Foundation.NSString OtherPunctuation { get; }
    public static Foundation.NSString OtherWhitespace { get; }
    public static Foundation.NSString OtherWord { get; }
    public static Foundation.NSString ParagraphBreak { get; }
    public static Foundation.NSString Particle { get; }
    public static Foundation.NSString PersonalName { get; }
    public static Foundation.NSString PlaceName { get; }
    public static Foundation.NSString Preposition { get; }
    public static Foundation.NSString Pronoun { get; }
    public static Foundation.NSString Punctuation { get; }
    public static Foundation.NSString SentenceTerminator { get; }
    public static Foundation.NSString Verb { get; }
    public static Foundation.NSString Whitespace { get; }
    public static Foundation.NSString Word { get; }
    public static Foundation.NSString WordJoiner { get; }
}

New Type: NaturalLanguage.NLTagScheme

[Serializable]
public enum NLTagScheme {
    Language = 5,
    Lemma = 4,
    LexicalClass = 1,
    NameType = 2,
    NameTypeOrLexicalClass = 3,
    Script = 6,
    TokenType = 0,
}

New Type: NaturalLanguage.NLTagSchemeExtensions

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

New Type: NaturalLanguage.NLTagger

public class NLTagger : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLTagger (Foundation.NSObjectFlag t);
    public NLTagger (Foundation.NSString[] tagSchemes);
    public NLTagger (NLTagScheme[] tagSchemes);
    protected NLTagger (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public NLLanguage DominantLanguage { get; }
    public virtual string String { get; set; }
    public NLTagScheme[] TagSchemes { get; }
    // methods
    public virtual void EnumerateTags (Foundation.NSRange range, NLTokenUnit unit, Foundation.NSString scheme, NLTaggerOptions options, NLTaggerEnumerateTagsContinuationHandler handler);
    public void EnumerateTags (Foundation.NSRange range, NLTokenUnit unit, NLTagScheme scheme, NLTaggerOptions options, NLTaggerEnumerateTagsContinuationHandler handler);
    public static Foundation.NSString[] GetAvailableTagSchemes (NLTokenUnit unit, Foundation.NSString language);
    public static NLTagScheme[] GetAvailableTagSchemes (NLTokenUnit unit, NLLanguage language);
    public virtual NLModel[] GetModels (Foundation.NSString tagScheme);
    public NLModel[] GetModels (NLTagScheme tagScheme);
    public virtual Foundation.NSString GetTag (uint characterIndex, NLTokenUnit unit, Foundation.NSString scheme, out Foundation.NSRange tokenRange);
    public Foundation.NSString GetTag (uint characterIndex, NLTokenUnit unit, NLTagScheme scheme, out Foundation.NSRange tokenRange);
    public virtual Foundation.NSString[] GetTags (Foundation.NSRange range, NLTokenUnit unit, Foundation.NSString scheme, NLTaggerOptions options, out Foundation.NSValue[] tokenRanges);
    public Foundation.NSString[] GetTags (Foundation.NSRange range, NLTokenUnit unit, NLTagScheme scheme, NLTaggerOptions options, out Foundation.NSValue[] tokenRanges);
    public virtual Foundation.NSRange GetTokenRange (uint characterIndex, Foundation.NSString unit);
    public virtual void SetLanguage (Foundation.NSString language, Foundation.NSRange range);
    public void SetLanguage (NLLanguage language, Foundation.NSRange range);
    public virtual void SetModels (NLModel[] models, Foundation.NSString tagScheme);
    public void SetModels (NLModel[] models, NLTagScheme tagScheme);
    public virtual void SetOrthography (Foundation.NSOrthography orthography, Foundation.NSRange range);
}

New Type: NaturalLanguage.NLTaggerEnumerateTagsContinuationHandler

public sealed delegate NLTaggerEnumerateTagsContinuationHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NLTaggerEnumerateTagsContinuationHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (Foundation.NSString tag, Foundation.NSRange tokenRange, out bool stop, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
    public virtual void Invoke (Foundation.NSString tag, Foundation.NSRange tokenRange, out bool stop);
}

New Type: NaturalLanguage.NLTaggerOptions

[Serializable]
[Flags]
public enum NLTaggerOptions {
    JoinContractions = 32,
    JoinNames = 16,
    OmitOther = 8,
    OmitPunctuation = 2,
    OmitWhitespace = 4,
    OmitWords = 1,
}

New Type: NaturalLanguage.NLTokenUnit

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

New Type: NaturalLanguage.NLTokenizer

public class NLTokenizer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
    // constructors
    protected NLTokenizer (Foundation.NSObjectFlag t);
    public NLTokenizer (NLTokenUnit unit);
    protected NLTokenizer (IntPtr handle);
    // properties
    public override IntPtr ClassHandle { get; }
    public virtual string String { get; set; }
    public virtual NLTokenUnit Unit { get; }
    // methods
    public virtual void EnumerateTokens (Foundation.NSRange range, NLTokenizerEnumerateContinuationHandler handler);
    public virtual Foundation.NSRange GetTokenRange (uint characterIndex);
    public virtual Foundation.NSValue[] GetTokens (Foundation.NSRange range);
    public void SetLanguage (NLLanguage language);
}

New Type: NaturalLanguage.NLTokenizerAttributes

[Serializable]
[Flags]
public enum NLTokenizerAttributes {
    Emoji = 4,
    Numeric = 1,
    Symbolic = 2,
}

New Type: NaturalLanguage.NLTokenizerEnumerateContinuationHandler

public sealed delegate NLTokenizerEnumerateContinuationHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
    // constructors
    public NLTokenizerEnumerateContinuationHandler (object object, IntPtr method);
    // methods
    public virtual System.IAsyncResult BeginInvoke (Foundation.NSRange tokenRange, NLTokenizerAttributes flags, out bool stop, System.AsyncCallback callback, object object);
    public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
    public virtual void Invoke (Foundation.NSRange tokenRange, NLTokenizerAttributes flags, out bool stop);
}

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.