iOS SDK详解之App使用Touch ID认证

原创Blog,转载请注明出处
blog.csdn.net/hello_hwc


前言:从iOS 8.0之后,Apple 开放了App使用Touch ID来认证。但是有几点要注意:

  • App只是把认证的过程代理给iOS系统了,并不能获得指纹的具体信息
  • 不要试图把指纹信息和其他的数据库比较,在我写的这天还是不可能的。

使用的效果图

开始验证
技术分享
验证失败
技术分享


支持的设备

  • iPhone 5s +
  • iPad Air 2 +
  • iPad Mini 3 +

如何使用
导入使用的framework

#import <LocalAuthentication/LocalAuthentication.h>

初始化一个LAContext

  LAContext * context = [[LAContext alloc] init];

检查当前设备是否支持TouchID

NSError * error = nil;
    if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
    ...

如果支持,则进行Touch ID认证

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"To login in" reply:^(BOOL success, NSError *error) {
            if (success) {
                //成功
            }else{
                   //失败
            }
}];   

其中,失败返回的Error一共有几种

  • LAErrorAuthenticationFailed - 指纹认证失败
  • LAErrorUserCancel - 用户取消认证(例如点击cancel)
  • LAErrorUserFallback - 用户取消(点击输入password)
  • LAErrorSystemCancel - 系统取消
  • LAErrorPasscodeNotSet - 系统没有设置密码
  • LAErrorTouchIDNotAvailable - 设备不支持TouchID
  • LAErrorTouchIDNotEnrolled - Touch ID没有设置(一个指纹没有)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。