Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created September 3, 2023 18:41
Show Gist options
  • Save vs-mobiletools-engineering-service2/c6e7635ddbb583c5d7b35e37cb2b8bec to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/c6e7635ddbb583c5d7b35e37cb2b8bec to your computer and use it in GitHub Desktop.
previous-api-comparison/ios-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.iOS SDK API diff
List of API changes for Xamarin.iOS.
spouliot
sepoulio
9/3/2023
article
f7934223-2a8c-d5d4-788f-79d2f8610aa7
xamarin

Xamarin.iOS SDK API diff

Namespace AuthenticationServices

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialAssertion

Added properties:

public virtual ASAuthorizationPublicKeyCredentialAttachment Attachment { get; }
public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialAssertionRequest

Added property:

public virtual ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput LargeBlob { get; set; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialRegistration

Added properties:

public virtual ASAuthorizationPublicKeyCredentialAttachment Attachment { get; }
public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest

Added property:

public virtual ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput LargeBlob { get; set; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: AuthenticationServices.ASCredentialIdentityStore

Added methods:

public virtual void RemoveCredentialIdentityEntries (IASCredentialIdentity[] credentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RemoveCredentialIdentityEntriesAsync (IASCredentialIdentity[] credentialIdentities);
public virtual void ReplaceCredentialIdentityEntries (IASCredentialIdentity[] newCredentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> ReplaceCredentialIdentityEntriesAsync (IASCredentialIdentity[] newCredentialIdentities);
public virtual void SaveCredentialIdentityEntries (IASCredentialIdentity[] credentialIdentities, System.Action<System.Boolean,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> SaveCredentialIdentityEntriesAsync (IASCredentialIdentity[] credentialIdentities);

Type Changed: AuthenticationServices.ASCredentialProviderExtensionContext

Added methods:

public virtual void CompleteAssertionRequest (ASPasskeyAssertionCredential credential, System.Action<bool> completionHandler);
public virtual System.Threading.Tasks.Task<bool> CompleteAssertionRequestAsync (ASPasskeyAssertionCredential credential);
public virtual void CompleteRegistrationRequest (ASPasskeyRegistrationCredential credential, System.Action<bool> completionHandler);
public virtual System.Threading.Tasks.Task<bool> CompleteRegistrationRequestAsync (ASPasskeyRegistrationCredential credential);

Type Changed: AuthenticationServices.ASCredentialProviderViewController

Added methods:

public virtual void PrepareCredentialList (ASCredentialServiceIdentifier[] serviceIdentifiers, ASPasskeyCredentialRequestParameters requestParameters);
public virtual void PrepareInterfaceForPasskeyRegistration (IASCredentialRequest registrationRequest);
public virtual void PrepareInterfaceToProvideCredential (IASCredentialRequest credentialRequest);
public virtual void ProvideCredentialWithoutUserInteraction (IASCredentialRequest credentialRequest);

Type Changed: AuthenticationServices.ASPasswordCredentialIdentity

Added interface:

IASCredentialIdentity

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialAttachment

[Serializable]
public enum ASAuthorizationPublicKeyCredentialAttachment {
	CrossPlatform = 1,
	Platform = 0,
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput

public class ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput : Foundation.NSObject {
	// constructors
	public ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation operation);
	protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (Foundation.NSObjectFlag t);
	protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData DataToWrite { get; set; }
	public virtual ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation Operation { get; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation

[Serializable]
public enum ASAuthorizationPublicKeyCredentialLargeBlobAssertionOperation {
	Read = 0,
	Write = 1,
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput

public class ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput : Foundation.NSObject {
	// constructors
	protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput (Foundation.NSObjectFlag t);
	protected ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool DidWrite { get; }
	public virtual Foundation.NSData ReadData { get; }
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput

public class ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput : Foundation.NSObject {
	// constructors
	public ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement requirement);
	protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (Foundation.NSObjectFlag t);
	protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement SupportRequirement { get; set; }
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput

public class ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput : Foundation.NSObject {
	// constructors
	public ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput ();
	protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput (Foundation.NSObjectFlag t);
	protected ASAuthorizationPublicKeyCredentialLargeBlobRegistrationOutput (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsSupported { get; }
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement

[Serializable]
public enum ASAuthorizationPublicKeyCredentialLargeBlobSupportRequirement {
	Preferred = 1,
	Required = 0,
}

New Type: AuthenticationServices.ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState

[Serializable]
public enum ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState {
	Authorized = 0,
	Denied = 1,
	NotDetermined = 2,
}

New Type: AuthenticationServices.ASCredentialRequestType

[Serializable]
public enum ASCredentialRequestType {
	PasskeyAssertion = 1,
	Password = 0,
}

New Type: AuthenticationServices.ASPasskeyAssertionCredential

public class ASPasskeyAssertionCredential : Foundation.NSObject, IASAuthorizationCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyAssertionCredential (Foundation.NSCoder coder);
	protected ASPasskeyAssertionCredential (Foundation.NSObjectFlag t);
	protected ASPasskeyAssertionCredential (IntPtr handle);
	public ASPasskeyAssertionCredential (Foundation.NSData userHandle, string relyingParty, Foundation.NSData signature, Foundation.NSData clientDataHash, Foundation.NSData authenticatorData, Foundation.NSData credentialId);
	// properties
	public virtual Foundation.NSData AuthenticatorData { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData ClientDataHash { get; }
	public virtual Foundation.NSData CredentialId { get; }
	public virtual string RelyingParty { get; }
	public virtual Foundation.NSData Signature { get; }
	public virtual Foundation.NSData UserHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static ASPasskeyAssertionCredential CreateCredential (Foundation.NSData userHandle, string relyingParty, Foundation.NSData signature, Foundation.NSData clientDataHash, Foundation.NSData authenticatorData, Foundation.NSData credentialId);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasskeyCredentialIdentity

public class ASPasskeyCredentialIdentity : Foundation.NSObject, IASCredentialIdentity, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyCredentialIdentity (Foundation.NSCoder coder);
	protected ASPasskeyCredentialIdentity (Foundation.NSObjectFlag t);
	protected ASPasskeyCredentialIdentity (IntPtr handle);
	public ASPasskeyCredentialIdentity (string relyingPartyIdentifier, string userName, Foundation.NSData credentialId, Foundation.NSData userHandle, string recordIdentifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData CredentialId { get; }
	public virtual nint Rank { get; set; }
	public virtual string RecordIdentifier { get; }
	public virtual string RelyingPartyIdentifier { get; }
	public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; }
	public virtual string User { get; }
	public virtual Foundation.NSData UserHandle { get; }
	public virtual string UserName { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static ASPasskeyCredentialIdentity CreateIdentity (string relyingPartyIdentifier, string userName, Foundation.NSData credentialId, Foundation.NSData userHandle, string recordIdentifier);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasskeyCredentialRequest

public class ASPasskeyCredentialRequest : Foundation.NSObject, IASCredentialRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyCredentialRequest (Foundation.NSCoder coder);
	protected ASPasskeyCredentialRequest (Foundation.NSObjectFlag t);
	protected ASPasskeyCredentialRequest (IntPtr handle);
	public ASPasskeyCredentialRequest (ASPasskeyCredentialIdentity credentialIdentity, Foundation.NSData clientDataHash, string userVerificationPreference, Foundation.NSNumber[] supportedAlgorithms);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData ClientDataHash { get; }
	public virtual IASCredentialIdentity CredentialIdentity { get; }
	public virtual Foundation.NSNumber[] SupportedAlgorithms { get; }
	public virtual ASCredentialRequestType Type { get; }
	public virtual string UserVerificationPreference { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static ASPasskeyCredentialRequest Create (ASPasskeyCredentialIdentity credentialIdentity, Foundation.NSData clientDataHash, string userVerificationPreference, Foundation.NSNumber[] supportedAlgorithms);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasskeyCredentialRequestParameters

public class ASPasskeyCredentialRequestParameters : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyCredentialRequestParameters (Foundation.NSCoder coder);
	protected ASPasskeyCredentialRequestParameters (Foundation.NSObjectFlag t);
	protected ASPasskeyCredentialRequestParameters (IntPtr handle);
	// properties
	public virtual Foundation.NSData[] AllowedCredentials { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData ClientDataHash { get; }
	public virtual string RelyingPartyIdentifier { get; }
	public virtual string UserVerificationPreference { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasskeyRegistrationCredential

public class ASPasskeyRegistrationCredential : Foundation.NSObject, IASAuthorizationCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasskeyRegistrationCredential ();
	public ASPasskeyRegistrationCredential (Foundation.NSCoder coder);
	protected ASPasskeyRegistrationCredential (Foundation.NSObjectFlag t);
	protected ASPasskeyRegistrationCredential (IntPtr handle);
	public ASPasskeyRegistrationCredential (string relyingParty, Foundation.NSData clientDataHash, Foundation.NSData credentialId, Foundation.NSData attestationObject);
	// properties
	public virtual Foundation.NSData AttestationObject { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData ClientDataHash { get; }
	public virtual Foundation.NSData CredentialId { get; }
	public virtual string RelyingParty { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static ASPasskeyRegistrationCredential CreateCredential (string relyingParty, Foundation.NSData clientDataHash, Foundation.NSData credentialId, Foundation.NSData attestationObject);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASPasswordCredentialRequest

public class ASPasswordCredentialRequest : Foundation.NSObject, IASCredentialRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public ASPasswordCredentialRequest (ASPasswordCredentialIdentity credentialIdentity);
	public ASPasswordCredentialRequest (Foundation.NSCoder coder);
	protected ASPasswordCredentialRequest (Foundation.NSObjectFlag t);
	protected ASPasswordCredentialRequest (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IASCredentialIdentity CredentialIdentity { get; }
	public virtual ASCredentialRequestType Type { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static ASPasswordCredentialRequest Request (ASPasswordCredentialIdentity credentialIdentity);
}

New Type: AuthenticationServices.ASPublicKeyCredentialClientDataCrossOriginValue

[Serializable]
public enum ASPublicKeyCredentialClientDataCrossOriginValue {
	CrossOrigin = 1,
	NotSet = 0,
	SameOriginWithAncestors = 2,
}

New Type: AuthenticationServices.ASSettingsHelper

public class ASSettingsHelper : Foundation.NSObject {
	// constructors
	protected ASSettingsHelper (Foundation.NSObjectFlag t);
	protected ASSettingsHelper (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static void OpenCredentialProviderAppSettings (System.Action<Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task OpenCredentialProviderAppSettingsAsync ();
	public static void OpenVerificationCodeAppSettings (System.Action<Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task OpenVerificationCodeAppSettingsAsync ();
}

New Type: AuthenticationServices.IASCredentialIdentity

public interface IASCredentialIdentity : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nint Rank { get; set; }
	public virtual string RecordIdentifier { get; }
	public virtual ASCredentialServiceIdentifier ServiceIdentifier { get; }
	public virtual string User { get; }
}

New Type: AuthenticationServices.IASCredentialRequest

public interface IASCredentialRequest : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IASCredentialIdentity CredentialIdentity { get; }
	public virtual ASCredentialRequestType Type { get; }
}

Namespace CoreMotion

New Type: CoreMotion.CMBatchedSensorManager

public class CMBatchedSensorManager : Foundation.NSObject {
	// constructors
	public CMBatchedSensorManager ();
	protected CMBatchedSensorManager (Foundation.NSObjectFlag t);
	protected CMBatchedSensorManager (IntPtr handle);
	// properties
	public virtual bool AccelerometerActive { get; }
	public virtual CMAccelerometerData[] AccelerometerBatch { get; }
	public virtual nint AccelerometerDataFrequency { get; }
	public static bool AccelerometerSupported { get; }
	public static CMAuthorizationStatus AuthorizationStatus { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool DeviceMotionActive { get; }
	public virtual CMDeviceMotion[] DeviceMotionBatch { get; }
	public virtual nint DeviceMotionDataFrequency { get; }
	public static bool DeviceMotionSupported { get; }
	// methods
	public virtual void StartAccelerometerUpdates ();
	public virtual void StartAccelerometerUpdates (System.Action<CMAccelerometerData[],Foundation.NSError> handler);
	public virtual void StartDeviceMotionUpdates ();
	public virtual void StartDeviceMotionUpdates (System.Action<CMDeviceMotion[],Foundation.NSError> handler);
	public virtual void StopAccelerometerUpdates ();
	public virtual void StopDeviceMotionUpdates ();
}

New Type: CoreMotion.CMHighFrequencyHeartRateData

public class CMHighFrequencyHeartRateData : CoreMotion.CMLogItem {
	// constructors
	public CMHighFrequencyHeartRateData ();
	public CMHighFrequencyHeartRateData (Foundation.NSCoder coder);
	protected CMHighFrequencyHeartRateData (Foundation.NSObjectFlag t);
	protected CMHighFrequencyHeartRateData (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CMHighFrequencyHeartRateDataConfidence Confidence { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual double HeartRate { get; }
}

New Type: CoreMotion.CMHighFrequencyHeartRateDataConfidence

[Serializable]
public enum CMHighFrequencyHeartRateDataConfidence {
	High = 2,
	Highest = 3,
	Low = 0,
	Medium = 1,
}

New Type: CoreMotion.CMOdometerData

public class CMOdometerData : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMOdometerData ();
	public CMOdometerData (Foundation.NSCoder coder);
	protected CMOdometerData (Foundation.NSObjectFlag t);
	protected CMOdometerData (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double DeltaAltitude { get; }
	public virtual double DeltaDistance { get; }
	public virtual double DeltaDistanceAccuracy { get; }
	public virtual Foundation.NSDate EndDate { get; }
	public virtual Foundation.NSDate GpsDate { get; }
	public virtual Foundation.NSNumber MaxAbsSlope { get; }
	public virtual CMOdometerOriginDevice OriginDevice { get; }
	public virtual Foundation.NSNumber Slope { get; }
	public virtual double Speed { get; }
	public virtual double SpeedAccuracy { get; }
	public virtual Foundation.NSDate StartDate { get; }
	public virtual double VerticalAccuracy { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMotion.CMOdometerOriginDevice

[Serializable]
public enum CMOdometerOriginDevice {
	Local = 1,
	Remote = 2,
	Unknown = 0,
}

New Type: CoreMotion.CMWaterSubmersionDepthState

[Serializable]
public enum CMWaterSubmersionDepthState {
	ApproachingMaxDepth = 400,
	NotSubmerged = 100,
	PastMaxDepth = 500,
	SensorDepthError = 600,
	SubmergedDeep = 300,
	SubmergedShallow = 200,
	Unknown = 0,
}

New Type: CoreMotion.CMWaterSubmersionEvent

public class CMWaterSubmersionEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMWaterSubmersionEvent ();
	public CMWaterSubmersionEvent (Foundation.NSCoder coder);
	protected CMWaterSubmersionEvent (Foundation.NSObjectFlag t);
	protected CMWaterSubmersionEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual CMWaterSubmersionState State { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMotion.CMWaterSubmersionManager

public class CMWaterSubmersionManager : Foundation.NSObject {
	// constructors
	public CMWaterSubmersionManager ();
	protected CMWaterSubmersionManager (Foundation.NSObjectFlag t);
	protected CMWaterSubmersionManager (IntPtr handle);
	// properties
	public static CMAuthorizationStatus AuthorizationStatus { get; }
	public override IntPtr ClassHandle { get; }
	public ICMWaterSubmersionManagerDelegate Delegate { get; set; }
	public static bool IsWaterSubmersionAvailable { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitLength> MaximumDepth { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CoreMotion.CMWaterSubmersionManagerDelegate

public abstract class CMWaterSubmersionManagerDelegate : Foundation.NSObject, ICMWaterSubmersionManagerDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CMWaterSubmersionManagerDelegate ();
	protected CMWaterSubmersionManagerDelegate (Foundation.NSObjectFlag t);
	protected CMWaterSubmersionManagerDelegate (IntPtr handle);
	// methods
	public virtual void DidUpdateEvent (CMWaterSubmersionManager manager, CMWaterSubmersionEvent event);
	public virtual void DidUpdateMeasurement (CMWaterSubmersionManager manager, CMWaterSubmersionMeasurement measurement);
	public virtual void DidUpdateTemperature (CMWaterSubmersionManager manager, CMWaterTemperature measurement);
	public virtual void ErrorOccurred (CMWaterSubmersionManager manager, Foundation.NSError error);
}

New Type: CoreMotion.CMWaterSubmersionMeasurement

public class CMWaterSubmersionMeasurement : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMWaterSubmersionMeasurement ();
	public CMWaterSubmersionMeasurement (Foundation.NSCoder coder);
	protected CMWaterSubmersionMeasurement (Foundation.NSObjectFlag t);
	protected CMWaterSubmersionMeasurement (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitLength> Depth { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitPressure> Pressure { get; }
	public virtual CMWaterSubmersionDepthState SubmersionState { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitPressure> SurfacePressure { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMotion.CMWaterSubmersionState

[Serializable]
public enum CMWaterSubmersionState {
	NotSubmerged = 1,
	Submerged = 2,
	Unknown = 0,
}

New Type: CoreMotion.CMWaterTemperature

public class CMWaterTemperature : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CMWaterTemperature ();
	public CMWaterTemperature (Foundation.NSCoder coder);
	protected CMWaterTemperature (Foundation.NSObjectFlag t);
	protected CMWaterTemperature (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitTemperature> Temperature { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitTemperature> TemperatureUncertainty { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreMotion.ICMWaterSubmersionManagerDelegate

public interface ICMWaterSubmersionManagerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidUpdateEvent (CMWaterSubmersionManager manager, CMWaterSubmersionEvent event);
	public virtual void DidUpdateMeasurement (CMWaterSubmersionManager manager, CMWaterSubmersionMeasurement measurement);
	public virtual void DidUpdateTemperature (CMWaterSubmersionManager manager, CMWaterTemperature measurement);
	public virtual void ErrorOccurred (CMWaterSubmersionManager manager, Foundation.NSError error);
}

Namespace EventKit

Type Changed: EventKit.EKAuthorizationStatus

Added value:

WriteOnly = 4,

Type Changed: EventKit.EKEventStore

Added methods:

public virtual void RequestFullAccessToEvents (EKEventStoreRequestAccessCompletionHandler completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestFullAccessToEventsAsync ();
public virtual void RequestFullAccessToReminders (EKEventStoreRequestAccessCompletionHandler completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestFullAccessToRemindersAsync ();
public virtual void RequestWriteOnlyAccessToEvents (EKEventStoreRequestAccessCompletionHandler completion);
public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestWriteOnlyAccessToEventsAsync ();

New Type: EventKit.EKEventStoreRequestAccessCompletionHandler

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

Namespace Foundation

Type Changed: Foundation.DictionaryContainer

Added method:

protected T GetStrongDictionary<T> (NSString key, System.Func<NSDictionary,T> createStrongDictionary);

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Added field:

public static const string NewsstandKitLibrary = "/System/Library/Frameworks/NewsstandKit.framework/NewsstandKit";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment