ios开发-指纹识别

最近我们使用支付宝类似软件的时候,发现可以使用指纹了,看起来是否的高大上。当时苹果推出了相关接口,让程序写起来很简单哈。

在iPhone5s的时候,苹果推出了指纹解锁。但是在ios8.0的时候苹果才推出相关的接口

所有我们需要判断硬件设备和ios系统版本是否支持

下面的例子是,先提示指纹识别,如果不支持或者主动取消,则需要手动输入密码认证

所以我们第一步需要判定系统版本,如果不支持,我们直接返回,即可

1 if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) {
2         [self inputUserInfo];
3         return;
4     }

 

第二步,判断手机是否支持指纹识别,我们要使用到一个LAContext类

技术分享
1      //创建LAContext
2     LAContext *ctx = [[LAContext alloc] init];
3      // 判断设备是否支持指纹识别
4     if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {
5      
6         //识别代码部分
7 }
技术分享

 

第三步,在第二步的“识别代码部分”填写正经的识别代码

技术分享
 1    //创建LAContext
 2     LAContext *ctx = [[LAContext alloc] init];
 3      // 判断设备是否支持指纹识别
 4     if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {
 5      
 6         NSLog(@"请按手指");
 7         
 8         // 输入指纹 - 回调是异步的
 9         [ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"提示文字" reply:^(BOOL success, NSError *error) {
10             
11             
12             // 1. 如果输入成功
13             if (success) {
14                 //成功
15             } else {
16                 // 判断错误类型是否是主动自行输入密码
17                 if (error.code == LAErrorUserFallback) {
18                     dispatch_async(dispatch_get_main_queue(), ^{
19                         //密码验证方法
20                     });
21                 }
22             }
23         }];
24     } else {
25         
26         //密码验证方法
27     }

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