Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 (e.g. 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?

like image 835
beebcon Avatar asked Oct 20 '17 16:10

beebcon


People also ask

How do I get my iPhone to stop asking me for Face ID?

To protect against these instances, you can permanently shut off Face ID. To do this, go to Settings > Face ID & Passcode. Enter your password and then turn off the toggle for iPhone Unlock.

Is Face ID a privacy concern?

Using FRT to identify individuals without their knowledge or consent raises privacy concerns, especially since biometrics are unique to an individual.

Can you Face ID someone sleeping?

Yes and no, sometimes they can unlock your iPhone when you're sleeping. If you want extra security to avoid someone unlocking your iPhone when sleeping, go to Settings > Face ID & Passcode then right under Attention click 'Require Attention for Face ID' that means you need to look at the iPhone for it to unlock.


1 Answers

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.

like image 192
beebcon Avatar answered Oct 06 '22 23:10

beebcon