我用我的应用程序的触摸ID。
- 如果触摸ID指纹扫描连续失败三次,我得到一个
Application retry limit exceeded.
错误。 - 如果触摸ID指纹扫描失败,另一个两次,我得到一个
Biometry is locked out.
错误。
从生物测量被锁定后,您需要输入密码。 奇怪的是,如果输入了正确的密码,然后这不会导致一个success
的evaluatePolicy
回调。 相反,则会提示重试您的生物测量。
我怎样才能使密码被锁定生物测量后输入正确的通知?
一个非常好的方式来适应什么,我提的是,使用这个项目苹果提供: 使用触摸ID钥匙扣和LocalAuthentication
有两种方法来提示您的触摸身份认证的用户; 各自有各自的优点和缺点。
-
-[LAContext evaluatePolicy:localizedReason:reply:]
。
这使您可以提示系统要求用户只为自己使用Touch ID验证(如果设置正确)。 如果用户被锁定,由于多次的失败不是在这里,别的地方,他们被要求输入他们的密码,以此来再次解锁触摸ID使用(只要我可以告诉)。 由于调用的初始目标evaluatePolicy:localizedReason:reply:
是让用户与触摸ID进行身份验证,它仍然会要求他们这样做。
这种方法的好处是,你回来从呼叫更具描述发生了什么(用户取消VS失败)的错误。
- 商店中的东西通过担保的钥匙扣
kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
此选项可能给你感兴趣的经验。使用此属性在钥匙串存储的东西后,试图将其从钥匙扣复制将呈现更为熟悉的触摸ID提示,允许用户如果需要输入自己的密码(虽然我在的iOS 8.3测试版发现,该提示不显示在第一次尝试“输入密码”选项。
这种方法的缺点是,你总是得到一个失败的错误,不管用户如何结束进程(没有以某种方式或只是击中取消)。