Показать пароль для аутентификации Touch ID

Я реализую аутентификацию в своем приложении и разрешаю пользователю проходить аутентификацию с помощью Touch ID. Я также хочу включить запасной вариант, когда они хотят вместо этого ввести пароль, с помощью кнопки «Ввести пароль».

Текущий код:

NSError *error = nil;
LAContext *context = [[LAContext alloc] init];

if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
    [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
              localizedReason:@"Login to My app"
                        reply:^(BOOL success, NSError *error) {
                            // do something
                        }
    ];
} else {
    // do something
}

Хотя часть Touch ID работает, кнопка «Введите пароль» не отображается.

Touch ID 1

Единственный способ, которым я могу показать это, - это если я не пройду аутентификацию касания, используя другой палец, который не зарегистрирован.

Touch ID 2

Я бы предпочел не заставлять пользователей отказываться от аутентификации, чтобы показать эту кнопку.

Я просмотрел несколько руководств и блогов, проверяя, не пропустил ли я что-нибудь, и ничего не нашел.

Учебник 1

Учебник 2

Судя по картинкам, должно быть показано «Введите пароль». Я использую SDK 8.3 на iPhone с iOS8.2 и 8.3.


person SunnySydeUp    schedule 18.05.2015    source источник


Ответы (2)


Похоже на изменение системы в 8.3, общедоступного способа изменить это поведение нет.

person Sash Zats    schedule 18.05.2015
comment
Это верно. Теперь мы не можем использовать резервную копию пользователя здесь для предоставления пользовательской аутентификации. - person Michal Cichon; 30.07.2017

Я прикинул, что кнопка "Ввести пароль" появится, если touch id не распознает палец с первой попытки.

person Hussein    schedule 16.12.2016
comment
Это опция «Ввести пароль», которая позволяет вам указать пароль вашего iPhone (не приложения!) Вместо отпечатка пальца. Это не позволяет вам изменить поток проверки подлинности, чтобы предоставить пароль вашего приложения. Пользователь не может откатиться... - person Michal Cichon; 30.07.2017