2015-11-18 17 views
11

Sto avviando un progetto di integrazione di Apple Pay e sono stato in grado di cablare una transazione sul dispositivo e utilizzare Stripe per autorizzare il pagamento. La parte in cui sto effettivamente lottando è il modo corretto per il dispositivo di verificare se Apple Pay è supportato? Quindi, per i vecchi modelli di Iphone sceglierei di nascondere le funzionalità di Apple Pay, anche se hanno installato ios8 o ios9.Come verificare il dispositivo ios supporta Apple Pay

Posso probabilmente verificare il modello del dispositivo e ignorare Applica pagamento per < Iphone5S. Tuttavia questo diventa complicato se devo anche iniziare a testare le versioni IPad, ecc.

Mi chiedevo se c'è un solo metodo per verificare se ApplePay è supportato?

Ho trovato questo metodo online come un'idea, tuttavia ha affermato che il pagamento di Apple era supportato nel simulatore Iphone5, che immagino non sia completamente vero. Sfortunatamente non ho un dispositivo Iphone5 con cui testare.

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

EDIT/SOLUZIONE:

Io uso questa linea e si è verificato a lavorare per Iphone5 (non supportato) vs iPhone6 ​​(supportato); e presumo altri dispositivi. Non sono del tutto sicuro che funzioni sempre in Simulator ma ApplePay è un po 'strano in ogni caso e il test è fatto meglio sul dispositivo.

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

risposta

6

canMakePayments - tornerà "SI" (Vero/1) a prescindere dalla configurazione della scheda.

canMakePaymentsUsingNetworks - Restituirà "NO", se la scheda NON è configurata o NON è configurata correttamente.

Quindi, dovrebbe controllare entrambi ... Se entrambi devono essere VERO, è sufficiente rendere visibile il pulsante "Apple Pay".

Spero che questo aiuti.

+0

Ho provato entrambe le condizioni insieme ma si sta sempre restituendo vero, per favore fatemi sapere cosa fare? –

+0

Ronak ha ragione, entrambi i controlli sono necessari. – Rushabh

2

In s wift 3.0 è possibile controllare il proprio dispositivo di supporto Apple o meno tramite questa funzione è il suo ritorno vero quindi il dispositivo di supporto Apple paga. Ecco l'elenco dei dispositivi che supportano paga mela:

iPhone 5ssolo se si acquista ultima pace

iPhone SE,

iPhone 6 o versioni successive,

iPad Pro,

iPad 5 ° generazione,

iPad Air 2,

mini iPad 3 o versione successiva,

e Apple Watch.

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

sostituire || da && e questo sarà giusto –

+0

@YauheniShauchenka grazie per la correzione. –

Problemi correlati