【问题标题】:Failed to open Apple Pay sheet on iPhone 6无法在 iPhone 6 上打开 Apple Pay 表
【发布时间】:2014-10-09 02:21:17
【问题描述】:

我想制作一个示例项目,当用户单击我的应用上的“使用 Apple Pay 付款”按钮时打开 Apple Pay 工作表。

我在带有 iOs 8.1 版(包含 Apple Pay)和 Xcode 6.1 GM 的 iPhone 6 上测试我的应用程序。两者都还没有正式发布。

我按照this page 上的教程进行操作。这是我处理“使用 Apple Pay 支付”按钮的点击事件的代码:

PKPaymentRequest *request = [PKPaymentRequest new];

// Must be configured in Apple Developer Member Center
// Doesn't seem like the functionality is there yet
request.merchantIdentifier = @"my.valid.merchant.identifier";

request.countryCode = @"US";
request.currencyCode = @"USD";

// Let's go!
// if (![PKPaymentAuthorizationViewController canMakePayments]) return;
PKPaymentAuthorizationViewController *authVC = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
authVC.delegate = self;
[self presentViewController:authVC animated:YES completion:nil];

点击“使用 Apple Pay 支付”按钮,我收到此错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“应用程序试图在目标上呈现一个零模式视图控制器

检查PKPaymentAuthorizationViewController canMakePayments]时,返回false。

我不确定我的错误原因是 iPhone 的设置还是我的代码。

有人有使用 Apple Pay 的经验吗?请帮我。非常感谢。

【问题讨论】:

  • 你不觉得你评论canMakePayments很奇怪吗?如果它返回 NO 那么你为什么希望它能够工作?
  • @borrrden 我评论它是为了检查 Apple Pay 表是否显示错误消息,或者它会返回代码错误。由于缺乏文件。我只是尽量调查所有情况:(
  • 是遇到了同样的问题......

标签: ios objective-c iphone


【解决方案1】:

我在带有 iOs 8.1 版(包含 Apple Pay)的 iPhone 6 上测试我的应用程序

不,最新的测试版(iOS 8.1 Beta 2)不包含 Apple Pay。显然,他们正在开发的引擎盖下有一些东西,但它还不打算为开发人员工作。

这就是为什么[PKPaymentAuthorizationViewController canMakePayments] 返回NOauthVCnil。 Apple Pay 在设置中也不可用,release notes 中也没有提及。

【讨论】:

  • 感谢您的信息。也许我们应该等待正式发布:)
  • 我更新到 iOS 8.1.1。就我而言,“canMakePayments”返回的是。但是在展示 pkpaymentauthorizationviewcontroller 的时候,它变成了 nil...怎么办????
  • 有什么更新吗?我也面临同样的问题,但使用 Braintree + Apple Pay :(
  • @Meenu Apple Pay 已发布。这个问题是关于 iOS 8.1 beta 发布之前的问题。请就您的问题提出一个单独的问题,因为它有点不同。
猜你喜欢
  • 2017-05-13
  • 2016-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-27
  • 2015-12-08
  • 2017-10-26
相关资源
最近更新 更多