diff --git a/src/PassKit/PKCompat.cs b/src/PassKit/PKCompat.cs
index 87b5d67921b8..d8e889f5785b 100644
--- a/src/PassKit/PKCompat.cs
+++ b/src/PassKit/PKCompat.cs
@@ -174,6 +174,7 @@ public partial class PKDisbursementRequest {
#if NET
[UnsupportedOSPlatform ("macos")]
[UnsupportedOSPlatform ("ios")]
+ [UnsupportedOSPlatform ("tvos")]
[UnsupportedOSPlatform ("maccatalyst")]
#endif // NET
[EditorBrowsable (EditorBrowsableState.Never)]
@@ -186,6 +187,7 @@ public virtual NSDecimalNumber Amount {
#if NET
[UnsupportedOSPlatform ("macos")]
[UnsupportedOSPlatform ("ios")]
+ [UnsupportedOSPlatform ("tvos")]
[UnsupportedOSPlatform ("maccatalyst")]
#endif // NET
[EditorBrowsable (EditorBrowsableState.Never)]
@@ -198,6 +200,7 @@ public virtual string CountryCode {
#if NET
[UnsupportedOSPlatform ("macos")]
[UnsupportedOSPlatform ("ios")]
+ [UnsupportedOSPlatform ("tvos")]
[UnsupportedOSPlatform ("maccatalyst")]
#endif // NET
[EditorBrowsable (EditorBrowsableState.Never)]
diff --git a/src/PassKit/PKEnums.cs b/src/PassKit/PKEnums.cs
index 4ee2a3d1380d..dd5408948b36 100644
--- a/src/PassKit/PKEnums.cs
+++ b/src/PassKit/PKEnums.cs
@@ -260,7 +260,7 @@ public enum PKAddPaymentPassError : long {
/// Enumerates results that are used in calls to .
[Mac (11, 0)]
- [NoWatch]
+ [Watch (10, 2)]
[MacCatalyst (13, 1)]
[Native]
public enum PKAutomaticPassPresentationSuppressionResult : ulong {
@@ -333,7 +333,15 @@ public enum PKAddPaymentPassStyle : ulong {
[ErrorDomain ("PKAddSecureElementPassErrorDomain")]
[Native]
public enum PKAddSecureElementPassErrorCode : long {
- UnknownError,
+ GenericError = 0,
+#if !XAMCORE_5_0
+ [Deprecated (PlatformName.iOS, 18, 0, message: "Use 'GenericError' instead.")]
+ [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use 'GenericError' instead.")]
+ [Deprecated (PlatformName.TvOS, 18, 0, message: "Use 'GenericError' instead.")]
+ [Deprecated (PlatformName.WatchOS, 11, 0, message: "Use 'GenericError' instead.")]
+ [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use 'GenericError' instead.")]
+ UnknownError = GenericError,
+#endif
UserCanceledError,
UnavailableError,
InvalidConfigurationError,
@@ -370,6 +378,7 @@ public enum PKIdentityError : long {
RequestAlreadyInProgress = 5,
InvalidNonce = 6,
InvalidElement = 7,
+ RegionNotSupported = 8,
}
[iOS (16, 0), Mac (13, 0), Watch (9, 0), NoTV, MacCatalyst (16, 0)]
@@ -413,7 +422,7 @@ public enum PKApplePayLaterAvailability : long {
UnavailableRecurringTransaction,
}
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[Native]
[ErrorDomain ("PKDisbursementErrorDomain")]
public enum PKDisbursementErrorCode : long {
@@ -437,4 +446,12 @@ public enum PKPayLaterDisplayStyle : long {
Checkout,
Price,
}
+
+ [Static]
+ [Internal]
+ [Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
+ interface PKMerchantCategoryCodeValues {
+ [Field ("PKMerchantCategoryCodeNone")]
+ short None { get; }
+ }
}
diff --git a/src/PassKit/PKJapanIndividualNumberCardMetadata.cs b/src/PassKit/PKJapanIndividualNumberCardMetadata.cs
new file mode 100644
index 000000000000..c38a9dabe384
--- /dev/null
+++ b/src/PassKit/PKJapanIndividualNumberCardMetadata.cs
@@ -0,0 +1,36 @@
+#nullable enable
+
+#if !WATCH
+
+using System;
+using Foundation;
+using ObjCRuntime;
+
+namespace PassKit {
+
+ /// This enum is used to select how to initialize a new instance of a .
+ public enum PKJapanIndividualNumberCardMetadataConstructorOption {
+ /// The cardIdentifier parameter passed to the constructor is an card template identifier.
+ CardTemplateIdentifier,
+ /// The cardIdentifier parameter passed to the constructor is an card configuration identifier.
+ CardConfigurationIdentifier,
+ }
+
+ public partial class PKJapanIndividualNumberCardMetadata {
+ public PKJapanIndividualNumberCardMetadata (string credentialIdentifier, string sharingInstanceIdentifier, string cardIdentifier, PKAddPassMetadataPreview preview, PKJapanIndividualNumberCardMetadataConstructorOption option)
+ : base (NSObjectFlag.Empty)
+ {
+ switch (option) {
+ case PKJapanIndividualNumberCardMetadataConstructorOption.CardTemplateIdentifier:
+ InitializeHandle (_InitWithProvisioningCredentialIdentifier_CardTemplateIdentifier (credentialIdentifier, sharingInstanceIdentifier, cardIdentifier, preview)); ;
+ break;
+ case PKJapanIndividualNumberCardMetadataConstructorOption.CardConfigurationIdentifier:
+ InitializeHandle (_InitWithProvisioningCredentialIdentifier_CardConfigurationIdentifier (credentialIdentifier, sharingInstanceIdentifier, cardIdentifier, preview));
+ break;
+ default:
+ throw new ArgumentOutOfRangeException (nameof (option), option, "Invalid enum value.");
+ }
+ }
+ }
+}
+#endif // !WATCH
diff --git a/src/PassKit/PKMerchantCategoryCode.cs b/src/PassKit/PKMerchantCategoryCode.cs
new file mode 100644
index 000000000000..f00df4711c37
--- /dev/null
+++ b/src/PassKit/PKMerchantCategoryCode.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Runtime.Versioning;
+
+using ObjCRuntime;
+
+#nullable enable
+
+#if !NET
+using NativeHandle = System.IntPtr;
+#endif
+
+#if !TVOS
+
+namespace PassKit {
+ /*
+ * PKMerchantCategoryCode is defined like this:
+ *
+ * typedef SInt16 PKMerchantCategoryCode NS_TYPED_EXTENSIBLE_ENUM NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0));
+ * extern PKMerchantCategoryCode const PKMerchantCategoryCodeNone API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0));
+ *
+ * In other words: like a strongly typed enum, just with 'short' as the backing type instead of 'NSString'.
+ *
+ * Since we can't model this as an enum in C# (because the values aren't constant), instead create a custom struct with a short field.
+ */
+
+ /// The four-digit type, in ISO 18245 format, that represents the type of goods or service a merchant provides for a transaction.
+#if NET
+ [SupportedOSPlatform ("macos15.0")]
+ [SupportedOSPlatform ("ios18.0")]
+ [SupportedOSPlatform ("maccatalyst18.0")]
+ [UnsupportedOSPlatform ("tvos")]
+#else
+ [Mac (15, 0), iOS (18, 0), NoTV, MacCatalyst (18, 0), Watch (11, 0)]
+#endif
+ public struct PKMerchantCategoryCode {
+ short value;
+
+#if !COREBUILD
+ /// A representing no merchant code.
+ public static PKMerchantCategoryCode None { get => new PKMerchantCategoryCode (PKMerchantCategoryCodeValues.None); }
+#endif
+
+ /// Create a for the specified merchant code.
+ /// The 16-bit merchant code.
+ public PKMerchantCategoryCode (short code)
+ {
+ value = code;
+ }
+
+ /// Get the 16-bit value for this .
+ public short Value {
+ get {
+ return this.Value;
+ }
+ }
+
+ /// Get the 16-bit value for a .
+ public static explicit operator short (PKMerchantCategoryCode code)
+ {
+ return code.Value;
+ }
+
+ /// Convert a 16-bit value to a .
+ public static explicit operator PKMerchantCategoryCode (short code)
+ {
+ return new PKMerchantCategoryCode (code);
+ }
+ }
+}
+#endif // !TVOS
diff --git a/src/frameworks.sources b/src/frameworks.sources
index ee2132421cca..c636a7c287e1 100644
--- a/src/frameworks.sources
+++ b/src/frameworks.sources
@@ -1498,9 +1498,13 @@ OPENGLES_SOURCES = \
PASSKIT_API_SOURCES = \
PassKit/PKEnums.cs \
-
+
+PASSKIT_CORE_SOURCES = \
+ PassKit/PKMerchantCategoryCode.cs \
+
PASSKIT_SOURCES = \
PassKit/PKCompat.cs \
+ PassKit/PKJapanIndividualNumberCardMetadata.cs \
PassKit/PKPayLaterView.cs \
PassKit/PKPaymentRequest.cs \
PassKit/PKShareablePassMetadata.cs \
diff --git a/src/passkit.cs b/src/passkit.cs
index cf955e5b3c6c..789f40a8e80c 100644
--- a/src/passkit.cs
+++ b/src/passkit.cs
@@ -184,13 +184,13 @@ interface PKPassLibrary {
[Export ("canAddFelicaPass")]
bool CanAddFelicaPass { get; }
- [NoWatch]
+ [Watch (10, 2)]
[MacCatalyst (13, 1)]
[Static]
[Export ("endAutomaticPassPresentationSuppressionWithRequestToken:")]
void EndAutomaticPassPresentationSuppression (nuint requestToken);
- [NoWatch]
+ [Watch (10, 2)]
[MacCatalyst (13, 1)]
[Static]
[Export ("isSuppressingAutomaticPassPresentation")]
@@ -209,13 +209,11 @@ interface PKPassLibrary {
[Export ("remoteSecureElementPasses", ArgumentSemantic.Copy)]
PKSecureElementPass [] RemoteSecureElementPasses { get; }
-#if !WATCH
- [NoWatch]
+ [Watch (10, 2)]
[MacCatalyst (13, 1)]
[Static]
[Export ("requestAutomaticPassPresentationSuppressionWithResponseHandler:")]
nuint RequestAutomaticPassPresentationSuppression (Action responseHandler);
-#endif
[NoMac]
[Deprecated (PlatformName.iOS, 13, 4, message: "Use 'PresentSecureElementPass' instead.")]
@@ -433,7 +431,7 @@ interface PKPaymentAuthorizationViewController {
[Export ("initWithPaymentRequest:")]
NativeHandle Constructor (PKPaymentRequest request);
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[Export ("initWithDisbursementRequest:")]
NativeHandle Constructor (PKDisbursementRequest request);
@@ -456,17 +454,17 @@ interface PKPaymentAuthorizationViewController {
[Export ("canMakePaymentsUsingNetworks:capabilities:")]
bool CanMakePaymentsUsingNetworks (string [] supportedNetworks, PKMerchantCapability capabilties);
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[Static]
[Export ("supportsDisbursements")]
bool SupportsDisbursements ();
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[Static]
[Export ("supportsDisbursementsUsingNetworks:")]
bool SupportsDisbursements (string [] supportedNetworks);
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[Static]
[Export ("supportsDisbursementsUsingNetworks:capabilities:")]
bool SupportsDisbursements (string [] supportedNetworks, PKMerchantCapability capabilities);
@@ -704,6 +702,10 @@ interface PKPaymentRequest {
[iOS (17, 0), Mac (14, 0), Watch (10, 0), NoTV, MacCatalyst (17, 0)]
[Export ("applePayLaterAvailability", ArgumentSemantic.Assign)]
PKApplePayLaterAvailability ApplePayLaterAvailability { get; set; }
+
+ [Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
+ [Export ("merchantCategoryCode", ArgumentSemantic.Assign)]
+ PKMerchantCategoryCode MerchantCategoryCode { get; set; }
}
/// Enumerates fields for a contact.
@@ -995,6 +997,11 @@ interface PKPass : NSSecureCoding, NSCopying {
[Export ("passURL", ArgumentSemantic.Copy)]
NSUrl PassUrl { get; }
+ [Deprecated (PlatformName.iOS, 18, 0, message: "Use 'RelevantDates' instead.")]
+ [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use 'RelevantDates' instead.")]
+ [Deprecated (PlatformName.TvOS, 18, 0, message: "Use 'RelevantDates' instead.")]
+ [Deprecated (PlatformName.WatchOS, 11, 0, message: "Use 'RelevantDates' instead.")]
+ [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use 'RelevantDates' instead.")]
[NullAllowed, Export ("relevantDate", ArgumentSemantic.Copy)]
NSDate RelevantDate { get; }
@@ -1041,6 +1048,10 @@ interface PKPass : NSSecureCoding, NSCopying {
[MacCatalyst (13, 1)]
[Export ("deviceName")]
string DeviceName { get; }
+
+ [Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
+ [Export ("relevantDates", ArgumentSemantic.Copy)]
+ PKPassRelevantDate [] RelevantDates { get; }
}
/// Information about Apple Pay cards.
@@ -1383,7 +1394,7 @@ interface PKPaymentAuthorizationController {
[Export ("supportsDisbursementsUsingNetworks:capabilities:")]
bool SupportsDisbursements (string [] supportedNetworks, PKMerchantCapability capabilities);
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[Export ("initWithDisbursementRequest:")]
NativeHandle Constructor (PKDisbursementRequest request);
}
@@ -1738,9 +1749,10 @@ public enum PKDisbursementRequestSchedule : long {
#endif
[NoWatch]
- [iOS (12, 2)]
- [NoMac] // all members are decorated as such, but not the type itself
- [MacCatalyst (13, 1)]
+ [iOS (17, 0)]
+ [Mac (15, 0)]
+ [MacCatalyst (17, 0)]
+ [NoTV]
[BaseType (typeof (NSObject))]
interface PKDisbursementRequest {
@@ -1750,48 +1762,48 @@ interface PKDisbursementRequest {
[Export ("summaryItems", ArgumentSemantic.Copy)]
PKPaymentSummaryItem [] SummaryItems { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[Export ("merchantIdentifier")]
string MerchantIdentifier { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[Export ("regionCode")]
string RegionCode { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[Export ("supportedNetworks", ArgumentSemantic.Copy)]
string [] SupportedNetworks { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[Export ("merchantCapabilities", ArgumentSemantic.Assign)]
PKMerchantCapability MerchantCapabilities { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[Export ("requiredRecipientContactFields", ArgumentSemantic.Strong)]
string [] RequiredRecipientContactFields { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[NullAllowed, Export ("recipientContact", ArgumentSemantic.Strong)]
PKContact RecipientContact { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[NullAllowed, Export ("supportedRegions", ArgumentSemantic.Copy)]
string [] SupportedRegions { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[NullAllowed, Export ("applicationData", ArgumentSemantic.Copy)]
NSData ApplicationData { get; set; }
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[Export ("initWithMerchantIdentifier:currencyCode:regionCode:supportedNetworks:merchantCapabilities:summaryItems:")]
NativeHandle Constructor (string merchantIdentifier, string currencyCode, string regionCode, string [] supportedNetworks, PKMerchantCapability merchantCapabilities, PKPaymentSummaryItem [] summaryItems);
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[Static]
[Export ("disbursementContactInvalidErrorWithContactField:localizedDescription:")]
NSError GetDisbursementContactInvalidError (string field, [NullAllowed] string localizedDescription);
- [iOS (17, 0), NoMac, NoWatch, NoTV, NoMacCatalyst]
+ [iOS (17, 0), Mac (15, 0), NoWatch, NoTV, MacCatalyst (17, 0)]
[Static]
[Export ("disbursementCardUnsupportedError")]
NSError DisbursementCardUnsupportedError { get; }
@@ -1980,9 +1992,6 @@ interface PKShareablePassMetadata {
[Export ("credentialIdentifier", ArgumentSemantic.Strong)]
string CredentialIdentifier { get; }
- [Export ("cardConfigurationIdentifier", ArgumentSemantic.Strong)]
- string CardConfigurationIdentifier { get; }
-
[Export ("sharingInstanceIdentifier", ArgumentSemantic.Strong)]
string SharingInstanceIdentifier { get; }
@@ -2023,6 +2032,9 @@ interface PKShareablePassMetadata {
[Export ("cardTemplateIdentifier", ArgumentSemantic.Strong)]
string CardTemplateIdentifier { get; }
+ [Export ("cardConfigurationIdentifier", ArgumentSemantic.Strong)]
+ string CardConfigurationIdentifier { get; }
+
[NoWatch, NoTV, iOS (16, 0), Mac (13, 0), MacCatalyst (16, 0)]
[Export ("preview", ArgumentSemantic.Strong)]
PKShareablePassMetadataPreview Preview { get; }
@@ -2763,7 +2775,7 @@ interface PKRecurringPaymentRequest // : NSCoding, NSCopying, NSSecureCoding //
}
[NoWatch, NoTV, iOS (16, 0), Mac (13, 0), MacCatalyst (16, 0)]
- [BaseType (typeof (NSObject))]
+ [BaseType (typeof (PKAddPassMetadataPreview))]
[DisableDefaultCtor]
interface PKShareablePassMetadataPreview // : NSCoding, NSCopying, NSSecureCoding // https://feedbackassistant.apple.com/feedback/11018799
{
@@ -2782,10 +2794,10 @@ interface PKShareablePassMetadataPreview // : NSCoding, NSCopying, NSSecureCodin
PKShareablePassMetadataPreview PreviewWithTemplateIdentifier (string templateIdentifier);
[NullAllowed, Export ("passThumbnailImage", ArgumentSemantic.Assign)]
- CGImage PassThumbnailImage { get; }
+ new CGImage PassThumbnailImage { get; }
[NullAllowed, Export ("localizedDescription", ArgumentSemantic.Strong)]
- string LocalizedDescription { get; }
+ new string LocalizedDescription { get; }
[NullAllowed, Export ("ownerDisplayName", ArgumentSemantic.Strong)]
string OwnerDisplayName { get; set; }
@@ -2917,22 +2929,116 @@ interface PKPayLaterViewDelegate {
void PayLaterViewDidUpdateHeight (PKPayLaterView view);
}
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[Static]
interface PKDirbursementError {
[Field ("PKDisbursementErrorContactFieldUserInfoKey")]
NSString ContactFieldUserInfoKey { get; }
}
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[BaseType (typeof (PKPaymentSummaryItem))]
[DisableDefaultCtor]
interface PKInstantFundsOutFeeSummaryItem : NSCoding, NSCopying, NSSecureCoding {
}
- [NoWatch, NoTV, NoMac, iOS (17, 0), MacCatalyst (17, 0)]
+ [NoWatch, NoTV, Mac (15, 0), iOS (17, 0), MacCatalyst (17, 0)]
[BaseType (typeof (PKPaymentSummaryItem))]
[DisableDefaultCtor]
interface PKDisbursementSummaryItem : NSCoding, NSCopying, NSSecureCoding {
}
+
+ [NoTV, NoWatch, iOS (18, 0), MacCatalyst (18, 0), Mac (15, 0)]
+ [BaseType (typeof (NSObject))]
+ [DisableDefaultCtor]
+ interface PKIdentityDocumentMetadata {
+ [Export ("credentialIdentifier", ArgumentSemantic.Strong)]
+ string CredentialIdentifier { get; }
+
+ [Export ("sharingInstanceIdentifier", ArgumentSemantic.Strong)]
+ string SharingInstanceIdentifier { get; }
+
+ [Export ("cardTemplateIdentifier", ArgumentSemantic.Strong)]
+ string CardTemplateIdentifier { get; }
+
+ [Export ("cardConfigurationIdentifier", ArgumentSemantic.Strong)]
+ string CardConfigurationIdentifier { get; }
+
+ [Export ("serverEnvironmentIdentifier", ArgumentSemantic.Strong)]
+ string ServerEnvironmentIdentifier { get; set; }
+ }
+
+ [NoTV, NoWatch, iOS (18, 0), MacCatalyst (18, 0), Mac (15, 0)]
+ [BaseType (typeof (PKIdentityDocumentMetadata))]
+ [DisableDefaultCtor]
+ interface PKJapanIndividualNumberCardMetadata {
+ [Export ("initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardTemplateIdentifier:preview:")]
+ [Internal]
+ NativeHandle _InitWithProvisioningCredentialIdentifier_CardTemplateIdentifier (string credentialIdentifier, string sharingInstanceIdentifier, string cardTemplateIdentifier, PKAddPassMetadataPreview preview);
+
+ [Export ("initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardConfigurationIdentifier:preview:")]
+ [Internal]
+ NativeHandle _InitWithProvisioningCredentialIdentifier_CardConfigurationIdentifier (string credentialIdentifier, string sharingInstanceIdentifier, string cardConfigurationIdentifier, PKAddPassMetadataPreview preview);
+
+ [Export ("authenticationPassword", ArgumentSemantic.Copy), NullAllowed]
+ string AuthenticationPassword { get; set; }
+
+ [Export ("signingPassword", ArgumentSemantic.Copy), NullAllowed]
+ string SigningPassword { get; set; }
+
+ [Export ("preview", ArgumentSemantic.Strong)]
+ PKAddPassMetadataPreview Preview { get; set; }
+ }
+
+ delegate void PKAddIdentityDocumentConfigurationGetConfigurationCompletionHandler (PKAddIdentityDocumentConfiguration credentialConfiguration, NSError error);
+
+ [NoTV, NoWatch, iOS (18, 0), MacCatalyst (18, 0), Mac (15, 0)]
+ [BaseType (typeof (PKAddSecureElementPassConfiguration))]
+ [DisableDefaultCtor]
+ interface PKAddIdentityDocumentConfiguration {
+ [Async]
+ [Static]
+ [Export ("configurationForMetadata:completion:")]
+ void GetConfiguration (PKIdentityDocumentMetadata metadata, PKAddIdentityDocumentConfigurationGetConfigurationCompletionHandler completionHandler);
+
+ [Export ("metadata", ArgumentSemantic.Strong)]
+ PKIdentityDocumentMetadata Metadata { get; }
+ }
+
+ [NoTV, NoWatch, iOS (18, 0), MacCatalyst (18, 0), Mac (15, 0)]
+ [BaseType (typeof (NSObject))]
+ [DisableDefaultCtor]
+ interface PKAddPassMetadataPreview {
+ [Export ("initWithPassThumbnail:localizedDescription:")]
+ NativeHandle Constructor (CGImage passThumbnail, string description);
+
+ [Static]
+ [Export ("previewWithPassThumbnail:localizedDescription:")]
+ PKAddPassMetadataPreview PreviewWithPassThumbnail (CGImage passThumbnail, string localizedDescription);
+
+ [Export ("passThumbnailImage", ArgumentSemantic.Assign), NullAllowed]
+ CGImage PassThumbnailImage { get; }
+
+ [Export ("localizedDescription", ArgumentSemantic.Strong), NullAllowed]
+ string LocalizedDescription { get; }
+ }
+
+ [NoTV, NoWatch, iOS (18, 0), MacCatalyst (18, 0), NoMac]
+ [BaseType (typeof (NSObject), Name = "PKIdentityNationalIDCardDescriptor")]
+ [DisableDefaultCtor]
+ interface PKIdentityNationalIdCardDescriptor : PKIdentityDocumentDescriptor {
+ [Export ("regionCode", ArgumentSemantic.Copy), NullAllowed]
+ string RegionCode { get; set; }
+ }
+
+ [Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
+ [BaseType (typeof (NSObject))]
+ [DisableDefaultCtor]
+ interface PKPassRelevantDate {
+ [Export ("interval", ArgumentSemantic.Copy), NullAllowed]
+ NSDateInterval Interval { get; }
+
+ [Export ("date", ArgumentSemantic.Copy), NullAllowed]
+ NSDate Date { get; }
+ }
}
diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt
index 8081b2665eeb..b0f2e10c8a34 100644
--- a/tests/cecil-tests/Documentation.KnownFailures.txt
+++ b/tests/cecil-tests/Documentation.KnownFailures.txt
@@ -16406,6 +16406,7 @@ F:PassKit.PKAddressField.Phone
F:PassKit.PKAddressField.PostalAddress
F:PassKit.PKAddSecureElementPassErrorCode.DeviceNotReadyError
F:PassKit.PKAddSecureElementPassErrorCode.DeviceNotSupportedError
+F:PassKit.PKAddSecureElementPassErrorCode.GenericError
F:PassKit.PKAddSecureElementPassErrorCode.InvalidConfigurationError
F:PassKit.PKAddSecureElementPassErrorCode.OSVersionNotSupportedError
F:PassKit.PKAddSecureElementPassErrorCode.UnavailableError
@@ -16447,6 +16448,7 @@ F:PassKit.PKIdentityError.InvalidNonce
F:PassKit.PKIdentityError.NetworkUnavailable
F:PassKit.PKIdentityError.NoElementsRequested
F:PassKit.PKIdentityError.NotSupported
+F:PassKit.PKIdentityError.RegionNotSupported
F:PassKit.PKIdentityError.RequestAlreadyInProgress
F:PassKit.PKIdentityError.Unknown
F:PassKit.PKIssuerProvisioningExtensionAuthorizationResult.Authorized
@@ -44444,6 +44446,8 @@ M:PassKit.IPKShareSecureElementPassViewControllerDelegate.DidCreateShareUrl(Pass
M:PassKit.IPKShareSecureElementPassViewControllerDelegate.DidFinish(PassKit.PKShareSecureElementPassViewController,PassKit.PKShareSecureElementPassResult)
M:PassKit.IPKVehicleConnectionDelegate.SessionDidChangeConnectionState(PassKit.PKVehicleConnectionSessionConnectionState)
M:PassKit.IPKVehicleConnectionDelegate.SessionDidReceiveData(Foundation.NSData)
+M:PassKit.PKAddIdentityDocumentConfiguration.GetConfiguration(PassKit.PKIdentityDocumentMetadata,PassKit.PKAddIdentityDocumentConfigurationGetConfigurationCompletionHandler)
+M:PassKit.PKAddIdentityDocumentConfiguration.GetConfigurationAsync(PassKit.PKIdentityDocumentMetadata)
M:PassKit.PKAddPassButton.#ctor(PassKit.PKAddPassButtonStyle)
M:PassKit.PKAddPassButton.Create(PassKit.PKAddPassButtonStyle)
M:PassKit.PKAddPassButton.PKAddPassButtonAppearance.#ctor(System.IntPtr)
@@ -44456,6 +44460,8 @@ M:PassKit.PKAddPassesViewController.Dispose(System.Boolean)
M:PassKit.PKAddPassesViewController.remove_Finished(System.EventHandler)
M:PassKit.PKAddPassesViewControllerDelegate_Extensions.Finished(PassKit.IPKAddPassesViewControllerDelegate,PassKit.PKAddPassesViewController)
M:PassKit.PKAddPassesViewControllerDelegate.Finished(PassKit.PKAddPassesViewController)
+M:PassKit.PKAddPassMetadataPreview.#ctor(CoreGraphics.CGImage,System.String)
+M:PassKit.PKAddPassMetadataPreview.PreviewWithPassThumbnail(CoreGraphics.CGImage,System.String)
M:PassKit.PKAddPaymentPassRequest.#ctor
M:PassKit.PKAddPaymentPassRequest.EncodeTo(Foundation.NSCoder)
M:PassKit.PKAddPaymentPassRequestConfiguration.#ctor(Foundation.NSString)
@@ -44515,6 +44521,8 @@ M:PassKit.PKIdentityElement.AgeThresholdElementWithAge(System.IntPtr)
M:PassKit.PKIdentityElement.Copy(Foundation.NSZone)
M:PassKit.PKIdentityIntentToStore.Copy(Foundation.NSZone)
M:PassKit.PKIdentityIntentToStore.MayStoreIntentForDays(System.IntPtr)
+M:PassKit.PKIdentityNationalIdCardDescriptor.AddElements(PassKit.PKIdentityElement[],PassKit.PKIdentityIntentToStore)
+M:PassKit.PKIdentityNationalIdCardDescriptor.GetIntentToStore(PassKit.PKIdentityElement)
M:PassKit.PKIdentityRequest.Dispose(System.Boolean)
M:PassKit.PKInstantFundsOutFeeSummaryItem.Copy(Foundation.NSZone)
M:PassKit.PKInstantFundsOutFeeSummaryItem.EncodeTo(Foundation.NSCoder)
@@ -44527,6 +44535,7 @@ M:PassKit.PKIssuerProvisioningExtensionHandler.PassEntriesAsync
M:PassKit.PKIssuerProvisioningExtensionHandler.RemotePassEntries(System.Action{PassKit.PKIssuerProvisioningExtensionPassEntry[]})
M:PassKit.PKIssuerProvisioningExtensionHandler.RemotePassEntriesAsync
M:PassKit.PKIssuerProvisioningExtensionPaymentPassEntry.#ctor(System.String,System.String,CoreGraphics.CGImage,PassKit.PKAddPaymentPassRequestConfiguration)
+M:PassKit.PKJapanIndividualNumberCardMetadata.#ctor(System.String,System.String,System.String,PassKit.PKAddPassMetadataPreview,PassKit.PKJapanIndividualNumberCardMetadataConstructorOption)
M:PassKit.PKLabeledValue.#ctor(System.String,System.String)
M:PassKit.PKObject.Copy(Foundation.NSZone)
M:PassKit.PKObject.EncodeTo(Foundation.NSCoder)
@@ -73666,11 +73675,14 @@ P:PassKit.PKAddCarKeyPassConfiguration.ManufacturerIdentifier
P:PassKit.PKAddCarKeyPassConfiguration.Password
P:PassKit.PKAddCarKeyPassConfiguration.ProvisioningTemplateIdentifier
P:PassKit.PKAddCarKeyPassConfiguration.SupportedRadioTechnologies
+P:PassKit.PKAddIdentityDocumentConfiguration.Metadata
P:PassKit.PKAddPassButton.PKAddPassButtonAppearance.Style
P:PassKit.PKAddPassButton.Style
P:PassKit.PKAddPassesViewController.CanAddPasses
P:PassKit.PKAddPassesViewController.Delegate
P:PassKit.PKAddPassesViewController.WeakDelegate
+P:PassKit.PKAddPassMetadataPreview.LocalizedDescription
+P:PassKit.PKAddPassMetadataPreview.PassThumbnailImage
P:PassKit.PKAddPaymentPassRequest.ActivationData
P:PassKit.PKAddPaymentPassRequest.EncryptedPassData
P:PassKit.PKAddPaymentPassRequest.EphemeralPublicKey
@@ -73756,6 +73768,11 @@ P:PassKit.PKEncryptionScheme.Ecc_V2
P:PassKit.PKEncryptionScheme.Rsa_V2
P:PassKit.PKIdentityButton.CornerRadius
P:PassKit.PKIdentityDocument.EncryptedData
+P:PassKit.PKIdentityDocumentMetadata.CardConfigurationIdentifier
+P:PassKit.PKIdentityDocumentMetadata.CardTemplateIdentifier
+P:PassKit.PKIdentityDocumentMetadata.CredentialIdentifier
+P:PassKit.PKIdentityDocumentMetadata.ServerEnvironmentIdentifier
+P:PassKit.PKIdentityDocumentMetadata.SharingInstanceIdentifier
P:PassKit.PKIdentityDriversLicenseDescriptor.Elements
P:PassKit.PKIdentityElement.AddressElement
P:PassKit.PKIdentityElement.AgeElement
@@ -73772,6 +73789,8 @@ P:PassKit.PKIdentityElement.PortraitElement
P:PassKit.PKIdentityElement.SexElement
P:PassKit.PKIdentityIntentToStore.MayStoreIntent
P:PassKit.PKIdentityIntentToStore.WillNotStoreIntent
+P:PassKit.PKIdentityNationalIdCardDescriptor.Elements
+P:PassKit.PKIdentityNationalIdCardDescriptor.RegionCode
P:PassKit.PKIdentityRequest.Descriptor
P:PassKit.PKIdentityRequest.MerchantIdentifier
P:PassKit.PKIdentityRequest.Nonce
@@ -73782,6 +73801,9 @@ P:PassKit.PKIssuerProvisioningExtensionPaymentPassEntry.AddRequestConfiguration
P:PassKit.PKIssuerProvisioningExtensionStatus.PassEntriesAvailable
P:PassKit.PKIssuerProvisioningExtensionStatus.RemotePassEntriesAvailable
P:PassKit.PKIssuerProvisioningExtensionStatus.RequiresAuthentication
+P:PassKit.PKJapanIndividualNumberCardMetadata.AuthenticationPassword
+P:PassKit.PKJapanIndividualNumberCardMetadata.Preview
+P:PassKit.PKJapanIndividualNumberCardMetadata.SigningPassword
P:PassKit.PKLabeledValue.Label
P:PassKit.PKLabeledValue.Value
P:PassKit.PKPass.AuthenticationToken
@@ -73795,6 +73817,7 @@ P:PassKit.PKPass.PassTypeIdentifier
P:PassKit.PKPass.PassUrl
P:PassKit.PKPass.PaymentPass
P:PassKit.PKPass.RelevantDate
+P:PassKit.PKPass.RelevantDates
P:PassKit.PKPass.RemotePass
P:PassKit.PKPass.SecureElementPass
P:PassKit.PKPass.SerialNumber
@@ -73816,6 +73839,8 @@ P:PassKit.PKPassLibraryUserInfoKey.RecoveredPasses
P:PassKit.PKPassLibraryUserInfoKey.RemovedPassInfos
P:PassKit.PKPassLibraryUserInfoKey.ReplacementPasses
P:PassKit.PKPassLibraryUserInfoKey.SerialNumber
+P:PassKit.PKPassRelevantDate.Date
+P:PassKit.PKPassRelevantDate.Interval
P:PassKit.PKPayLaterView.Action
P:PassKit.PKPayLaterView.Amount
P:PassKit.PKPayLaterView.CurrencyCode
@@ -73901,6 +73926,7 @@ P:PassKit.PKPaymentRequest.CouponCode
P:PassKit.PKPaymentRequest.CurrencyCode
P:PassKit.PKPaymentRequest.DeferredPaymentRequest
P:PassKit.PKPaymentRequest.MerchantCapabilities
+P:PassKit.PKPaymentRequest.MerchantCategoryCode
P:PassKit.PKPaymentRequest.MerchantIdentifier
P:PassKit.PKPaymentRequest.MultiTokenContexts
P:PassKit.PKPaymentRequest.PaymentSummaryItems
@@ -83889,6 +83915,9 @@ T:PassKit.IPKPaymentInformationRequestHandling
T:PassKit.IPKShareSecureElementPassViewControllerDelegate
T:PassKit.IPKVehicleConnectionDelegate
T:PassKit.PKAddCarKeyPassConfiguration
+T:PassKit.PKAddIdentityDocumentConfiguration
+T:PassKit.PKAddIdentityDocumentConfigurationGetConfigurationCompletionHandler
+T:PassKit.PKAddPassMetadataPreview
T:PassKit.PKAddPaymentPassStyle
T:PassKit.PKAddSecureElementPassConfiguration
T:PassKit.PKAddSecureElementPassErrorCode
@@ -83918,10 +83947,12 @@ T:PassKit.PKIdentityButton
T:PassKit.PKIdentityButtonLabel
T:PassKit.PKIdentityButtonStyle
T:PassKit.PKIdentityDocument
+T:PassKit.PKIdentityDocumentMetadata
T:PassKit.PKIdentityDriversLicenseDescriptor
T:PassKit.PKIdentityElement
T:PassKit.PKIdentityError
T:PassKit.PKIdentityIntentToStore
+T:PassKit.PKIdentityNationalIdCardDescriptor
T:PassKit.PKIdentityRequest
T:PassKit.PKInformationRequestCompletionBlock
T:PassKit.PKInstantFundsOutFeeSummaryItem
@@ -83930,7 +83961,9 @@ T:PassKit.PKIssuerProvisioningExtensionHandler
T:PassKit.PKIssuerProvisioningExtensionPassEntry
T:PassKit.PKIssuerProvisioningExtensionPaymentPassEntry
T:PassKit.PKIssuerProvisioningExtensionStatus
+T:PassKit.PKJapanIndividualNumberCardMetadata
T:PassKit.PKPassLibrarySignDataCompletionHandler
+T:PassKit.PKPassRelevantDate
T:PassKit.PKPayLaterAction
T:PassKit.PKPayLaterDisplayStyle
T:PassKit.PKPayLaterView
diff --git a/tests/introspection/ApiProtocolTest.cs b/tests/introspection/ApiProtocolTest.cs
index f5aed7480408..a2bb8ce38f31 100644
--- a/tests/introspection/ApiProtocolTest.cs
+++ b/tests/introspection/ApiProtocolTest.cs
@@ -202,8 +202,13 @@ protected virtual bool Skip (Type type, string protocolName)
case "ASMigrationDisplayItem":
case "ASPickerDisplayItem":
case "PKAddCarKeyPassConfiguration":
+ case "PKAddIdentityDocumentConfiguration":
case "PKAddSecureElementPassConfiguration":
case "PKAddShareablePassConfiguration":
+ case "PKAddPassMetadataPreview":
+ case "PKIdentityDocumentMetadata":
+ case "PKJapanIndividualNumberCardMetadata":
+ case "PKPassRelevantDate":
case "ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput":
case "ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput":
case "ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput":
@@ -398,6 +403,11 @@ protected virtual bool Skip (Type type, string protocolName)
case "QLFileThumbnailRequest":
case "QLThumbnailReply":
case "PHPickerResult":
+ case "PKAddIdentityDocumentConfiguration":
+ case "PKAddPassMetadataPreview":
+ case "PKIdentityDocumentMetadata":
+ case "PKJapanIndividualNumberCardMetadata":
+ case "PKPassRelevantDate":
case "ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput":
case "ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput":
case "ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput":
@@ -598,6 +608,11 @@ protected virtual bool Skip (Type type, string protocolName)
case "QLFileThumbnailRequest":
case "QLThumbnailReply":
case "PHPickerResult":
+ case "PKAddIdentityDocumentConfiguration":
+ case "PKAddPassMetadataPreview":
+ case "PKIdentityDocumentMetadata":
+ case "PKJapanIndividualNumberCardMetadata":
+ case "PKPassRelevantDate":
case "ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput":
case "ASAuthorizationPublicKeyCredentialLargeBlobAssertionOutput":
case "ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput":
diff --git a/tests/monotouch-test/PassKit/PKJapanIndividualNumberCardMetadataTest.cs b/tests/monotouch-test/PassKit/PKJapanIndividualNumberCardMetadataTest.cs
new file mode 100644
index 000000000000..5adfede4cbc9
--- /dev/null
+++ b/tests/monotouch-test/PassKit/PKJapanIndividualNumberCardMetadataTest.cs
@@ -0,0 +1,53 @@
+//
+// Unit tests for PKJapanIndividualNumberCardMetadata
+//
+
+#if HAS_PASSKIT
+using System;
+
+using Foundation;
+using CoreGraphics;
+using ObjCRuntime;
+using PassKit;
+
+using NUnit.Framework;
+
+using Xamarin.Utils;
+
+namespace MonoTouchFixtures.PassKit {
+
+ [TestFixture]
+ [Preserve (AllMembers = true)]
+ public class PKJapanIndividualNumberCardMetadataTest {
+ [Test]
+ public void Ctor_CardTemplateIdentifier ()
+ {
+ TestRuntime.AssertXcodeVersion (16, 0);
+ var frame = new CGSize (32, 32);
+ using var provider = new CGDataProvider (new byte [(int) frame.Width * (int) frame.Height * 4]);
+ using var colorSpace = CGColorSpace.CreateWithName (CGColorSpaceNames.Itur_2100_PQ);
+ using var img = new CGImage (0.0f, (int) frame.Width, (int) frame.Height, 8, 32, 4 * (int) frame.Width, colorSpace, CGBitmapFlags.ByteOrderDefault | CGBitmapFlags.Last, provider, null, false, CGColorRenderingIntent.Default);
+ using var preview = new PKAddPassMetadataPreview (img, "description");
+ using var obj = new PKJapanIndividualNumberCardMetadata ("credentialIdentifier", "sharingInstanceIdentifier", "cardTemplateIdentifier", preview, PKJapanIndividualNumberCardMetadataConstructorOption.CardTemplateIdentifier);
+ Assert.IsNull (obj.AuthenticationPassword, "AuthenticationPassword");
+ Assert.IsNull (obj.SigningPassword, "SigningPassword");
+ // There doesn't seem to be an easy way to verify that the ctor actually worked
+ }
+
+ [Test]
+ public void Ctor_CardConfigurationIdentifier ()
+ {
+ TestRuntime.AssertXcodeVersion (16, 0);
+ var frame = new CGSize (32, 32);
+ using var provider = new CGDataProvider (new byte [(int) frame.Width * (int) frame.Height * 4]);
+ using var colorSpace = CGColorSpace.CreateWithName (CGColorSpaceNames.Itur_2100_PQ);
+ using var img = new CGImage (0.0f, (int) frame.Width, (int) frame.Height, 8, 32, 4 * (int) frame.Width, colorSpace, CGBitmapFlags.ByteOrderDefault | CGBitmapFlags.Last, provider, null, false, CGColorRenderingIntent.Default);
+ using var preview = new PKAddPassMetadataPreview (img, "description");
+ using var obj = new PKJapanIndividualNumberCardMetadata ("credentialIdentifier", "sharingInstanceIdentifier", "cardConfigurationIdentifier", preview, PKJapanIndividualNumberCardMetadataConstructorOption.CardConfigurationIdentifier);
+ Assert.IsNull (obj.AuthenticationPassword, "AuthenticationPassword");
+ Assert.IsNull (obj.SigningPassword, "SigningPassword");
+ // There doesn't seem to be an easy way to verify that the ctor actually worked
+ }
+ }
+}
+#endif // HAS_PASSKIT
diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-PassKit.ignore b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-PassKit.ignore
index e77d4c46d9e5..b457d98ac386 100644
--- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-PassKit.ignore
+++ b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-PassKit.ignore
@@ -10,3 +10,6 @@
# Breaking change, but added in XAMCORE_5_0
!incorrect-protocol-member! PKAddSecureElementPassViewControllerDelegate::addSecureElementPassViewController:didFinishAddingSecureElementPass:error: is OPTIONAL and should NOT be abstract
+
+# No longer used enum, will be removed in XAMCORE_5_0
+!unknown-native-enum! PKDisbursementRequestSchedule bound
diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-PassKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-PassKit.todo
deleted file mode 100644
index 752ea3c1a505..000000000000
--- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-PassKit.todo
+++ /dev/null
@@ -1,54 +0,0 @@
-!missing-selector! +PKDisbursementRequest::disbursementCardUnsupportedError not bound
-!missing-selector! +PKDisbursementRequest::disbursementContactInvalidErrorWithContactField:localizedDescription: not bound
-!missing-selector! PKDisbursementRequest::applicationData not bound
-!missing-selector! PKDisbursementRequest::initWithMerchantIdentifier:currencyCode:regionCode:supportedNetworks:merchantCapabilities:summaryItems: not bound
-!missing-selector! PKDisbursementRequest::merchantCapabilities not bound
-!missing-selector! PKDisbursementRequest::merchantIdentifier not bound
-!missing-selector! PKDisbursementRequest::recipientContact not bound
-!missing-selector! PKDisbursementRequest::regionCode not bound
-!missing-selector! PKDisbursementRequest::requiredRecipientContactFields not bound
-!missing-selector! PKDisbursementRequest::setApplicationData: not bound
-!missing-selector! PKDisbursementRequest::setMerchantCapabilities: not bound
-!missing-selector! PKDisbursementRequest::setMerchantIdentifier: not bound
-!missing-selector! PKDisbursementRequest::setRecipientContact: not bound
-!missing-selector! PKDisbursementRequest::setRegionCode: not bound
-!missing-selector! PKDisbursementRequest::setRequiredRecipientContactFields: not bound
-!missing-selector! PKDisbursementRequest::setSupportedNetworks: not bound
-!missing-selector! PKDisbursementRequest::setSupportedRegions: not bound
-!missing-selector! PKDisbursementRequest::supportedNetworks not bound
-!missing-selector! PKDisbursementRequest::supportedRegions not bound
-!unknown-native-enum! PKDisbursementRequestSchedule bound
-!deprecated-attribute-missing! PKPass::relevantDate missing a [Deprecated] attribute
-!missing-enum-value! PKIdentityError native value PKIdentityErrorRegionNotSupported = 8 not bound
-!missing-field! PKMerchantCategoryCodeNone not bound
-!missing-selector! +PKAddIdentityDocumentConfiguration::configurationForMetadata:completion: not bound
-!missing-selector! +PKAddPassMetadataPreview::previewWithPassThumbnail:localizedDescription: not bound
-!missing-selector! PKAddIdentityDocumentConfiguration::metadata not bound
-!missing-selector! PKAddPassMetadataPreview::initWithPassThumbnail:localizedDescription: not bound
-!missing-selector! PKAddPassMetadataPreview::localizedDescription not bound
-!missing-selector! PKAddPassMetadataPreview::passThumbnailImage not bound
-!missing-selector! PKIdentityNationalIDCardDescriptor::regionCode not bound
-!missing-selector! PKIdentityNationalIDCardDescriptor::setRegionCode: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::authenticationPassword not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardConfigurationIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardTemplateIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::preview not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setAuthenticationPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setPreview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setSigningPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::signingPassword not bound
-!missing-selector! PKPass::relevantDates not bound
-!missing-selector! PKPaymentRequest::merchantCategoryCode not bound
-!missing-selector! PKPaymentRequest::setMerchantCategoryCode: not bound
-!missing-type! PKAddIdentityDocumentConfiguration not bound
-!missing-type! PKAddPassMetadataPreview not bound
-!missing-type! PKIdentityDocumentMetadata not bound
-!missing-type! PKIdentityNationalIDCardDescriptor not bound
-!missing-type! PKJapanIndividualNumberCardMetadata not bound
-!wrong-base-type! PKShareablePassMetadataPreview expected PKAddPassMetadataPreview actual NSObject
-!missing-selector! PKIdentityDocumentMetadata::cardConfigurationIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::cardTemplateIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::credentialIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::serverEnvironmentIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::setServerEnvironmentIdentifier: not bound
-!missing-selector! PKIdentityDocumentMetadata::sharingInstanceIdentifier not bound
diff --git a/tests/xtro-sharpie/api-annotations-dotnet/common-PassKit.ignore b/tests/xtro-sharpie/api-annotations-dotnet/common-PassKit.ignore
index 2e09a571d21c..c00b9fd06b6a 100644
--- a/tests/xtro-sharpie/api-annotations-dotnet/common-PassKit.ignore
+++ b/tests/xtro-sharpie/api-annotations-dotnet/common-PassKit.ignore
@@ -6,3 +6,6 @@
!extra-null-allowed! 'System.Void PassKit.PKPaymentRequest::set_SupportedNetworks(Foundation.NSString[])' has a extraneous [NullAllowed] on parameter #0
!extra-null-allowed! 'System.Void PassKit.PKPaymentSummaryItem::set_Amount(Foundation.NSDecimalNumber)' has a extraneous [NullAllowed] on parameter #0
!extra-null-allowed! 'System.Void PassKit.PKPaymentSummaryItem::set_Label(System.String)' has a extraneous [NullAllowed] on parameter #0
+
+# This is weird, the header is there, the type is there, it's documented on Apple's web site, but xtro seems to think it's not. Possibly because the header is not included in the umbrella header?
+!unknown-type! PKPassRelevantDate bound
diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-PassKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-PassKit.todo
deleted file mode 100644
index 58baeacc0c6f..000000000000
--- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-PassKit.todo
+++ /dev/null
@@ -1,34 +0,0 @@
-!deprecated-attribute-missing! PKPass::relevantDate missing a [Deprecated] attribute
-!missing-enum-value! PKIdentityError native value PKIdentityErrorRegionNotSupported = 8 not bound
-!missing-field! PKMerchantCategoryCodeNone not bound
-!missing-selector! +PKAddIdentityDocumentConfiguration::configurationForMetadata:completion: not bound
-!missing-selector! +PKAddPassMetadataPreview::previewWithPassThumbnail:localizedDescription: not bound
-!missing-selector! PKAddIdentityDocumentConfiguration::metadata not bound
-!missing-selector! PKAddPassMetadataPreview::initWithPassThumbnail:localizedDescription: not bound
-!missing-selector! PKAddPassMetadataPreview::localizedDescription not bound
-!missing-selector! PKAddPassMetadataPreview::passThumbnailImage not bound
-!missing-selector! PKIdentityNationalIDCardDescriptor::regionCode not bound
-!missing-selector! PKIdentityNationalIDCardDescriptor::setRegionCode: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::authenticationPassword not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardConfigurationIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardTemplateIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::preview not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setAuthenticationPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setPreview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setSigningPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::signingPassword not bound
-!missing-selector! PKPass::relevantDates not bound
-!missing-selector! PKPaymentRequest::merchantCategoryCode not bound
-!missing-selector! PKPaymentRequest::setMerchantCategoryCode: not bound
-!missing-type! PKAddIdentityDocumentConfiguration not bound
-!missing-type! PKAddPassMetadataPreview not bound
-!missing-type! PKIdentityDocumentMetadata not bound
-!missing-type! PKIdentityNationalIDCardDescriptor not bound
-!missing-type! PKJapanIndividualNumberCardMetadata not bound
-!wrong-base-type! PKShareablePassMetadataPreview expected PKAddPassMetadataPreview actual NSObject
-!missing-selector! PKIdentityDocumentMetadata::cardConfigurationIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::cardTemplateIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::credentialIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::serverEnvironmentIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::setServerEnvironmentIdentifier: not bound
-!missing-selector! PKIdentityDocumentMetadata::sharingInstanceIdentifier not bound
diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-PassKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-PassKit.todo
deleted file mode 100644
index 238ed0896140..000000000000
--- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-PassKit.todo
+++ /dev/null
@@ -1,64 +0,0 @@
-!deprecated-attribute-missing! PKPass::relevantDate missing a [Deprecated] attribute
-!missing-enum! PKDisbursementErrorCode not bound
-!missing-field! PKDisbursementErrorContactFieldUserInfoKey not bound
-!missing-field! PKDisbursementErrorDomain not bound
-!missing-field! PKMerchantCategoryCodeNone not bound
-!missing-selector! +PKAddIdentityDocumentConfiguration::configurationForMetadata:completion: not bound
-!missing-selector! +PKAddPassMetadataPreview::previewWithPassThumbnail:localizedDescription: not bound
-!missing-selector! +PKDisbursementRequest::disbursementCardUnsupportedError not bound
-!missing-selector! +PKDisbursementRequest::disbursementContactInvalidErrorWithContactField:localizedDescription: not bound
-!missing-selector! +PKPaymentAuthorizationViewController::supportsDisbursements not bound
-!missing-selector! +PKPaymentAuthorizationViewController::supportsDisbursementsUsingNetworks: not bound
-!missing-selector! +PKPaymentAuthorizationViewController::supportsDisbursementsUsingNetworks:capabilities: not bound
-!missing-selector! PKAddIdentityDocumentConfiguration::metadata not bound
-!missing-selector! PKAddPassMetadataPreview::initWithPassThumbnail:localizedDescription: not bound
-!missing-selector! PKAddPassMetadataPreview::localizedDescription not bound
-!missing-selector! PKAddPassMetadataPreview::passThumbnailImage not bound
-!missing-selector! PKDisbursementRequest::applicationData not bound
-!missing-selector! PKDisbursementRequest::currencyCode not bound
-!missing-selector! PKDisbursementRequest::initWithMerchantIdentifier:currencyCode:regionCode:supportedNetworks:merchantCapabilities:summaryItems: not bound
-!missing-selector! PKDisbursementRequest::merchantCapabilities not bound
-!missing-selector! PKDisbursementRequest::merchantIdentifier not bound
-!missing-selector! PKDisbursementRequest::recipientContact not bound
-!missing-selector! PKDisbursementRequest::regionCode not bound
-!missing-selector! PKDisbursementRequest::requiredRecipientContactFields not bound
-!missing-selector! PKDisbursementRequest::setApplicationData: not bound
-!missing-selector! PKDisbursementRequest::setCurrencyCode: not bound
-!missing-selector! PKDisbursementRequest::setMerchantCapabilities: not bound
-!missing-selector! PKDisbursementRequest::setMerchantIdentifier: not bound
-!missing-selector! PKDisbursementRequest::setRecipientContact: not bound
-!missing-selector! PKDisbursementRequest::setRegionCode: not bound
-!missing-selector! PKDisbursementRequest::setRequiredRecipientContactFields: not bound
-!missing-selector! PKDisbursementRequest::setSummaryItems: not bound
-!missing-selector! PKDisbursementRequest::setSupportedNetworks: not bound
-!missing-selector! PKDisbursementRequest::setSupportedRegions: not bound
-!missing-selector! PKDisbursementRequest::summaryItems not bound
-!missing-selector! PKDisbursementRequest::supportedNetworks not bound
-!missing-selector! PKDisbursementRequest::supportedRegions not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::authenticationPassword not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardConfigurationIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardTemplateIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::preview not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setAuthenticationPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setPreview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setSigningPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::signingPassword not bound
-!missing-selector! PKPass::relevantDates not bound
-!missing-selector! PKPaymentAuthorizationController::initWithDisbursementRequest: not bound
-!missing-selector! PKPaymentAuthorizationViewController::initWithDisbursementRequest: not bound
-!missing-selector! PKPaymentRequest::merchantCategoryCode not bound
-!missing-selector! PKPaymentRequest::setMerchantCategoryCode: not bound
-!missing-type! PKAddIdentityDocumentConfiguration not bound
-!missing-type! PKAddPassMetadataPreview not bound
-!missing-type! PKDisbursementRequest not bound
-!missing-type! PKDisbursementSummaryItem not bound
-!missing-type! PKIdentityDocumentMetadata not bound
-!missing-type! PKInstantFundsOutFeeSummaryItem not bound
-!missing-type! PKJapanIndividualNumberCardMetadata not bound
-!wrong-base-type! PKShareablePassMetadataPreview expected PKAddPassMetadataPreview actual NSObject
-!missing-selector! PKIdentityDocumentMetadata::cardConfigurationIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::cardTemplateIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::credentialIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::serverEnvironmentIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::setServerEnvironmentIdentifier: not bound
-!missing-selector! PKIdentityDocumentMetadata::sharingInstanceIdentifier not bound
diff --git a/tests/xtro-sharpie/common-PassKit.ignore b/tests/xtro-sharpie/common-PassKit.ignore
index 683d336b2ad9..c7d30ad5b6bf 100644
--- a/tests/xtro-sharpie/common-PassKit.ignore
+++ b/tests/xtro-sharpie/common-PassKit.ignore
@@ -10,3 +10,6 @@
!extra-null-allowed! 'System.Void PassKit.PKPaymentRequest::set_SupportedNetworks(Foundation.NSString[])' has a extraneous [NullAllowed] on parameter #0
!extra-null-allowed! 'System.Void PassKit.PKPaymentSummaryItem::set_Amount(Foundation.NSDecimalNumber)' has a extraneous [NullAllowed] on parameter #0
!extra-null-allowed! 'System.Void PassKit.PKPaymentSummaryItem::set_Label(System.String)' has a extraneous [NullAllowed] on parameter #0
+
+# This is weird, the header is there, the type is there, it's documented on Apple's web site, but xtro seems to think it's not. Possibly because the header is not included in the umbrella header?
+!unknown-type! PKPassRelevantDate bound
diff --git a/tests/xtro-sharpie/iOS-PassKit.todo b/tests/xtro-sharpie/iOS-PassKit.todo
deleted file mode 100644
index 58baeacc0c6f..000000000000
--- a/tests/xtro-sharpie/iOS-PassKit.todo
+++ /dev/null
@@ -1,34 +0,0 @@
-!deprecated-attribute-missing! PKPass::relevantDate missing a [Deprecated] attribute
-!missing-enum-value! PKIdentityError native value PKIdentityErrorRegionNotSupported = 8 not bound
-!missing-field! PKMerchantCategoryCodeNone not bound
-!missing-selector! +PKAddIdentityDocumentConfiguration::configurationForMetadata:completion: not bound
-!missing-selector! +PKAddPassMetadataPreview::previewWithPassThumbnail:localizedDescription: not bound
-!missing-selector! PKAddIdentityDocumentConfiguration::metadata not bound
-!missing-selector! PKAddPassMetadataPreview::initWithPassThumbnail:localizedDescription: not bound
-!missing-selector! PKAddPassMetadataPreview::localizedDescription not bound
-!missing-selector! PKAddPassMetadataPreview::passThumbnailImage not bound
-!missing-selector! PKIdentityNationalIDCardDescriptor::regionCode not bound
-!missing-selector! PKIdentityNationalIDCardDescriptor::setRegionCode: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::authenticationPassword not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardConfigurationIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardTemplateIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::preview not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setAuthenticationPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setPreview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setSigningPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::signingPassword not bound
-!missing-selector! PKPass::relevantDates not bound
-!missing-selector! PKPaymentRequest::merchantCategoryCode not bound
-!missing-selector! PKPaymentRequest::setMerchantCategoryCode: not bound
-!missing-type! PKAddIdentityDocumentConfiguration not bound
-!missing-type! PKAddPassMetadataPreview not bound
-!missing-type! PKIdentityDocumentMetadata not bound
-!missing-type! PKIdentityNationalIDCardDescriptor not bound
-!missing-type! PKJapanIndividualNumberCardMetadata not bound
-!wrong-base-type! PKShareablePassMetadataPreview expected PKAddPassMetadataPreview actual NSObject
-!missing-selector! PKIdentityDocumentMetadata::cardConfigurationIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::cardTemplateIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::credentialIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::serverEnvironmentIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::setServerEnvironmentIdentifier: not bound
-!missing-selector! PKIdentityDocumentMetadata::sharingInstanceIdentifier not bound
diff --git a/tests/xtro-sharpie/macOS-PassKit.todo b/tests/xtro-sharpie/macOS-PassKit.todo
deleted file mode 100644
index 238ed0896140..000000000000
--- a/tests/xtro-sharpie/macOS-PassKit.todo
+++ /dev/null
@@ -1,64 +0,0 @@
-!deprecated-attribute-missing! PKPass::relevantDate missing a [Deprecated] attribute
-!missing-enum! PKDisbursementErrorCode not bound
-!missing-field! PKDisbursementErrorContactFieldUserInfoKey not bound
-!missing-field! PKDisbursementErrorDomain not bound
-!missing-field! PKMerchantCategoryCodeNone not bound
-!missing-selector! +PKAddIdentityDocumentConfiguration::configurationForMetadata:completion: not bound
-!missing-selector! +PKAddPassMetadataPreview::previewWithPassThumbnail:localizedDescription: not bound
-!missing-selector! +PKDisbursementRequest::disbursementCardUnsupportedError not bound
-!missing-selector! +PKDisbursementRequest::disbursementContactInvalidErrorWithContactField:localizedDescription: not bound
-!missing-selector! +PKPaymentAuthorizationViewController::supportsDisbursements not bound
-!missing-selector! +PKPaymentAuthorizationViewController::supportsDisbursementsUsingNetworks: not bound
-!missing-selector! +PKPaymentAuthorizationViewController::supportsDisbursementsUsingNetworks:capabilities: not bound
-!missing-selector! PKAddIdentityDocumentConfiguration::metadata not bound
-!missing-selector! PKAddPassMetadataPreview::initWithPassThumbnail:localizedDescription: not bound
-!missing-selector! PKAddPassMetadataPreview::localizedDescription not bound
-!missing-selector! PKAddPassMetadataPreview::passThumbnailImage not bound
-!missing-selector! PKDisbursementRequest::applicationData not bound
-!missing-selector! PKDisbursementRequest::currencyCode not bound
-!missing-selector! PKDisbursementRequest::initWithMerchantIdentifier:currencyCode:regionCode:supportedNetworks:merchantCapabilities:summaryItems: not bound
-!missing-selector! PKDisbursementRequest::merchantCapabilities not bound
-!missing-selector! PKDisbursementRequest::merchantIdentifier not bound
-!missing-selector! PKDisbursementRequest::recipientContact not bound
-!missing-selector! PKDisbursementRequest::regionCode not bound
-!missing-selector! PKDisbursementRequest::requiredRecipientContactFields not bound
-!missing-selector! PKDisbursementRequest::setApplicationData: not bound
-!missing-selector! PKDisbursementRequest::setCurrencyCode: not bound
-!missing-selector! PKDisbursementRequest::setMerchantCapabilities: not bound
-!missing-selector! PKDisbursementRequest::setMerchantIdentifier: not bound
-!missing-selector! PKDisbursementRequest::setRecipientContact: not bound
-!missing-selector! PKDisbursementRequest::setRegionCode: not bound
-!missing-selector! PKDisbursementRequest::setRequiredRecipientContactFields: not bound
-!missing-selector! PKDisbursementRequest::setSummaryItems: not bound
-!missing-selector! PKDisbursementRequest::setSupportedNetworks: not bound
-!missing-selector! PKDisbursementRequest::setSupportedRegions: not bound
-!missing-selector! PKDisbursementRequest::summaryItems not bound
-!missing-selector! PKDisbursementRequest::supportedNetworks not bound
-!missing-selector! PKDisbursementRequest::supportedRegions not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::authenticationPassword not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardConfigurationIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:cardTemplateIdentifier:preview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::preview not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setAuthenticationPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setPreview: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::setSigningPassword: not bound
-!missing-selector! PKJapanIndividualNumberCardMetadata::signingPassword not bound
-!missing-selector! PKPass::relevantDates not bound
-!missing-selector! PKPaymentAuthorizationController::initWithDisbursementRequest: not bound
-!missing-selector! PKPaymentAuthorizationViewController::initWithDisbursementRequest: not bound
-!missing-selector! PKPaymentRequest::merchantCategoryCode not bound
-!missing-selector! PKPaymentRequest::setMerchantCategoryCode: not bound
-!missing-type! PKAddIdentityDocumentConfiguration not bound
-!missing-type! PKAddPassMetadataPreview not bound
-!missing-type! PKDisbursementRequest not bound
-!missing-type! PKDisbursementSummaryItem not bound
-!missing-type! PKIdentityDocumentMetadata not bound
-!missing-type! PKInstantFundsOutFeeSummaryItem not bound
-!missing-type! PKJapanIndividualNumberCardMetadata not bound
-!wrong-base-type! PKShareablePassMetadataPreview expected PKAddPassMetadataPreview actual NSObject
-!missing-selector! PKIdentityDocumentMetadata::cardConfigurationIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::cardTemplateIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::credentialIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::serverEnvironmentIdentifier not bound
-!missing-selector! PKIdentityDocumentMetadata::setServerEnvironmentIdentifier: not bound
-!missing-selector! PKIdentityDocumentMetadata::sharingInstanceIdentifier not bound
diff --git a/tests/xtro-sharpie/watchOS-PassKit.todo b/tests/xtro-sharpie/watchOS-PassKit.todo
index b337cd0b11d8..f3ee20bafb95 100644
--- a/tests/xtro-sharpie/watchOS-PassKit.todo
+++ b/tests/xtro-sharpie/watchOS-PassKit.todo
@@ -1,12 +1,3 @@
-!missing-enum! PKAutomaticPassPresentationSuppressionResult not bound
-!missing-selector! +PKPassLibrary::endAutomaticPassPresentationSuppressionWithRequestToken: not bound
-!missing-selector! +PKPassLibrary::isSuppressingAutomaticPassPresentation not bound
-!missing-selector! +PKPassLibrary::requestAutomaticPassPresentationSuppressionWithResponseHandler: not bound
-!deprecated-attribute-missing! PKPass::relevantDate missing a [Deprecated] attribute
!missing-enum! PKIdentityError not bound
!missing-field! PKIdentityErrorDomain not bound
-!missing-field! PKMerchantCategoryCodeNone not bound
-!missing-selector! PKPass::relevantDates not bound
-!missing-selector! PKPaymentRequest::merchantCategoryCode not bound
-!missing-selector! PKPaymentRequest::setMerchantCategoryCode: not bound
!missing-selector! PKPaymentAuthorizationController::initWithDisbursementRequest: not bound