将卡片添加到 Apple Wallet

Add a card to Apple Wallet

我正在开发移动银行应用程序,只想将卡添加到 Apple Wallet。 这是我的代码:

Card *card = ...;
BOOL mayAddCard = [PKAddPaymentPassViewController canAddPaymentPass];

if(mayAddCard) {
    PKAddPaymentPassRequestConfiguration *addRequest = [[PKAddPaymentPassRequestConfiguration alloc] initWithEncryptionScheme:PKEncryptionSchemeECC_V2];
    addRequest.cardholderName = ...;
    addRequest.primaryAccountSuffix = ...;
    addRequest.localizedDescription = ...;
    addRequest.paymentNetwork = ...;

    PKAddPaymentPassViewController *vc = [[PKAddPaymentPassViewController alloc] initWithRequestConfiguration:addRequest delegate:self];

    if(vc) {
        [self presentViewController:vc animated:YES completion:nil];
    }
}

我卡在这里:

BOOL mayAddCard = [PKAddPaymentPassViewController canAddPaymentPass];
// mayAddCard == NO

首先,我是 运行 模拟器和 iPhone 6s (iOS 11),开发人员构建。我已经在开发者帐户中启用了商户 ID 和 Apple Pay 支付处理证书以及 Apple Pay 支付处理和钱包。不过,我的配置文件中没有该 Apple 私有权利。

我应该怎么做才能更进一步?

主要是,是否可以在测试版本(无需上传到 AppStore/TestFlight)上测试添加到钱包的功能?

看来完全不可能。

根据应用内配置入门指南:

十二。在 App Store 上发布之前进行测试

测试将通过使用生产环境进行。 iOS 应用程序将在必要的批准后通过生产应用程序商店分发用于测试目的。 需要注意的几点:

  • 发行方还必须在测试前向 apple-pay-provisioning@apple.com 提供 Adam ID,即应用程序的数字 Apple ID。

  • 用于测试目的的应用程序分发必须通过使用促销代码。请在此处查看有关使用促销代码限制应用程序通过 App Store 分发的更多信息。

  • 请务必select“手动发布”提交应用程序 审核,否则您可能会无意中将测试应用发布到 一般 public.

  • 测试完成后,该应用可用于 public 在 iTunes Connect 中通过 selecting“发布此版本”下载。 包含在应用程序中后对应用程序进行了更改的情况 商店进行测试,您需要在“取消此版本”中 iTunes 连接。然后,您可以将更正后的应用程序重新提交到应用程序 存储以供批准。请点击这里了解更多信息 这部分过程。

    请注意,Test Flight 目前不能用于分发应用程序内配置测试的应用程序。

您仍然可以在不使用 appstore 或 testflight 的情况下将卡片推送到 apple wallet。你必须打苹果的沙箱(QA)环境。为此,您可以要求苹果提供配置文件以将您的设备钱包更改为沙盒。然后你可以将你的测试卡推送到钱包(sanbox)。