标签:
最近我们使用支付宝类似软件的时候,发现可以使用指纹了,看起来是否的高大上。当时苹果推出了相关接口,让程序写起来很简单哈。
在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 }
标签:
原文地址:http://www.cnblogs.com/BinZone/p/4536386.html