Así que tengo una aplicación actualmente en la tienda que admite el inicio de sesión Touch-ID ,
Ahora, retrocediendo al código de versión de mi tienda, no hay una clave info.plist que indique el uso de Face-ID, que es esta
<key>NSFaceIDUsageDescription</key> <string>This application wants to access your FaceID scanner</string>Y el código para verificar la biometría es este,
let myContext = LAContext() var authError: NSError? = nil if #available(iOS 8.0, OSX 10.12, *) { if !myContext.canEvaluatePolicy(LAPolicy(rawValue: Int(kLAPolicyDeviceOwnerAuthenticationWithBiometrics))!, error: &authError) { switch authError?.code{ case (LAError.touchIDNotEnrolled).rawValue?: User.sharedUser.touchIDState = .TouchIDNotEnrolled self.touchIDButton.isHidden = true break case LAError.passcodeNotSet.rawValue?: User.sharedUser.touchIDState = .TouchIDNotEnrolled self.touchIDButton.isHidden = true break default: User.sharedUser.touchIDState = .TouchIDNotSupported self.touchIDButton.isHidden = true break } }else{ User.sharedUser.touchIDState = .TouchIDEnrolled // if(User.sharedUser.touchIDState == .TouchIDEnrolled){ self.touchIDButton.isHidden = false // } } }Mi iPhone X no muestra la aplicación que está usando Face-ID y simplemente cuando está en uso me indica el código de acceso que es el resultado esperado... sin embargo, el video es tan claro para el usuario que está iniciando sesión con Face-ID . ! Como es esto posible ?
¿Su aplicación se creó con una versión anterior del SDK de iOS (iOS 10 o anterior, creo)? Si es así, iOS permitirá que el usuario se autentique con Face ID en cualquier circunstancia en la que le permita usar Touch ID, incluso si no ha agregado esas claves a su Info.plist . La primera vez que prueben esto, verán un aviso advirtiéndoles que la aplicación no fue diseñada para Face ID.