Подтвердить что ты не робот

Как проверить устройство ios поддерживает Apple Pay

Я начинаю проект интеграции Apple Pay и могу подключить транзакцию на устройстве и использовать Stripe для авторизации платежа. Часть, с которой я действительно сталкиваюсь, - это правильный способ проверить, поддерживается ли Apple Pay? Таким образом, для более старых моделей Iphone я бы решил скрыть функции Apple Pay, даже если у них установлены ios8 или ios9.

Возможно, я могу проверить модель устройства и игнорировать Apply Pay для < Айфон 5с. Однако это осложняется, если мне также нужно начать тестирование версий IPad и т.д.

Мне было интересно, есть ли какой-то один метод, чтобы проверить, поддерживается ли ApplePay?

Я нашел этот метод онлайн как одну идею, однако он утверждал, что плата Apple была поддержана в симуляторе Iphone5, что, я думаю, не совсем верно. К сожалению, у меня нет реального устройства Iphone5.

- (BOOL) applePaySupported {
    return [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]];
}

ИЗМЕНИТЬ/РЕШЕНИЕ:

Теперь я использую эту строку, и она проверяется на работу для Iphone5 (не поддерживается) и Iphone6 ​​(поддерживается); и я предполагаю другие устройства. Я не совсем уверен, что он всегда работает в Simulator, но ApplePay все равно немного странно, и тестирование лучше всего делать на устройстве.

- (BOOL) applePaySupported {
    return [PKPaymentAuthorizationViewController canMakePayments] && [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]];
}
4b9b3361

Ответ 1

canMakePayments - вернет "ДА" (True/1) независимо от конфигурации карты.

canMakePaymentsUsingNetworks - вернет "НЕТ", если карта НЕ настроена или НЕ настроена должным образом.

Итак, нужно проверить оба... Если оба должны быть TRUE, тогда нужно только сделать кнопку "Apple Pay".

Надеюсь, что это поможет.

Ответ 2

В s wift 3.0 вы можете проверить, поддерживает ли Apple поддержку Apple, или нет, с помощью этой функции - это возврат true, а затем плата за поддержку Apple. Вот список устройств, поддерживающих оплату Apple:

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])
}