iOS 设置 kSecAccessControlBiometryCurrentSet 标志时指纹设备 PIN 提示

iOS fingerprint device PIN Prompt while kSecAccessControlBiometryCurrentSet flag is set

我正在使用 iOS 中的钥匙串方法进行指纹身份验证,但无法设法在出错后不显示要显示的 pin 建议。

我正在使用标志 kSecAccessControlBiometryCurrentSet,它应该只允许生物特征认证。

因此,对于第一个提示,它运行良好,我无法输入密码,但一旦身份验证失败,提示就会更改并允许用户输入他的密码。我想阻止这个,只允许通过该提示进行指纹验证。

这是我正在使用的代码:https://github.com/xavistas/cordova-plugin-touch-id/blob/noPinCode/src/ios/TouchID.m

如果您有任何想法,请随时分享 :) !

我终于找到了解决方案,但这并不简单。 你必须知道钥匙串永远不会为你的应用程序清除,即使你卸载它。

所以基本上,如果您尝试过一次使用标志,比如说 kSecAccessControlUserPresence,直到您手动指定要清除钥匙串条目,此标志将保持存储. 基本上,即使您 "create the keychain token" 每次用户连接到该应用程序,它也不会替换钥匙串条目。

希望对大家有所帮助!