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     }

你可能感兴趣的:(ios开发)