iOS Touch ID身份验证教程

苹果在iPhone 5s中引入了TouchID,用户无需输入密码就可以使用指纹来解锁iPhone中任何功能的设备。

在OS 7中,Apple并未向开发者发布FingerPrint API,但在OS 8中,Apple向我们提供了在您的iOS App中使用此功能的API。

在本教程中,我将解释如何在iOS应用程序中使用此功能。

  1. 本地认证框架

要添加TouchID功能,您必须在项目中添加LocalAuthentication Framework。

转到项目设置>常规,然后向下滚动到链接的框架和库部分。 单击+号并添加LocalAuthentication.framework

2.认证视图

对于TouchID,我们将创建一个登录按钮,并在按钮的onClick上提供TouchID身份验证屏幕,以供用户解锁功能。

  @IBAction func clickLoginButton(_ sender:Any){self.authenticateUSerTouchID()} 

3. TouchID验证的成功与失败

  func authenticateUserTouchID(){让上下文:LAContext = LAContext()//声明一个NSError变量。letmyLocalizedReasonString =“访问您的Home ViewController需要验证。” var authError:NSError? ){context.evaluatePolicy(.deviceOwnerAuthentication,localizedReason:myLocalizedReasonString){成功,评估错误,如果成功// //如果触摸ID身份验证成功,请导航到下一个视图控制器 { 
DispatchQueue.main.async {print(“系统验证成功”)let storyBoard:UIStoryboard = UIStoryboard(名称:“ Main”,bundle:nil)让homeVC = storyBoard.instantiateViewController(withIdentifier:“ HomeViewController”)为! //其他如果触摸ID身份验证失败,则打印错误MSG, {HomeViewControllerself.navigationController?.pushViewController(homeVC,animation:true)}} else //
如果让错误=错误{让消息= self.showErrorMessageForLAErrorCode(错误。代码)打印(消息)
}
}}}}

4.在Touch ID身份验证失败时打印错误消息

  func showErrorMessageForLAErrorCode(errorCode:Int)->字符串{ 

var message =“”

开关errorCode {

案例LAError.AppCancel.rawValue:
message =“验证已被应用程序取消”

案例LAError.AuthenticationFailed.rawValue:
message =“用户无法提供有效的凭据”

案例LAError.InvalidContext.rawValue:
message =“上下文无效”

案例LAError.PasscodeNotSet.rawValue:
message =“未在设备上设置密码”

案例LAError.SystemCancel.rawValue:
message =“系统已取消身份验证”

案例LAError.TouchIDLockout.rawValue:
message =“失败尝试太多。”

案例LAError.TouchIDNotAvailable.rawValue:
message =“ TouchID在设备上不可用”

案例LAError.UserCancel.rawValue:
message =“用户确实取消了”

案例LAError.UserFallback.rawValue:
message =“用户选择使用后备”

默认:
message =“在LAError对象上找不到错误代码”

}

返回讯息

}

在您的应用程序中尝试“ TouchID身份验证集成”

您如何看待本教程? 希望听到您的反馈。

请分享并给予一些掌声,以便其他人也可以找到它有用👏👏👏👏👏👏!!!!

在以下位置关注我: 推特 | GitHub | 领英