2015-04-25 12 views
7

Quando utilizzo Apple Pay con iOS SDK di Stripe, si blocca con il seguente metodo dopo il pagamento?Apple Pay si blocca con PKPaymentAuthorizationControllerExportedObject authorizationDidFinishWithError

-[PKPaymentAuthorizationControllerExportedObject authorizationDidFinishWithError:] + 76 

Cosa sto facendo male?

+0

Se sei davvero interessato a sapere se altri hanno lo stesso problema che hai, invece di trovare una soluzione, [così] non è il sito a pubblicare la tua domanda. Assumendo una dichiarazione impropria della tua domanda l'ho cambiata quindi è opportuno qui. – Anthon

risposta

1

Sì, abbiamo riscontrato un problema simile nei registri degli arresti anomali, ma senza passaggi di riproduzione.

Thread : Crashed: com.apple.NSXPCConnection.user.582 
0 libobjc.A.dylib    0x37736f46 objc_msgSend + 5 
1 PassKit      0x2bee63a5 -[PKPaymentAuthorizationControllerExportedObject authorizationDidFinishWithError:] + 56 
2 Foundation      0x29e23897 message_handler + 362 
3 libxpc.dylib     0x37e14845 _xpc_connection_call_event_handler + 40 
4 libxpc.dylib     0x37e12d39 _xpc_connection_mach_event + 1208 
5 libdispatch.dylib    0x37ca334b _dispatch_mach_cancel_invoke + 38 
6 libdispatch.dylib    0x37c978bf _dispatch_mach_invoke + 382 
7 libdispatch.dylib    0x37c9d397 _dispatch_queue_drain + 554 
8 libdispatch.dylib    0x37c97aad _dispatch_queue_invoke + 84 
9 libdispatch.dylib    0x37c9ef9f _dispatch_root_queue_drain + 394 
10 libdispatch.dylib    0x37ca03c3 _dispatch_worker_thread3 + 94 
11 libsystem_pthread.dylib  0x37dfcdc1 _pthread_wqthread + 668 
3

Ho avuto lo stesso incidente. La paga di Apple funzionerebbe per la prima volta ma al secondo tentativo avremmo avuto il crash e potremmo riprodurlo ogni volta. Il problema è che nel metodo delegato didAuthorizePayment stavo facendo tutta l'elaborazione del backend e quando ciò avveniva, stavo chiamando il blocco di completamento con completion(PKPaymentAuthorizationStatus.Success) e poi chiudendo il controller della vista.

Invece ho spostato il codice di rimozione dal metodo didAuthorizePayment al metodo 'didFinish' (che mi richiedeva di mantenere uno stato per passare alla pagina di ricevuta). Una volta che l'ho fatto, il pulsante "done" è stato mostrato sul controller della mela e gli arresti sono andati via.

Problemi correlati