TouchId无需密码功能

16

我需要我的应用程序使用TouchID进行登录,但我不希望用户选择或回退到密码选项。换句话说,我想在下面的图中隐藏“输入密码”标签。谢谢。

3个回答

26
答案是 "是的"。你可以隐藏"输入密码"...
尝试以下代码片段,
var LocalAuthentication = LAContext()

LocalAuthentication.localizedFallbackTitle = ""  // Add this line 

if LocalAuthentication.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &errorMsg){

在检查策略之前添加以下行:

LocalAuthentication.localizedFallbackTitle = ""

希望这可以帮助你。


4
据我所知,目前没有隐藏密码选项的方法。虽然你可以使用设备密码作为备用选项。
请注意,“密码”和“密码”这个术语在TouchID集成中有不同的含义。
“密码”是用于LocalAuthentication方法集成TouchID,并作为后备方法引用应用程序的密码。
而“密码”是指解锁设备和验证应用商店购买的密码。要使用此方法,您必须将一些信息存储到设备的钥匙串中,并通过Touch ID身份验证检索它。
有关这两种方法的更多信息,请单击此处
iOS 9编辑
根据答案,iOS 9提供了一个新选项来隐藏密码选项。

对于iOS 9,已添加了两个新策略,不会回退到密码。 这些策略是kSecAccessControlTouchIDAny和kSecAccessControlTouchIDCurrentSet


2
根据LocalAuthentication.LAContext的文档:
/// Fallback button title.
/// @discussion Allows fallback button title customization. A default title "Enter Password" is used when
///             this property is left nil. If set to empty string, the button will be hidden.
open var localizedFallbackTitle: String?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接