如何使用Swift 4添加FaceID / TouchID

FaceID和TouchID可以在应用程序中使用,以验证用户身份以进行应用程序内购买或访问个人信息或更多。 检查钱包应用程序,几乎所有应用程序都启用了TouchID。

好的,让我们看看苹果对这些身份验证机制的看法。

要求用户仅进行身份验证以换取价值,例如个性化体验,访问其他功能,购买内容或同步数据。 如果您的应用程序需要身份验证,请保持登录过程快速,轻松且不干扰用户,以免影响应用程序的使用乐趣。

尽可能支持生物特征认证。 人脸ID和触摸ID是人们信任的安全,熟悉的身份验证方法。 嗯!! ..听起来很有说服力。 让我们看看如何将TouchID和FaceID添加到应用程序中。

第一项工作是将LocalAuthentication导入到应用程序。 然后,我们创建了一个LAContext对象,该对象将提供一个UI,用于评估身份验证策略和访问控制,管理凭据以及使身份验证上下文无效。

在为TouchID / FaceID身份验证添加任何代码之前,请不要忘记添加#available(iOS 8.0,macOS 10.12.1,*) 。 iOS 8以下版本不支持它们。添加案例后,我们必须检查是否可以评估特定策略,此处是使用生物识别技术对其设备进行身份验证。 该块完成后,我们可以运行评估策略以获取用户身份验证/同意。 用户验证后,继续修改UI或执行操作。

等待,如果成功进行身份验证,如果要更新UI部件,请记住始终使用DispatchQueue.main.async运行这些任务。 UI更改必须在主线程中运行。

这是代码,

  //此框架包含身份验证帮助程序代码 
导入LocalAuthentication
 类ViewController:UIViewController { 
  @IBAction func touchIdAction(_发件人:UIButton){ 

打印(“您好!!。您已经单击了触摸ID”)

让myContext = LAContext()
let myLocalizedReasonString =“生物特征认证测试!”

var authError:NSError?
如果#available(iOS 8.0,macOS 10.12.1,*){
如果myContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics,错误:&authError){
myContext.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics,localizedReason:myLocalizedReasonString){成功,在

DispatchQueue.main.async {
如果成功{
//用户验证成功,请采取适当的措施
self.successLabel.text =“太好了!...用户成功通过身份验证”
}其他{
//用户未成功通过身份验证,请查看错误并采取适当的措施
self.successLabel.text =“抱歉!...用户未成功通过身份验证”
}
}
}
}其他{
//无法评估政策; 查看authError并向用户显示适当的消息
successLabel.text =“对不起!。无法评估策略。”
}
}其他{
//早期版本的后备

successLabel.text =“糟糕!..不支持此功能。”
}


}
  } 

尝试在真实设备中进行测试。 如果您没有真正的设备,请使用模拟器的“硬件”->“触摸ID”选项。

您可以在github中找到完整的项目

现在轮到您了,尝试一下,快乐的编码。💻👍►

Interesting Posts