成都网站建设设计

将想法与焦点和您一起共享

iOS指纹解锁验证TouchID功能

1、首先,引入依赖框架 LocalAuthentication.framework

十余年的八宿网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整八宿建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“八宿网站设计”,“八宿网站推广”以来,每个客户项目都认真落实执行。

#import 

2、然后,判断系统是否为iOS8及以上

//iOS8.0后才支持指纹识别接口
  if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) {
    return;
  }

3、最后,在APP启动时调用以下方法即可完成指纹解锁的全部功能集成

- (void)evaluateAuthenticate
{
  //创建LAContext
  LAContext* context = [[LAContext alloc] init];
  NSError* error = nil;
  NSString* result = @"请验证已有指纹";
  //首先使用canEvaluatePolicy 判断设备支持状态
  if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
    //支持指纹验证
    [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:result reply:^(BOOL success, NSError *error) {
      if (success) {
        //验证成功,主线程处理UI
      }
      else
      {
        NSLog(@"%@",error.localizedDescription);
        switch (error.code) {
          case LAErrorSystemCancel:
          {
            //系统取消授权,如其他APP切入
            break;
          }
          case LAErrorUserCancel:
          {
            //用户取消验证Touch ID
            break;
          }
          case LAErrorAuthenticationFailed:
          {
            //授权失败
            break;
          }
          case LAErrorPasscodeNotSet:
          {
            //系统未设置密码
            break;
          }
          case LAErrorTouchIDNotAvailable:
          {
            //设备Touch ID不可用,例如未打开
            break;
          }
          case LAErrorTouchIDNotEnrolled:
          {
            //设备Touch ID不可用,用户未录入
            break;
          }
          case LAErrorUserFallback:
          {
            [[NSOperationQueue mainQueue] addOperationWithBlock:^{
              //用户选择输入密码,切换主线程处理
            }];
            break;
          }
          default:
          {
            [[NSOperationQueue mainQueue] addOperationWithBlock:^{
              //其他情况,切换主线程处理
            }];
            break;
          }
        }
      }
    }];
  }
  else
  {
    //不支持指纹识别,LOG出错误详情
    NSLog(@"不支持指纹识别");
    switch (error.code) {
      case LAErrorTouchIDNotEnrolled:
      {
        NSLog(@"TouchID is not enrolled");
        break;
      }
      case LAErrorPasscodeNotSet:
      {
        NSLog(@"A passcode has not been set");
        break;
      }
      default:
      {
        NSLog(@"TouchID not available");
        break;
      }
    }
    NSLog(@"%@",error.localizedDescription);
  }
}

以上所述是小编给大家介绍的iOS 指纹解锁验证TouchID功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!


文章题目:iOS指纹解锁验证TouchID功能
文章路径:http://chengdu.cdxwcx.cn/article/gjoicp.html