zoukankan      html  css  js  c++  java
  • 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     }
  • 相关阅读:
    杭电2063 过山车 匈牙利算法
    杭电2023 平均成绩
    leveldb性能分析
    linux下libreoffice安装测试
    iptables配置vsftp访问
    vsftp访问异常
    mysql二进制安装
    vi命令
    mysql配置优化
    rsync 配置
  • 原文地址:https://www.cnblogs.com/BinZone/p/4536386.html
Copyright © 2011-2022 走看看