【发布时间】:2019-10-25 17:57:23
【问题描述】:
我们的应用程序已实施 ApplePay 多年。就在最近,我按下按钮触发它,只发现PKPaymentAuthorizationViewController 的工资单没有出现。它不会在沙箱(即连接到 Xcode 的模拟器或设备)环境中向上滑动,但放置断点表明它正在成功创建。我已经有一段时间没有测试过了,但我怀疑 Xcode11 或 iOS 13 会发生一些变化。
我的代码是非常标准的 Apple Pay,但发布在下面。
let item = PKPaymentSummaryItem()
item.label = "Our Label"
let price = NSDecimalNumber(mantissa: UInt64(totalPrice), exponent: -2, isNegative: false)
item.amount = price
items.append(item)
request.paymentSummaryItems = items
if let applePayController = PKPaymentAuthorizationViewController(paymentRequest: request) {
applePayController.delegate = self
present(applePayController, animated: true)
}
【问题讨论】:
-
我遇到了同样的问题。这似乎是一个模拟器错误 - 尝试在实际设备上运行它。
-
不幸的是,我确实这样做了。完成了创建沙盒测试器的过程,将沙盒信用卡添加到 Apple 列表中的设备。但是,即使在设备上也没有显示面板。在“present()”处放置断点表明它被一个非零对象调用,但没有出现。
-
我遇到了同样的问题,但我在目标 c- 中做到了,如果你想看到我可以附在下面
-
尝试清除您的派生数据文件夹并重建您的应用程序,看看是否有帮助。在 present(applePayController, animated: true) 之前设置断点以查看它是否被调用或删除打印语句以查看它是否被调用。
-
这是 Xcode 11 + iOS 13 上的模拟器错误。刚刚在 Xcode 11.2 beta 2 上测试过,现在可以正常工作了????