背景:我对 iOS 8.2、8.3 使用了相同的代码,它运行良好。
PKPaymentAuthorizationViewController *paymentPane = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
paymentPane.delegate = self;
[self presentViewController:paymentPane animated:TRUE completion:nil];
付款请求代码:
PKPaymentRequest *request = [[PKPaymentRequest alloc] init];
NSString *chargeApplePay=[NSString stringWithFormat:@"%.02f",pay];
PKPaymentSummaryItem *total = [PKPaymentSummaryItem summaryItemWithLabel:@"Grand Total"
amount:[NSDecimalNumber decimalNumberWithString:chargeApplePay]];
request.paymentSummaryItems = @[total];
request.countryCode = @"US";
request.currencyCode = @"USD";
request.supportedNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa];
request.merchantIdentifier = @"valid.com.myIdentifier";
request.merchantCapabilities = PKMerchantCapability3DS;
问题:现在在 iOS 8.4 上,当我尝试展示我的 paymentPane 时,它的值不知何故为零。
致命异常:NSInvalidArgumentException 应用程序试图在 target 上呈现一个 nil 模态视图控制器。
我已经通过谷歌搜索和使用 stackoverflow 的答案进行了尝试。
用过的支票如
[PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]]
和
[PKPaymentAuthorizationViewController canMakePayments]
检查我的商家 ID 是否有效。
- 检查我用于请求的所有代码是否有效。