Xamarin.WatchOS SDK API diff: 11.12.0 vs 11.99.1

Xamarin.WatchOS.dll

Namespace AVFoundation

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<Foundation.NSError> handler);
public virtual System.Threading.Tasks.Task 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.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);

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

Added values:

RecordIdentifierInvalid = 205,
VCardSummarizationError = 701,

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBError

Added value:

OperationNotSupported = 13,

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

public virtual IMLBatchProvider GetPredictions (IMLBatchProvider inputBatch, MLPredictionOptions options, out Foundation.NSError error);

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.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.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; }
	// 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.NSUserActivity

Added property:

public virtual string SuggestedInvocationPhrase { get; set; }

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 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.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.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.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.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 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,
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.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 ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "4.3";
+public const string SdkVersion = "5.0";
-public const string Version = "11.12.0";
+public const string Version = "11.99.1";

Added field:

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

Namespace SceneKit

Type Changed: SceneKit.SCNPhysicsBody

Added properties:

public virtual nfloat AngularSleepingThreshold { get; set; }
public virtual SCNVector3 CenterOfMassOffset { get; set; }
public virtual nfloat ContinuousCollisionDetectionThreshold { get; set; }
public virtual nfloat LinearSleepingThreshold { get; set; }

Added method:

public virtual void SetResting (bool resting);

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

Type Changed: SpriteKit.SKWarpGeometry

Added interface:

Foundation.INSSecureCoding

Type Changed: SpriteKit.SKWarpGeometryGrid

Added interface:

Foundation.INSSecureCoding

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

New Type: NaturalLanguage.NLLanguage

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

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

[Serializable]
public enum NLTag {
	Adjective = 6,
	Adverb = 7,
	Classifier = 15,
	CloseParenthesis = 22,
	CloseQuote = 20,
	Conjunction = 13,
	Dash = 24,
	Determiner = 9,
	Idiom = 16,
	Interjection = 14,
	Noun = 4,
	Number = 12,
	OpenParenthesis = 21,
	OpenQuote = 19,
	OrganizationName = 30,
	Other = 3,
	OtherPunctuation = 25,
	OtherWhitespace = 27,
	OtherWord = 17,
	ParagraphBreak = 26,
	Particle = 10,
	PersonalName = 28,
	PlaceName = 29,
	Preposition = 11,
	Pronoun = 8,
	Punctuation = 1,
	SentenceTerminator = 18,
	Verb = 5,
	Whitespace = 2,
	Word = 0,
	WordJoiner = 23,
}

New Type: NaturalLanguage.NLTagExtensions

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

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, Foundation.NSRange tokenRange);
	public NLTag GetTag (uint characterIndex, NLTokenUnit unit, NLTagScheme scheme, Foundation.NSRange tokenRange);
	public virtual Foundation.NSString[] GetTags (Foundation.NSRange range, NLTokenUnit unit, Foundation.NSString scheme, NLTaggerOptions options, out Foundation.NSValue[] tokenRanges);
	public NLTag[] 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);
}