Проверьте устройства с возможностью Apple Pay

Я хочу знать, есть ли какой-либо API или фрагмент кода для проверки того, поддерживает ли устройство Apple Pay.

Я не хочу добавлять статический if else для проверки. Как мы знаем, Apple Pay поддерживается с минимальной версией iOS 8.3 и iPhone 5S и выше.

Я показываю информативные изображения в своем приложении, и они должны появляться только в том случае, если устройство поддерживает Apple Pay. Означает, что он не должен подходить для iPhone 4/4S или всех других устройств с iOS ниже 8.3.

Согласно Apple, следующие методы помогают мне определить, поддерживает ли устройство платежи. (не совсем то, что я ищу)

+ canMakePayments
+ canMakePaymentsUsingNetworks:
+ canMakePaymentsUsingNetworks:capabilities:

любая помощь, пожалуйста. заранее спасибо.


person Rein rPavi    schedule 25.05.2016    source источник
comment
Если ваша цель развертывания ниже iOS 8.3, вам также необходимо проверить, доступны ли контроллеры и методы представления PKPayment, прежде чем выполнять проверку поддержки Apple Pay.   -  person Robotic Cat    schedule 25.05.2016
comment
@RoboticCat спасибо за ответ ... да, это правильно, нужно сделать это, но как проверить, что само устройство поддерживает Apple Pay.   -  person Rein rPavi    schedule 25.05.2016
comment
canMakePayments, canMakePaymentsUsingNetwork, canMakePaymentsUsingNetworks:capabilities... эти методы вернут yes, если мы можем совершить платеж или в кошелек добавлена ​​карта.   -  person Rein rPavi    schedule 25.05.2016


Ответы (2)


Согласно Apple Документы +canMakePayments — это то, что вам нужно. Он вернет YES, если устройство поддерживает его независимо от настроенных карт.

На устройствах, которые поддерживают совершение платежей, но не имеют настроенных платежных карт, метод canMakePayments возвращает YES, поскольку аппаратное обеспечение и родительский контроль позволяют совершать платежи, но метод canMakePaymentsUsingNetworks: возвращает NO независимо от сети.

person darrenallen7    schedule 25.05.2016

Проверить можно так..

if([PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]]) 
 {

}
person user3306145    schedule 25.05.2016
comment
Спасибо за ответ, но это проверит, может ли устройство совершать платежи, и любая из карт добавлена ​​​​в кошелек. - person Rein rPavi; 25.05.2016
comment
Для моего решения не требуется погода, чтобы знать, что устройство может поддерживать саму Apple Pay. - person Rein rPavi; 25.05.2016