Я начинаю проект интеграции 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]];
}