简体   繁体   中英

Allow Face ID permission alert

My app (running in iPhone X Simulator Xcode 9.0.1) is asking me for permission to use Face ID.

The alert says:

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.

I was expecting that the few changes I made to the new APIs in the LocalAuthentication framework (eg biometryType ) was supposed to basically work for Face ID.

Is there something else I need to do to make it so my app is designed to fully support Face ID?

It appears that you need to add the NSFaceIDUsageDescription to your Info.plist in order to support Face ID.

Also, the simulator alert is only for simulator, without that Info.plist key, the app apparently should crash on a real device without it.

Thanks to these dudes for helping me learn this - What is NSFaceIDUsageDescription - Face ID Usage Description Info.plist key?


Protip:

Prior to the permission prompt, [LAContext canEvaluatePolicy:error:] returns YES for biometrics if the device is capable of it.

iOS won't prompt the user for permission until the first call to [LAContext evaluatePolicy:localizedReason:reply:] .

If the user does not grant permission, then all future calls to canEvaluatePolicy will return NO (error Code=-6 "User has denied the use of biometry for this app."). This is an odd nuance.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM