全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

简单实现iOS指纹解锁(TouchID)

本文实例为大家分享了iOS指纹解锁的具体代码,供大家参考,具体内容如下

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

#import <LocalAuthentication/LocalAuthentication.h>

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功能  # iOS指纹验证TouchID应用学习教程2  # iOS指纹验证TouchID应用学习教程  # 浅析IOS开发TouchID指纹解锁功能  # IOS 指纹识别详解及实例代码  # iOS中指纹识别常见问题汇总  # 使用Swift代码实现iOS手势解锁、指纹解锁实例详解  # iOS中应用内添加指纹识别的实例代码  # IOS 指纹识别两种方式详解及实例  # iOS指纹登录(TouchID)集成方案详解  # 不支持  # 不可用  # 解锁  # 已有  # 大家分享  # 后才  # 具体内容  # 启动时  # 大家多多  # 输入密码  # systemVersion  # floatValue  # currentDevice  # java  # brush  # UIDevice  # enrolled  # LAContext  # evaluateAuthenticate  # alloc 


相关文章: C#怎么创建控制台应用 C# Console App项目创建方法  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  ,sp开头的版面叫什么?  C#如何序列化对象为XML XmlSerializer用法  招贴海报怎么做,什么是海报招贴?  建站之星如何修改网站生成路径?  nginx修改上传文件大小限制的方法  如何制作网站标识牌,动态网站如何制作(教程)?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  如何快速搭建安全的FTP站点?  黑客如何利用漏洞与弱口令入侵网站服务器?  建站主机核心功能解析:服务器选择与网站搭建流程指南  如何在阿里云ECS服务器部署织梦CMS网站?  如何快速生成ASP一键建站模板并优化安全性?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  如何在IIS中新建站点并配置端口与IP地址?  如何获取上海专业网站定制建站电话?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何在搬瓦工VPS快速搭建网站?  如何用美橙互联一键搭建多站合一网站?  如何基于PHP生成高效IDC网络公司建站源码?  如何选择CMS系统实现快速建站与SEO优化?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  成都网站制作公司哪家好,四川省职工服务网是做什么用?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  网站制作费用多少钱,一个网站的运营,需要哪些费用?  如何选购建站域名与空间?自助平台全解析  C++如何使用std::optional?(处理可选值)  如何在腾讯云服务器快速搭建个人网站?  建站主机选择指南:服务器配置与SEO优化实战技巧  实现虚拟支付需哪些建站技术支撑?  青岛网站建设如何选择本地服务器?  如何通过.red域名打造高辨识度品牌网站?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  小型网站制作HTML,*游戏网站怎么搭建?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  南京网站制作费用,南京远驱官方网站?  如何高效利用200m空间完成建站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  微课制作网站有哪些,微课网怎么进?  ,南京靠谱的征婚网站?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  如何在景安云服务器上绑定域名并配置虚拟主机?  红河网站制作公司,红河事业单位身份证如何上传? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。