Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created August 12, 2022 21:56
Show Gist options
  • Save vs-mobiletools-engineering-service2/72ebd53bd6ed2a256c02daba164865c8 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/72ebd53bd6ed2a256c02daba164865c8 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
8/12/2022
article
f7934223-2a8c-d5d4-788f-79d2f8610aa7
xamarin

Xamarin.iOS SDK API diff

Namespace PassKit

Type Changed: PassKit.PKAddCarKeyPassConfiguration

Added properties:

public virtual string ManufacturerIdentifier { get; set; }
public virtual string ProvisioningTemplateIdentifier { get; set; }

Type Changed: PassKit.PKAddSecureElementPassErrorCode

Added value:

OSVersionNotSupportedError = 6,

Type Changed: PassKit.PKAddShareablePassConfiguration

Added methods:

public static void GetConfiguration (PKShareablePassMetadata[] passMetadata, PKAddShareablePassConfigurationPrimaryAction action, System.Action<PKAddShareablePassConfiguration,Foundation.NSError> completion);
public static System.Threading.Tasks.Task<PKAddShareablePassConfiguration> GetConfigurationAsync (PKShareablePassMetadata[] passMetadata, PKAddShareablePassConfigurationPrimaryAction action);

Type Changed: PassKit.PKPassLibrary

Added methods:

public virtual void GetEncryptedServiceProviderData (PKSecureElementPass secureElementPass, System.Action<Foundation.NSDictionary,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<Foundation.NSDictionary> GetEncryptedServiceProviderDataAsync (PKSecureElementPass secureElementPass);

Type Changed: PassKit.PKPaymentAuthorizationResult

Added property:

public virtual PKPaymentOrderDetails OrderDetails { get; set; }

Type Changed: PassKit.PKPaymentNetwork

Added properties:

public static Foundation.NSString Bancomat { get; }
public static Foundation.NSString Bancontact { get; }

Type Changed: PassKit.PKPaymentRequest

Added properties:

public virtual PKAutomaticReloadPaymentRequest AutomaticReloadPaymentRequest { get; set; }
public virtual PKPaymentTokenContext[] MultiTokenContexts { get; set; }
public virtual PKRecurringPaymentRequest RecurringPaymentRequest { get; set; }

Type Changed: PassKit.PKPaymentRequestCouponCodeUpdate

Added properties:

public virtual PKAutomaticReloadPaymentRequest AutomaticReloadPaymentRequest { get; set; }
public virtual PKPaymentTokenContext[] MultiTokenContexts { get; set; }
public virtual PKRecurringPaymentRequest RecurringPaymentRequest { get; set; }

Type Changed: PassKit.PKPaymentRequestUpdate

Added properties:

public virtual PKAutomaticReloadPaymentRequest AutomaticReloadPaymentRequest { get; set; }
public virtual PKPaymentTokenContext[] MultiTokenContexts { get; set; }
public virtual PKRecurringPaymentRequest RecurringPaymentRequest { get; set; }

Type Changed: PassKit.PKShareablePassMetadata

Added constructors:

public PKShareablePassMetadata (string credentialIdentifier, string sharingInstanceIdentifier, string templateIdentifier, PKShareablePassMetadataPreview preview);
public PKShareablePassMetadata (string credentialIdentifier, string sharingInstanceIdentifier, string templateIdentifier, PKShareablePassMetadataPreview preview, PKShareablePassMetadata.CardType cardType);

Modified properties:

-public virtual string AccountHash { get; set; }
+public virtual string AccountHash { get; }
-public virtual string RelyingPartyIdentifier { get; set; }
+public virtual string RelyingPartyIdentifier { get; }
-public virtual bool RequiresUnifiedAccessCapableDevice { get; set; }
+public virtual bool RequiresUnifiedAccessCapableDevice { get; }

Added properties:

public virtual string CardTemplateIdentifier { get; }
public virtual PKShareablePassMetadataPreview Preview { get; }
public virtual string ServerEnvironmentIdentifier { get; set; }

New Type: PassKit.IPKIdentityDocumentDescriptor

public interface IPKIdentityDocumentDescriptor : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual PKIdentityElement[] Elements { get; }
	// methods
	public virtual void AddElements (PKIdentityElement[] elements, PKIdentityIntentToStore intentToStore);
	public virtual PKIdentityIntentToStore GetIntentToStore (PKIdentityElement element);
}

New Type: PassKit.IPKShareSecureElementPassViewControllerDelegate

public interface IPKShareSecureElementPassViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidFinish (PKShareSecureElementPassViewController controller, PKShareSecureElementPassResult result);
}

New Type: PassKit.IPKVehicleConnectionDelegate

public interface IPKVehicleConnectionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState);
	public virtual void SessionDidReceiveData (Foundation.NSData data);
}

New Type: PassKit.PKAutomaticReloadPaymentRequest

public class PKAutomaticReloadPaymentRequest : Foundation.NSObject {
	// constructors
	protected PKAutomaticReloadPaymentRequest (Foundation.NSObjectFlag t);
	protected PKAutomaticReloadPaymentRequest (IntPtr handle);
	public PKAutomaticReloadPaymentRequest (string paymentDescription, PKAutomaticReloadPaymentSummaryItem automaticReloadBilling, Foundation.NSUrl managementUrl);
	// properties
	public virtual PKAutomaticReloadPaymentSummaryItem AutomaticReloadBilling { get; set; }
	public virtual string BillingAgreement { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl ManagementUrl { get; set; }
	public virtual string PaymentDescription { get; set; }
	public virtual Foundation.NSUrl TokenNotificationUrl { get; set; }
}

New Type: PassKit.PKAutomaticReloadPaymentSummaryItem

public class PKAutomaticReloadPaymentSummaryItem : PassKit.PKPaymentSummaryItem {
	// constructors
	public PKAutomaticReloadPaymentSummaryItem ();
	protected PKAutomaticReloadPaymentSummaryItem (Foundation.NSObjectFlag t);
	protected PKAutomaticReloadPaymentSummaryItem (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDecimalNumber ThresholdAmount { get; set; }
}

New Type: PassKit.PKIdentityAuthorizationController

public class PKIdentityAuthorizationController : Foundation.NSObject {
	// constructors
	public PKIdentityAuthorizationController ();
	protected PKIdentityAuthorizationController (Foundation.NSObjectFlag t);
	protected PKIdentityAuthorizationController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void CancelRequest ();
	public virtual void CheckCanRequestDocument (IPKIdentityDocumentDescriptor descriptor, System.Action<bool> completion);
	public virtual System.Threading.Tasks.Task<bool> CheckCanRequestDocumentAsync (IPKIdentityDocumentDescriptor descriptor);
	public virtual void RequestDocument (PKIdentityRequest request, System.Action<PKIdentityDocument,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<PKIdentityDocument> RequestDocumentAsync (PKIdentityRequest request);
}

New Type: PassKit.PKIdentityButton

public class PKIdentityButton : UIKit.UIControl {
	// constructors
	public PKIdentityButton ();
	public PKIdentityButton (Foundation.NSCoder coder);
	protected PKIdentityButton (Foundation.NSObjectFlag t);
	protected PKIdentityButton (IntPtr handle);
	public PKIdentityButton (PKIdentityButtonLabel label, PKIdentityButtonStyle style);
	// properties
	public static PKIdentityButton.PKIdentityButtonAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nfloat CornerRadius { get; set; }
	// methods
	public static PKIdentityButton.PKIdentityButtonAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public static PKIdentityButton Create (PKIdentityButtonLabel label, PKIdentityButtonStyle style);
	public static PKIdentityButton.PKIdentityButtonAppearance GetAppearance<T> ();
	public static PKIdentityButton.PKIdentityButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static PKIdentityButton.PKIdentityButtonAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static PKIdentityButton.PKIdentityButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static PKIdentityButton.PKIdentityButtonAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class PKIdentityButtonAppearance : UIKit.UIControl+UIControlAppearance {
		// constructors
		protected PKIdentityButton.PKIdentityButtonAppearance (IntPtr handle);
	}
}

New Type: PassKit.PKIdentityButtonLabel

[Serializable]
public enum PKIdentityButtonLabel {
	Continue = 3,
	Verify = 1,
	VerifyAge = 2,
	VerifyIdentity = 0,
}

New Type: PassKit.PKIdentityButtonStyle

[Serializable]
public enum PKIdentityButtonStyle {
	Black = 0,
	Outline = 1,
}

New Type: PassKit.PKIdentityDocument

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

New Type: PassKit.PKIdentityDriversLicenseDescriptor

public class PKIdentityDriversLicenseDescriptor : Foundation.NSObject, ObjCRuntime.INativeObject, IPKIdentityDocumentDescriptor, System.IDisposable {
	// constructors
	protected PKIdentityDriversLicenseDescriptor (Foundation.NSObjectFlag t);
	protected PKIdentityDriversLicenseDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PKIdentityElement[] Elements { get; }
	// methods
	public virtual void AddElements (PKIdentityElement[] elements, PKIdentityIntentToStore intentToStore);
	public virtual PKIdentityIntentToStore GetIntentToStore (PKIdentityElement element);
}

New Type: PassKit.PKIdentityElement

public class PKIdentityElement : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected PKIdentityElement (Foundation.NSObjectFlag t);
	protected PKIdentityElement (IntPtr handle);
	// properties
	public static PKIdentityElement AddressElement { get; }
	public static PKIdentityElement AgeElement { get; }
	public override IntPtr ClassHandle { get; }
	public static PKIdentityElement DateOfBirthElement { get; }
	public static PKIdentityElement DocumentExpirationDateElement { get; }
	public static PKIdentityElement DocumentIssueDateElement { get; }
	public static PKIdentityElement DocumentNumberElement { get; }
	public static PKIdentityElement DrivingPrivilegesElement { get; }
	public static PKIdentityElement FamilyNameElement { get; }
	public static PKIdentityElement GivenNameElement { get; }
	public static PKIdentityElement IssuingAuthorityElement { get; }
	public static PKIdentityElement PortraitElement { get; }
	// methods
	public static PKIdentityElement AgeThresholdElementWithAge (nint age);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: PassKit.PKIdentityError

[Serializable]
public enum PKIdentityError {
	Cancelled = 2,
	InvalidElement = 7,
	InvalidNonce = 6,
	NetworkUnavailable = 3,
	NoElementsRequested = 4,
	NotSupported = 1,
	RequestAlreadyInProgress = 5,
	Unknown = 0,
}

New Type: PassKit.PKIdentityErrorExtensions

public static class PKIdentityErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this PKIdentityError self);
}

New Type: PassKit.PKIdentityIntentToStore

public class PKIdentityIntentToStore : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected PKIdentityIntentToStore (Foundation.NSObjectFlag t);
	protected PKIdentityIntentToStore (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static PKIdentityIntentToStore MayStoreIntent { get; }
	public static PKIdentityIntentToStore WillNotStoreIntent { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static PKIdentityIntentToStore MayStoreIntentForDays (nint days);
}

New Type: PassKit.PKIdentityRequest

public class PKIdentityRequest : Foundation.NSObject {
	// constructors
	public PKIdentityRequest ();
	protected PKIdentityRequest (Foundation.NSObjectFlag t);
	protected PKIdentityRequest (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IPKIdentityDocumentDescriptor Descriptor { get; set; }
	public virtual string MerchantIdentifier { get; set; }
	public virtual Foundation.NSData Nonce { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: PassKit.PKPaymentOrderDetails

public class PKPaymentOrderDetails : Foundation.NSObject {
	// constructors
	protected PKPaymentOrderDetails (Foundation.NSObjectFlag t);
	protected PKPaymentOrderDetails (IntPtr handle);
	public PKPaymentOrderDetails (string orderTypeIdentifier, string orderIdentifier, Foundation.NSUrl webServiceUrl, string authenticationToken);
	// properties
	public virtual string AuthenticationToken { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string OrderIdentifier { get; set; }
	public virtual string OrderTypeIdentifier { get; set; }
	public virtual Foundation.NSUrl WebServiceUrl { get; set; }
}

New Type: PassKit.PKPaymentTokenContext

public class PKPaymentTokenContext : Foundation.NSObject {
	// constructors
	protected PKPaymentTokenContext (Foundation.NSObjectFlag t);
	protected PKPaymentTokenContext (IntPtr handle);
	public PKPaymentTokenContext (string merchantIdentifier, string externalIdentifier, string merchantName, string merchantDomain, Foundation.NSDecimalNumber amount);
	// properties
	public virtual Foundation.NSDecimalNumber Amount { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string ExternalIdentifier { get; set; }
	public virtual string MerchantDomain { get; set; }
	public virtual string MerchantIdentifier { get; set; }
	public virtual string MerchantName { get; set; }
}

New Type: PassKit.PKRecurringPaymentRequest

public class PKRecurringPaymentRequest : Foundation.NSObject {
	// constructors
	protected PKRecurringPaymentRequest (Foundation.NSObjectFlag t);
	protected PKRecurringPaymentRequest (IntPtr handle);
	public PKRecurringPaymentRequest (string paymentDescription, PKRecurringPaymentSummaryItem regularBilling, Foundation.NSUrl managementUrl);
	// properties
	public virtual string BillingAgreement { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl ManagementUrl { get; set; }
	public virtual string PaymentDescription { get; set; }
	public virtual PKRecurringPaymentSummaryItem RegularBilling { get; set; }
	public virtual Foundation.NSUrl TokenNotificationUrl { get; set; }
	public virtual PKRecurringPaymentSummaryItem TrialBilling { get; set; }
}

New Type: PassKit.PKShareSecureElementPassErrorCode

[Serializable]
public enum PKShareSecureElementPassErrorCode {
	SetupError = 1,
	UnknownError = 0,
}

New Type: PassKit.PKShareSecureElementPassErrorCodeExtensions

public static class PKShareSecureElementPassErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this PKShareSecureElementPassErrorCode self);
}

New Type: PassKit.PKShareSecureElementPassResult

[Serializable]
public enum PKShareSecureElementPassResult {
	Canceled = 0,
	Failed = 2,
	Shared = 1,
}

New Type: PassKit.PKShareSecureElementPassViewController

public class PKShareSecureElementPassViewController : UIKit.UIViewController {
	// constructors
	public PKShareSecureElementPassViewController (Foundation.NSCoder coder);
	protected PKShareSecureElementPassViewController (Foundation.NSObjectFlag t);
	protected PKShareSecureElementPassViewController (IntPtr handle);
	public PKShareSecureElementPassViewController (PKSecureElementPass pass, IPKShareSecureElementPassViewControllerDelegate delegate);
	public PKShareSecureElementPassViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IPKShareSecureElementPassViewControllerDelegate Delegate { get; set; }
	public virtual bool PromptToShareUrl { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: PassKit.PKShareSecureElementPassViewControllerDelegate

public abstract class PKShareSecureElementPassViewControllerDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, IPKShareSecureElementPassViewControllerDelegate, System.IDisposable {
	// constructors
	protected PKShareSecureElementPassViewControllerDelegate ();
	protected PKShareSecureElementPassViewControllerDelegate (Foundation.NSObjectFlag t);
	protected PKShareSecureElementPassViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidCreateShareUrl (PKShareSecureElementPassViewController controller, Foundation.NSUrl universalShareUrl, string activationCode);
	public virtual void DidFinish (PKShareSecureElementPassViewController controller, PKShareSecureElementPassResult result);
}

New Type: PassKit.PKShareSecureElementPassViewControllerDelegate_Extensions

public static class PKShareSecureElementPassViewControllerDelegate_Extensions {
	// methods
	public static void DidCreateShareUrl (this IPKShareSecureElementPassViewControllerDelegate This, PKShareSecureElementPassViewController controller, Foundation.NSUrl universalShareUrl, string activationCode);
}

New Type: PassKit.PKShareablePassMetadataPreview

public class PKShareablePassMetadataPreview : Foundation.NSObject {
	// constructors
	protected PKShareablePassMetadataPreview (Foundation.NSObjectFlag t);
	protected PKShareablePassMetadataPreview (IntPtr handle);
	public PKShareablePassMetadataPreview (string templateIdentifier);
	public PKShareablePassMetadataPreview (CoreGraphics.CGImage passThumbnail, string description);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string LocalizedDescription { get; }
	public virtual string OwnerDisplayName { get; set; }
	public virtual CoreGraphics.CGImage PassThumbnailImage { get; }
	public virtual string ProvisioningTemplateIdentifier { get; }
	// methods
	public static PKShareablePassMetadataPreview PreviewWithPassThumbnail (CoreGraphics.CGImage passThumbnail, string description);
	public static PKShareablePassMetadataPreview PreviewWithTemplateIdentifier (string templateIdentifier);
}

New Type: PassKit.PKVehicleConnectionDelegate

public abstract class PKVehicleConnectionDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, IPKVehicleConnectionDelegate, System.IDisposable {
	// constructors
	protected PKVehicleConnectionDelegate ();
	protected PKVehicleConnectionDelegate (Foundation.NSObjectFlag t);
	protected PKVehicleConnectionDelegate (IntPtr handle);
	// methods
	public virtual void SessionDidChangeConnectionState (PKVehicleConnectionSessionConnectionState newState);
	public virtual void SessionDidReceiveData (Foundation.NSData data);
}

New Type: PassKit.PKVehicleConnectionErrorCode

[Serializable]
public enum PKVehicleConnectionErrorCode {
	SessionNotActive = 2,
	SessionUnableToStart = 1,
	Unknown = 0,
}

New Type: PassKit.PKVehicleConnectionSession

public class PKVehicleConnectionSession : Foundation.NSObject {
	// constructors
	protected PKVehicleConnectionSession (Foundation.NSObjectFlag t);
	protected PKVehicleConnectionSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PKVehicleConnectionSessionConnectionState ConnectionStatus { get; }
	public IPKVehicleConnectionDelegate Delegate { get; }
	public virtual Foundation.NSObject WeakDelegate { get; }
	// methods
	protected override void Dispose (bool disposing);
	public static void GetSession (PKSecureElementPass pass, IPKVehicleConnectionDelegate delegate, System.Action<PKVehicleConnectionSession,Foundation.NSError> completion);
	public static System.Threading.Tasks.Task<PKVehicleConnectionSession> GetSessionAsync (PKSecureElementPass pass, IPKVehicleConnectionDelegate delegate);
	public virtual void Invalidate ();
	public virtual bool SendData (Foundation.NSData message, out Foundation.NSError error);
}

New Type: PassKit.PKVehicleConnectionSessionConnectionState

[Serializable]
public enum PKVehicleConnectionSessionConnectionState {
	Connected = 1,
	Connecting = 2,
	Disconnected = 0,
	FailedToConnect = 3,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment