获取触摸ID通知,如果使用密码(Getting Touch ID notification if p

2019-10-22 17:10发布

我用我的应用程序的触摸ID。

  • 如果触摸ID指纹扫描连续失败三次,我得到一个Application retry limit exceeded. 错误。
  • 如果触摸ID指纹扫描失败,另一个两次,我得到一个Biometry is locked out. 错误。

从生物测量被锁定后,您需要输入密码。 奇怪的是,如果输入了正确的密码,然后这不会导致一个successevaluatePolicy回调。 相反,则会提示重试您的生物测量。

我怎样才能使密码被锁定生物测量后输入正确的通知?

Answer 1:

一个非常好的方式来适应什么,我提的是,使用这个项目苹果提供: 使用触摸ID钥匙扣和LocalAuthentication

有两种方法来提示您的触摸身份认证的用户; 各自有各自的优点和缺点。

  1. -[LAContext evaluatePolicy:localizedReason:reply:]

这使您可以提示系统要求用户只为自己使用Touch ID验证(如果设置正确)。 如果用户被锁定,由于多次的失败不是在这里,别的地方,他们被要求输入他们的密码,以此来再次解锁触摸ID使用(只要我可以告诉)。 由于调用的初始目标evaluatePolicy:localizedReason:reply:是让用户与触摸ID进行身份验证,它仍然会要求他们这样做。

这种方法的好处是,你回来从呼叫更具描述发生了什么(用户取消VS失败)的错误。

  1. 商店中的东西通过担保的钥匙扣kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly

此选项可能给你感兴趣的经验。使用此属性在钥匙串存储的东西后,试图将其从钥匙扣复制将呈现更为熟悉的触摸ID提示,允许用户如果需要输入自己的密码(虽然我在的iOS 8.3测试版发现,该提示不显示在第一次尝试“输入密码”选项。

这种方法的缺点是,你总是得到一个失败的错误,不管用户如何结束进程(没有以某种方式或只是击中取消)。



文章来源: Getting Touch ID notification if passcode is used
标签: ios touch-id