What is NSFaceIDUsageDescription - Face ID Usage Description Info.plist key?

Privacy - Face ID Usage Description (NSFaceIDUsageDescription) is string key, lets you describe the reason your app uses Face ID.

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


Now further explained in the above mentioned forum (by an Apple employee) https://forums.developer.apple.com/message/265156:

Face ID requires adding a usage string with the key NSFaceIDUsageDescription (aka Privacy - Face ID Usage Description) to your app's Info.plist.

In the simulator, the Face ID permissions alert will show "This app was designed to use Touch ID and may not fully support Face ID" if that key is missing. On an actual device, your app will crash the same as if any other required usage string is missing.


maybe I'm later to the party but you can fix this just by adding this

<key>NSFaceIDUsageDescription</key>
<string>$(PRODUCT_NAME) Authentication with TouchId or FaceID</string>

to Project-Info.plist