Как протестировать разрешение Face ID и запрет Face ID для приложения в симуляторе?

Это не обман: Можем ли мы протестировать Face ID в симуляторе?

Я хочу знать, как проверить, когда пользователь принимает предупреждение Face ID ниже, которое гласит: «Вы хотите разрешить «приложению» использовать Face ID», а затем решает отключить Face ID для приложения в симуляторе.

Предупреждение Face ID


person Steve Moser    schedule 10.11.2017    source источник
comment
Можно уточнить, что именно вы хотите протестировать здесь? Если пользователь коснется Don't Allow или OK?   -  person russbishop    schedule 14.11.2017
comment
Да, а затем переключает его позже, как и любой другой параметр разрешений.   -  person Steve Moser    schedule 14.11.2017


Ответы (1)


Когда вы запустите context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &authError), он вернет false и authError как Optional<NSError>:

Error Domain=com.apple.LocalAuthentication Code=-6 "User has denied 
the use of biometry for this app." UserInfo=
{NSLocalizedDescription=User has denied the use of biometry for this app.}

Используйте error.code для своих тестов, в данном случае это -6, вы можете найти больше о кодах LAError.Code в Документация Apple

Тема на самом деле интересная: видимо, если пользователь не давал разрешение на Face ID — единственный способ получить его на симуляторе — переустановить приложение. На форуме Apple обсуждается это.

person Vladimir    schedule 27.11.2017
comment
Печально то, что даже если пользователь не разрешил ИЛИ устройство не поддерживает биометрию, код ошибки тот же (-6) biometryNotAvailable. Должны быть разные коды ошибок для пользователя не разрешено и устройство не поддерживает биометрию. - person akshay1188; 06.12.2019