Я также должен был поставить диагноз эта ошибка при работе с Braintree и Apple Pay. Имейте в виду, говоря, что вы используете Braintree framework, не совсем рассказать всю историю, поскольку Braintree имеет два метода, с помощью которых вы можете интегрировать Apple Pay, BTPaymentProvider
и PKPaymentRequest
. В моем случае я столкнулся с ошибкой PKPaymentAuthorizationControllerExportedObject authorizationDidFinishWithError
при использовании PKPaymentRequest
. В частности, это может привести к сбою во второй покупке, когда все сработало с Apple Pay в первый раз, когда оно было использовано. В конце концов, я проследил его к блоку завершения:
completion(PKPaymentAuthorizationStatusSuccess);
В моем случае, удаление завершения блока вызова закомментировав выше код предотвратить эту катастрофу и восстановить ожидаемое поведение, позволяя компании Apple Pay успешно использовать без сбоев ,
Это работает лучше, чем обвинять Еву, Адама или змею за ошибку Apple Pay, Braintree. ;)
У меня было что-то похожее на это (получение EXC_BAD_ACCESS) - вы должны дважды проверить, что тот, кто действует как ваш PKPaymentAuthorizationViewControllerDelegate, не будет выпущен слишком рано или, по крайней мере, вы не используете PKPaymentAuthorizationViewController делегат при необходимости. –
Спасибо за ваш комментарий, к сожалению, я не нашел ничего подозрительного. Началась проблема Braintree на github [здесь] (https://github.com/braintree/braintree_ios/issues/117), если у кого-то должна быть такая же проблема. – pothf
FYI Я открыл для этого радар: http://www.openradar.appspot.com/19767271 –