He's right, you don't have to manually add Face ID support, I am an iOS developer and I know. Biometrics work via the LocalAuthentication API and when you call the API via something like:
Code:
let myContext = LAContext()
let myLocalizedReasonString = <#String explaining why app needs authentication#>
var authError: NSError? = nil
if #available(iOS 8.0, OSX 10.12, *) {
if myContext.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &authError) {
myContext.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: myLocalizedReasonString) { (success, evaluateError) in
if (success) {
// User authenticated successfully, take appropriate action
} else {
// User did not authenticate successfully, look at error and take appropriate action
}
}
} else {
// Could not evaluate policy; look at authError and present an appropriate message to user
}
} else {
// Fallback on earlier versions
}
You don't specify whether you want to use Touch ID or Face ID, the OS automatically handles it. You just specify what authentication policy you would like to use, in this case it would be biometrics, and what kind of biometrics is used depends on whether the user has set-up Touch ID or Face ID. Now both iPhone 8 and iPhone X will only support
one kind of biometric authentication - Touch ID on 8 and Face ID on X, so the OS will simply use Touch ID on 8 for biometric authentication, and Face ID on X for biometric authentication. There's no need for the developer to specifically add Face ID support. All apps will be automatically compatible, or at least I hope so. The most you might have to do is to target the latest SDK, recompile the app and re-submit, but that's very unlikely and all apps should just work fine without needing a recompile.