如何验证 ios 设备是不是支持 Apple Pay
Posted
技术标签:
【中文标题】如何验证 ios 设备是不是支持 Apple Pay【英文标题】:How to verify ios device supports Apple Pay如何验证 ios 设备是否支持 Apple Pay 【发布时间】:2015-11-18 16:30:51 【问题描述】:我正在启动一个 Apple Pay 集成项目,并且已经能够在设备上连接一笔交易,并使用 Stripe 来授权付款。我真正苦苦挣扎的部分是设备测试是否支持 Apple Pay 的正确方法?因此,对于较旧的 Iphone 型号,我会选择隐藏 Apple Pay 功能,即使它们安装了 ios8 或 ios9。
我可能可以检查设备型号,而忽略 Apply Pay for
我想知道是否有一种方法可以测试是否支持 ApplePay?
我在网上找到了这种方法作为一个想法,但它声称 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]];
【问题讨论】:
【参考方案1】:canMakePayments
- 无论卡配置如何,都将返回“YES”(真/1)。
canMakePaymentsUsingNetworks
- 如果卡未配置或未正确配置,将返回“NO”。
所以,应该检查两者...如果两者都应该是 TRUE 那么只需要使按钮“Apple Pay”可见。
希望这会有所帮助。
【讨论】:
我已经同时尝试了这两个条件,但它总是返回 true,请告诉我该怎么做?【参考方案2】:在 swift 3.0 中,您可以通过此功能检查您的设备是否支持 Apple Pay,如果它返回 true,则您的设备支持 Apple Pay。以下是支持apple pay的设备列表:
iPhone 5s 仅当您购买最新和平版
iPhone SE,
iPhone 6 或更高版本,
iPad Pro,
第五代 iPad,
iPad Air 2,
iPad mini 3 或更高版本,
和 Apple Watch。
func applePaySupported() -> Bool
return PKPaymentAuthorizationViewController.canMakePayments() && PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: [.amex, .visa, .masterCard])
【讨论】:
以上是关于如何验证 ios 设备是不是支持 Apple Pay的主要内容,如果未能解决你的问题,请参考以下文章
如何验证在 Heroku 上运行的 Parse 是不是支持新的 Apple Push Notification 根证书?
在测试设备未通过基于 SMS 的用户身份验证后,iOS 应用程序被 Apple 拒绝 [关闭]