There is a new privacy NSFaceIDUsageDescription
Info.plist key in the Xcode 9 GM where a developer supplies the usage description for the permissions alert. Does anyone have a link to docs on it? The plist view in Xcode summarizes it as:
Privacy - Face ID Usage Description
Now further explained in the above mentioned forum (by an Apple employee) https://forums.developer.apple.com/message/265156:
I have users that were reporting an app crash when the first TouchID alert shows. The fix was to test on the device and read the console (Xcode 9.4.1):
Simply adding NSFaceIDUsageDescription by right clicking and "Add Row" in the root of the Info.plist and pasted NSFaceIDUsageDescription in and set it to YES.
The simulator isn't going to support FaceID so apps that use logins, keychain, and TouchID are affected if you don't add a one liner to the plist to support FaceID verification. The user will get an alert asking them to allow FaceID to log into your app by default so no coding required to support FaceID if you're already setup for TouchID.
To protect user privacy, an iOS app that links on or after iOS 11 and that would access Face ID if the hardware supports it, must statically declare the intent to do so. Include the
NSFaceIDUsageDescription
key in your app’s Info.plist file and provide a purpose string for this key. If your app attempts to access Face ID without a corresponding purpose string, your app may exit.Note: This key is supported in iOS 11 and later.
Face-Id authentication is introduced for/with iPhone-X device and will work with iPhone-X only (Even no simulator)
With Xcode 9.0.1 & Xcode 9.2 beta - it seems found working
Ref. link to Apple Document - NSFaceIDUsageDescription
List of all available keys - Cocoa Keys