栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > iOS

iOS 指纹解锁验证TouchID功能

iOS 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

iOS 指纹解锁验证TouchID功能

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

#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功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/166739.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号