Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created October 11, 2022 17:47
Show Gist options
  • Save vs-mobiletools-engineering-service2/654fcecdeeaa298231dc4e1e172d8a85 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/654fcecdeeaa298231dc4e1e172d8a85 to your computer and use it in GitHub Desktop.
stable-api-comparison/watchos-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.WatchOS SDK API diff: 16.0.0 vs 16.1.0
List of API changes between Xamarin.WatchOS versions 16.0.0 and 16.1.0.
spouliot
sepoulio
10/11/2022
article
11ca7e7f-4b96-cce6-093e-de174479fade
xamarin

Xamarin.WatchOS SDK API diff: 16.0.0 vs 16.1.0

Namespace CoreMotion

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

Type Changed: Foundation.NSArray

Added interfaces:

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

Added methods:

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

Type Changed: Foundation.NSArray`1

Added method:

public TKey[] ToArray ();

Namespace Network

Type Changed: Network.NWPath

Obsoleted methods:

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

Added methods:

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

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "9.0";
+public const string SdkVersion = "9.1";
-public const string Version = "16.0.0";
+public const string Version = "16.1.0";

Namespace WatchKit

Type Changed: WatchKit.WKExtendedRuntimeSession

Added methods:

public static void RequestAutoLaunchAuthorizationStatus (WKRequestAutoLaunchAuthorizationStatusCompletionHandler completion);
public static System.Threading.Tasks.Task<WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus> RequestAutoLaunchAuthorizationStatusAsync ();

Type Changed: WatchKit.WKExtendedRuntimeSessionErrorCode

Added values:

MustBeActiveToPrompt = 9,
UnsupportedSessionType = 10,

Type Changed: WatchKit.WKHapticType

Added values:

UnderwaterDepthCriticalPrompt = 13,
UnderwaterDepthPrompt = 12,

Type Changed: WatchKit.WKWaterResistanceRating

Added value:

WR100 = 2,

New Type: WatchKit.WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus

[Serializable]
public enum WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus {
	Active = 2,
	Inactive = 1,
	Unknown = 0,
}

New Type: WatchKit.WKRequestAutoLaunchAuthorizationStatusCompletionHandler

public sealed delegate WKRequestAutoLaunchAuthorizationStatusCompletionHandler : System.MulticastDelegate {
	// constructors
	public WKRequestAutoLaunchAuthorizationStatusCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus authorizationStatus, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus authorizationStatus, Foundation.NSError error);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment