Разрешить оповещение о разрешении Face ID

мое приложение (работает в iPhone X Simulator Xcode 9.0.1) просит у меня разрешения использовать Face ID.

предупреждение говорит:

Do you want to allow <appName> to use Face ID? This app was designed to use Touch ID and may not fully support Face ID.

Я ожидал, что несколько изменений, которые я сделал в новом APIs в LocalAuthentication framework (например,biometryType) должен был в основном работать для Face ID.

есть ли что-то еще, что мне нужно сделать, чтобы сделать это так мое приложение и предназначен для полной поддержки Face ID?

1 ответов


похоже, что вам нужно добавить NSFaceIDUsageDescription на Info.plist для поддержки Face ID.

кроме того, симулятор оповещения только для симулятора, без этой информации.plist key, приложение, по-видимому, должно сбой на реальном устройстве без него.

спасибо этим чувакам за то, что помогли мне узнать это - что NSFaceIDUsageDescription - лицо ID описание использования информации.ключевой файл plist?


Protip:

до разрешения строке [LAContext canEvaluatePolicy:error:] возвращает YES для биометрии, если устройство способно на это.

iOS не будет запрашивать разрешение пользователя до первого вызова [LAContext evaluatePolicy:localizedReason:reply:].

если у пользователя не разрешение, то все будущие вызовы canEvaluatePolicy вернутся NO (код ошибки=-6 "пользователь отказался от использования биометрии для этого приложения."). Это странный нюанс.