我在我的应用程序中使用了Touch ID。
Application retry limit exceeded.错误。Biometry is locked out.错误。在被禁止使用生物计量法之后,你需要输入你的密码。奇怪的是,如果您的密码输入正确,那么这不会导致success在evaluatePolicy回调中。相反,你会被提示重新测试你的生物计量学。
我如何才能得到一个通知,密码是正确输入后,被锁在生物测量之外?
发布于 2015-04-20 14:51:41
要习惯我提到的这个项目,一个很好的方法是使用苹果提供的这个项目:结合密钥链和LocalAuthentication的Touch ID
有两种方法可以提示用户进行Touch ID身份验证;每种方法各有优缺点。
-[LAContext evaluatePolicy:localizedReason:reply:]。这允许您提示系统只要求用户进行Touch ID身份验证(如果设置正确的话)。如果用户由于这里或其他地方的多次故障而被锁定,则要求他们输入其密码作为再次解锁Touch ID使用的一种方式(据我所知)。由于调用evaluatePolicy:localizedReason:reply:的最初目标是让用户使用Touch ID进行身份验证,所以仍然会要求他们这样做。
这种方法的好处是,您从调用中得到的错误更多地描述了所发生的事情(用户取消和失败)。
kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly保护的密钥链中存储一些东西这个选项可能会给你你感兴趣的体验。使用此属性在密钥链中存储某些内容后,尝试从密钥链复制它将显示更熟悉的Touch ID提示符,该提示符允许用户在需要时输入其密码(尽管我在iOS 8.3 Beta中注意到,在第一次尝试时,提示符没有显示“输入密码”选项。
这种方法的缺点是,无论用户如何结束进程(以某种方式失败或只单击cancel),您都会得到一个失败的错误。
https://stackoverflow.com/questions/29728762
复制相似问题