Отмененный Touch ID возвращает неизвестную ошибку, не отменен

#ios #iphone #objective-c #touch-id

#iOS #iPhone #objective-c #touch-id

Вопрос:

Долгое время читал, впервые написал. Спасибо за отличное сообщество.

В приложении, над которым я работаю, реализована покупка в приложении и работает хорошо, однако я столкнулся со странным случаем ошибки, для которого я не вижу очевидного решения. Сценарий виден на iPhone 5S с включенным Touch ID для покупок. Когда пользователь выбирает товар для покупки, появляется диалоговое окно Touch ID. Если пользователь отменяет это конкретное диалоговое окно, делегат SKPayment получает SKPaymentTransactionStateFailed событие с SKErrorUnknown кодом — не SKErrorPaymentCancelled так, как можно было бы ожидать, и что получено, когда я отменяю диалоговое окно ввода пароля. Поскольку код не может классифицировать это как пользователя, отменяющего покупку, пользователь увидит общее представление предупреждения об ошибке. Я не вижу в этом проблемы с изолированной средой, поскольку сами покупки хорошо работают как при тестировании в изолированной среде, так и в режиме реального времени.

Кто-нибудь думает о том, как обнаружить эту неизвестную ошибку как отмену?

Комментарии:

1. Я видел некоторые состояния с ошибкой Touch ID, в которых localizedDescription содержал полезную информацию. Итак, вы выполняете некоторую работу с NSString, чтобы увидеть, находитесь ли вы в плохом состоянии. Может быть, здесь то же самое? Грубый код, который я знаю…