2015-11-18 3 views
11

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

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

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

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

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

EDIT/РЕШЕНИЕ:

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

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

ответ

6

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

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

Итак, нужно проверить оба ... Если оба должны быть ИСТИНА, вам нужно только сделать кнопку «Яблоко Pay».

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

+0

Я пробовал оба условия вместе, но он всегда возвращает true, пожалуйста, дайте мне знать, что делать? –

+0

Ронак прав, необходимы обе проверки. – Rushabh

2

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

iPhone 5sтолько если вы покупаете последний мир

iPhone SE,

iPhone 6 или более поздней версии,

iPad Pro,

IPad пятого поколения,

IPad 2 Air,

IPad мини 3 или более поздней версии,

и Apple, часы.

func applePaySupported() -> Bool { 
      return PKPaymentAuthorizationViewController.canMakePayments() && PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: [.amex, .visa, .masterCard]) 
} 
+1

заменить || by &&, и это будет правильно –

+0

@ YauheniShauchenka благодарит вас за исправление. –

Смежные вопросы