我正在启动一个Apple Pay集成项目,并已能在设备上安装交易并使用Stripe授权支付。 我实际上遇到的问题是设备测试Apple Pay支持的正确方式是什么? 因此,对于较旧的iPhone型号,即使它们安装了ios8或ios9,我也会选择隐藏Apple Pay功能。
我可以检查设备型号,并忽略< Iphone5S的Apply Pay。 但是,如果我还需要开始测试iPad版本等等,则会变得复杂。
我想知道是否存在一种单一方法来测试是否支持Apple Pay?
我在网上找到了这个方法作为一种想法,但它声称Iphone5模拟器支持apple pay,我想这不完全是真的。 不幸的是,我没有Iphone5实际设备进行测试。
- (BOOL) applePaySupported {
return [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]];
}
编辑/解决方案:
现在我使用这条线路,并验证其对于Iphone5(不支持)与Iphone6(支持)有效; 我认为其他设备也是如此。 我并不完全确定它是否始终在模拟器中工作,但无论如何,ApplePay在那里有点奇怪,最好在设备上进行测试。
- (BOOL) applePaySupported {
return [PKPaymentAuthorizationViewController canMakePayments] && [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]];
}