ApplePay `paymentAuthorizationViewController:didAuthorizePayment:handler:` 未在 Xcode Simulator 10.3 中

Posted

技术标签:

【中文标题】ApplePay `paymentAuthorizationViewController:didAuthorizePayment:handler:` 未在 Xcode Simulator 10.3 中调用【英文标题】:ApplePay `paymentAuthorizationViewController:didAuthorizePayment:handler:` not called in Xcode Simulator 10.3 【发布时间】:2019-07-29 20:17:26 【问题描述】:

ApplePay 的 PKPaymentAuthorizationViewControllerDelegate 方法 paymentAuthorizationViewController:didAuthorizePayment:handler: 在 Xcode 10.3 模拟器上运行时不会被调用。

在使用 Xcode 10.3 构建到设备时会按预期调用此方法。

此方法在 Xcode 10.2.1 模拟器中按预期调用。

已弃用的方法 paymentAuthorizationViewController:didAuthorizePayment:completion: 表现出相同的负面行为。

基于它适用于设备和旧版本 Xcode 的事实,我确信我的实现是正确的,除非我遗漏了一些改变的东西。有谁知道如何为 Xcode 10.3 模拟器解决这个问题?

【问题讨论】:

@matt 在设备上进行测试并非总是可行的。它可以在以前版本的 Xcode 中的模拟器上运行,所以我希望它仍然可以在最新版本的 Xcode 上运行。 嗯,很多东西只能在设备上运行。这很烦人,可能是一个错误。我仍然没有看到你所说的隐藏在哪里有 Stack Overflow 问题。 在支付测试方面,建议改为在物理设备上进行测试。我遇到了几个案例,甚至调用了 didAuthorizePayment:handler:,返回的令牌是空的,所以进一步进行是没有用的 【参考方案1】:

这已在 Xcode 11.3 中修复。

【讨论】:

以上是关于ApplePay `paymentAuthorizationViewController:didAuthorizePayment:handler:` 未在 Xcode Simulator 10.3 中的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发ApplePay的介绍与实现

ti.applepay 与 ti.paypal 哪个更好?

Stripe.applePay.checkAvailability 在移动 Safari 中返回 false

applepay丢失模式后恢复

有关支付的相关知识学习ApplePay和支付宝

沙盒环境中的 iOS ApplePay