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 attempts. Enter iPhone passcode to enable touchID."
context.evaluatePolicy(LAPolicy.deviceOwnerAuthentication,
localizedReason: reason,
reply: { (success, error) in
return false
})
return true
}
return false
}
3条答案
按热度按时间eqqqjvef1#
Touch ID一旦由于不正确的尝试而被锁定,将一直锁定到用户输入密码。因此没有设置时间。从此时起,解锁的唯一方法将是密码,并且没有办法强制解锁,原因显而易见。
5cg8jx4n2#
您可以通过使用密码验证用户来解锁生物特征。只需将此函数粘贴到您的项目中,并在使用Touch ID验证用户之前调用此函数。
如果返回true,则运行Touch ID身份验证,如果由于生物特征锁定而失败,则会要求用户输入iPhone密码以解锁生物特征。这将在应用程序中发生。
htzpubme3#
重新启动将强制用户输入凭据,并在成功验证后,锁定被撤销。因此,简单地说-重新启动您的设备。