您可以通过使用密码认证用户来解锁生物特征识别。 只需将此功能粘贴到您的项目中并在使用Touch ID验证用户身份之前调用此功能。
如果它返回true,则运行Touch ID身份验证,如果由于生物识别锁定而失败,则会要求用户输入iPhone密码以解锁生物特征识别。这将发生在应用程序内。
func isBiometryReady() -> Bool
{
let context : LAContext = LAContext();
var error : NSError?
context.localizedFallbackTitle = ""
context.localizedCancelTitle = "Enter Using Passcode"
if (context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error))
{
return true
}
if error?.code == -8
{
let reason:String = "TouchID has been locked out due to few fail attemp. Enter iPhone passcode to enable touchID.";
context.evaluatePolicy(LAPolicy.deviceOwnerAuthentication,
localizedReason: reason,
reply: { (success, error) in
return false
})
return true
}
return false
}
但是不知道锁定后等待解锁需要多长时间吗?我的意思是,当你用生物识别技术失败X次,然后用密码失败X次时,iPhone会锁定这两种方法,但我无法看到有多少次需要等待解锁。 –
您不知道手机锁定的时间。绝对没有办法知道这些信息。其次,如果您试图在您的应用中确定这一点,那么您可能会以错误的方式解决问题。 – Tander