Ios 如何在Apple Pay PKPaymentAuthorizationViewController上方显示UIAlertView?
使用下面的标准UIAlertView代码将在Apple Pay PKPaymentAuthorizationViewController工作表下显示警报Ios 如何在Apple Pay PKPaymentAuthorizationViewController上方显示UIAlertView?,ios,objective-c,applepay,Ios,Objective C,Applepay,使用下面的标准UIAlertView代码将在Apple Pay PKPaymentAuthorizationViewController工作表下显示警报 如何在付款授权单上方显示?或者,是否有其他方式为Apple Pay显示错误消息?我想在用户输入无效的发货地址时给出具体的错误消息。您不能在任何远程视图控制器上显示UI元素,因为这可能会危及系统的安全性。这包括PKPaymentAuthorizationViewController 阅读有关远程视图控制器的更多信息由于系统的安全性,您无法在PKP
如何在付款授权单上方显示?或者,是否有其他方式为Apple Pay显示错误消息?我想在用户输入无效的发货地址时给出具体的错误消息。您不能在任何
远程视图控制器上显示UI元素,因为这可能会危及系统的安全性。这包括PKPaymentAuthorizationViewController
阅读有关远程视图控制器的更多信息由于系统的安全性,您无法在PKPaymentAuthorizationViewController
上显示UIAlertView
PKPaymentAuthorizationViewController
的整个UI通过远程视图控制器显示。这意味着,在您提供的PKPaymentRequest之外,不可能以其他方式设置或修改此视图的内容
要处理Apple Pay错误,您必须使用PKPaymentAuthorizationViewControllerDelegate
委托方法来显示付款已成功完成或存在任何错误
对于showPKPaymentAuthorizationViewController
,
将付款视图控制器显示为:
PKPaymentAuthorizationViewController *paymentVC = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
paymentVC.delegate = self;
[self presentViewController:paymentVC animated:true completion:nil];
- 客户使用Touch ID批准购买(或者,如果失败
3次,输入他们的密码)
- 指纹图标变为微调器,标签为“处理”
- 您的代表将收到
paymentAuthorizationViewController(uquot:DidAuthorizationPayment:completion:)
回拨
- 您的应用程序与您的付款进行异步通信
处理器和网站后端,以实际与这些收费
付款细节。完成此操作后,您将调用完成
作为参数提供给您的
PKPaymentAuthorizationStatus.success或
PKPaymentAuthorizationStatus.failure,具体取决于结果
- PKPaymentAuthorizationViewController微调器将动画设置为
成功或失败图标。如果成功,将收到通知
从客户信用卡上注明费用的存折中提取
- 您的代表将收到
PaymentAuthorizationViewControllerdFinish(:)回调。那就是
负责调用Disclose(动画:completion:)以解除
付款屏幕
iOS 11中有一个新的回调用于
public func paymentAuthorizationController(_ controller: PKPaymentAuthorizationController, didAuthorizePayment payment: PKPayment,
handler completion: (PKPaymentAuthorizationResult) -> Void)
如您所见,处理程序从
completion: (PKPaymentAuthorizationStatus) -> Void)
到
从iOS 11开始,我们将在完成处理程序上获得一个带有n错误数组的status
查看更多详细信息。操作表是响应控件或操作而出现的一种特定类型的警报,它提供了一组与当前上下文相关的两个或多个选项。使用行动表让员工启动任务,或在执行潜在破坏性操作之前请求确认。在较小的屏幕上,操作表从屏幕底部向上滑动。在更大的屏幕上,一个动作表同时以弹出框的形式出现
提供一个取消按钮,如果它增加了清晰度。当用户放弃某项任务时,“取消”按钮会增强信心。取消按钮应始终包含在屏幕底部的操作表中
做出破坏性的选择。对执行破坏性或危险操作的按钮使用红色,并在操作表顶部显示这些按钮
避免在操作表中启用滚动。如果操作表有太多选项,人们必须滚动查看所有选项。滚动需要额外的时间来做出选择,如果不无意中点击按钮,很难做到这一点
有关开发人员指南,请参阅中的常量。您如何显示警报?我对applepay了解不多,但由于它是一个视图控制器,您是否在applepayviewcontroller的视图上显示警报?不确定您的部署目标。我认为与其show
ing一个UIAlertView
,不如present
ing一个UIAlertController
。只要您有要在其顶部显示警报的UIViewController
的引用,这应该不是问题。
public func paymentAuthorizationController(_ controller: PKPaymentAuthorizationController, didAuthorizePayment payment: PKPayment,
handler completion: (PKPaymentAuthorizationResult) -> Void)
completion: (PKPaymentAuthorizationStatus) -> Void)
handler completion: (PKPaymentAuthorizationResult) -> Void)