- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在为我的应用程序实现 Apple Pay。虽然我已经弄清楚了大部分内容,但我无法关闭进行身份验证的 PKPaymentAuthorizationViewController。这是我的代码..
-(void) viewDidAppear:(BOOL)animated {
// request is initialized here.
paymentPane = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
//paymentPane is not nil.
paymentPane.delegate = self;
[self presentViewController:paymentPane animated:TRUE completion:nil];
}
调用上述函数并成功呈现 Apple Pay View Controller 以验证支付。我已经从委托(delegate)中实现了以下方法,如下所示:
-(void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller {
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus))completion {
NSLog(@"%@", [payment.token description]);
completion(PKPaymentAuthorizationStatusSuccess);
}
理想情况下,它首先点击 didAuthorizePayment,在那里我们验证支付,如果成功则传递成功,然后调用 paymentAuthorizationViewControllerDidFinish 并用于完成交易并隐藏 Apple View Controller。我在那里设置了断点,它同时触发了两个函数,但 ViewController 并没有消失。即使您点击 Apple Pay View 中的“取消”按钮,它也不会运行。
我的类声明如下,并实现了所需的委托(delegate)。
@interface ApplePayManager : UIViewController<PKPaymentAuthorizationViewControllerDelegate, UIAlertViewDelegate>
对我做错了什么有什么想法吗?为什么 View Controller 不解散?
最后,我对 iOS 有点陌生。所以我很感激指南和/或链接来澄清我的疑虑!
已经看过: http://www.raywenderlich.com/87300/apple-pay-tutorial https://dzone.com/articles/integrating-your-ios-app-apple
最佳答案
这成功了。我的队友发现了这个解决方案。事实证明,我们在其上显示 ApplePay View 的 ViewController 不是 rootVC。因此,将它切换到 rootVC 是可行的。
UIViewController *rootViewController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
[rootViewController presentViewController:paymentPane animated:TRUE completion:nil];
关于ios - 无法关闭 PKPaymentAuthorizationViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33905287/
我正在尝试显示一个 PKPaymentAuthorizationViewController,它不是零但没有显示。我以前工作过,但现在不工作了。权利和商家 ID 似乎不错。这是我的初始化代码(没有无用
我正在为我的应用程序实现 Apple Pay。虽然我已经弄清楚了大部分内容,但我无法关闭进行身份验证的 PKPaymentAuthorizationViewController。这是我的代码.. -(
我正在尝试为我的应用程序设置 Apple Pay,但出于某种原因,PKPaymentViewController 总是返回为 nil(如果代码中的语句是为了测试这个)?有什么想法吗? @IBActio
我正在尝试在我的应用程序中使用 Apple Pay。呈现 PKPaymentAuthorizationViewController 效果很好。然而,在我填写信用卡和账单信息后,它只显示一个纺车和“处理
我已经访问过这个答案和 the present method proposed here不起作用(不再?)。当我使用 UIViewControllerRepresentable然后将其显示为一张看起来
我在初始化PKPaymentAuthorizationViewController的设备之一中返回nil时遇到问题。 设备区域设置为英国,我在Apple Wallet中添加了英国发行的卡。 PKPay
我正在使用 ApplePay 并需要电子邮件作为联系信息。当我尝试接收电子邮件时,我收到的电子邮件结果是“Shipping”,我什至不知道它来自哪里。 我在请求中有必填的电子邮件字段,并填写了电子邮件
我正在使用 applePay,一切正常。它在模拟器的沙盒环境中启动(我国的设备不支持),点击 passCode 付款后,将进入 Passkit didAuthorizeViewController 的
我正在获取返回为 nil 的 PK 支付授权 View Controller 实例。这段代码有什么问题? if([PKPaymentAuthorizationViewController canMak
每当 PKPaymentAuthorizationViewController 因任何原因被关闭时,Apple Pay 都会调用以下委托(delegate)。有什么方法可以检测只是 Cancel 按钮
背景:我在 iOS 8.2、8.3 上使用了相同的代码,它们运行良好。 PKPaymentAuthorizationViewController *paymentPane = [[PKPaymentA
我正在尝试在我的应用程序中实现 Apple Pay。我设置了我的商家 ID 两次,并通过 CocoaPods 安装了 Stripe、Stripe-Apple Pay。每次我尝试在我的设备上运行该应用程
使用下面的标准 UIAlertView 代码将在 Apple Pay PKPaymentAuthorizationViewController 表下方显示警报。 [[[UIAlertView allo
我们的应用程序已实现 ApplePay 多年。就在最近,我点击按钮触发它,却发现 PKPaymentAuthorizationViewController 的付款单没有出现。在沙箱(即模拟器或连接Xc
我正在使用 PKPaymentAuthorizationViewController 及其委托(delegate)方法集成 Apple Pay。当用户更改地址时,将触发以下委托(delegate)方法
我是一名优秀的程序员,十分优秀!