IOS 指纹识别两种方式详解及实例

时间:2022-06-17 09:35:26

IOS 指纹识别两种方式详解及实例

首先引入类名:

?
1
#import <LocalAuthentication/LocalAuthentication.h>

然后在实现指纹识别的地方放入如下代码:

方式一:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
LAContext *lacontext = [[LAContext alloc]init];
  // 判断设备是否支持指纹识别
  BOOL isSupport = [lacontext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL];
  if(!isSupport)
  {
    NSLog(@"不支持!");
    return;
  }
  [lacontext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"请按下手印" reply:^(BOOL success, NSError *error) {
    if(success)
    {
      NSLog(@"成功后,处理接下来的逻辑");
    }
  }];

iPhone 5s推出指纹识别, 在 iOS 8.0 苹果开放了指纹识别的 SDK

最重要的应用领域是支付

方式二:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) {
    NSLog(@"不支持");
    return;
  }
 
  LAContext *ctx = [[LAContext alloc] init];
  // 判断设备是否支持指纹识别
  if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {
    NSLog(@"支持");
    // 输入指纹,异步
    // 提示:指纹识别只是判断当前用户是否是手机的主人!程序原本的逻辑不会受到任何的干扰!
    [ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指纹登录" reply:^(BOOL success, NSError *error) {
      if (success) {
        // 登录成功
        // TODO
        NSLog(@"登陆成功");
      }
    }];
  } else {
    NSLog(@"不支持");
  }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!