ios Touch ID被锁定多长时间?“生物识别功能被锁定,”

4urapxun  于 2023-03-20  发布在  iOS
关注(0)|答案(3)|浏览(240)

我正在尝试实现Touch ID登录,但当用户失败次数超过最大尝试次数时,我收到此错误**“Error Domain=com.apple.LocalAuthentication Code=-8“生物测定已锁定。”UserInfo={NSLocalizedDescription=生物测定已锁定。}"**
我想知道:

  • 需要多长时间,在哪里可以检查它是否被锁定?
  • 是否可以在不显示密码的情况下强制解锁?
  • 如果用户使用密码进行的所有尝试均失败,则touch id将被锁定多长时间,或者如何强制解锁?

谢谢!

eqqqjvef

eqqqjvef1#

Touch ID一旦由于不正确的尝试而被锁定,将一直锁定到用户输入密码。因此没有设置时间。从此时起,解锁的唯一方法将是密码,并且没有办法强制解锁,原因显而易见。

5cg8jx4n

5cg8jx4n2#

您可以通过使用密码验证用户来解锁生物特征。只需将此函数粘贴到您的项目中,并在使用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 attempts. Enter iPhone passcode to enable touchID."
        context.evaluatePolicy(LAPolicy.deviceOwnerAuthentication,
                               localizedReason: reason,
                               reply: { (success, error) in

            return false
        })

        return true
    }

    return false
}
htzpubme

htzpubme3#

重新启动将强制用户输入凭据,并在成功验证后,锁定被撤销。因此,简单地说-重新启动您的设备。

相关问题