首页 > 解决方案 > Apple Pay 应用内配置中的设备选择

问题描述

我在一家金融科技公司工作,该公司为我们的卡中的 Apple Pay 提供支持,即我们的用户可以选择使用我们的应用程序(应用内配置)将他们的卡添加到 Apple Pay。我们公司已经从 Apple 获得了适当的应用内配置权利,并且整个应用内配置过程按预期工作。

当用户在我们的应用程序中点击“添加到 Apple Wallet”按钮以配置他的卡时,我们调用以下代码:

let config = PKAddPaymentPassRequestConfiguration()
config.cardholderName = "\(firstName) \(lastName)"
config.localizedDescription = "MyApp Card"
config.primaryAccountSuffix = String(cardSuffix)
config.paymentNetwork = .visa

// Present the Apple Pay ViewController
let controller = PKAddPaymentPassViewController(requestConfiguration: config, delegate: self)
UIApplication.shared.delegate?.window??.rootViewController?.present(controller!, animated: true)

如果用户配对了 Apple Watch,他会看到一个屏幕,要求他选择要在哪个设备上添加卡片:在他的 iPhone 上或 Apple Watch 上(请参阅随附的屏幕截图)。用户选择设备后,预配过程按预期成功继续。

但是,如果用户点击“添加到 Apple Wallet”按钮,并且他已经将卡片添加到其中一台设备(例如 Apple Watch),则再次调用上面的代码,但再次向他打招呼同一个屏幕要求他选择要在哪些设备上添加卡片,在 iPhone 上还是在 Apple Watch 上,即使卡片已经添加到 Apple Watch 上。

据我了解,由于 Apple Watch 上已经添加了卡片,因此只有 iPhone 应该作为添加卡片的有效选项出现。

在上面的代码中我还需要做些什么来确保在设备选择中只列出可用的设备(我的意思是,只有尚未在 Apple Pay 上添加卡的设备)?

标签: iosswiftapplepay

解决方案


推荐阅读