iOS 指纹解锁验证TouchID功能

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

(0)

相关推荐

  • 浅析IOS开发TouchID指纹解锁功能

    效果图如下 实现过程 1.首先引入指纹解锁必须的头文件 #import <LocalAuthentication/LocalAuthentication.h> 2.了解下主要的两个方法 这个方法是判断设备是否支持TouchID的. - (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error __attribute__((swift_error(none))); 这个是用来验证TouchI

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

    本文实例为大家分享了iOS指纹解锁的具体代码,供大家参考,具体内容如下 1.首先,引入依赖框架 LocalAuthentication.framework #import <LocalAuthentication/LocalAuthentication.h> 2.然后,判断系统是否为iOS8及以上 //iOS8.0后才支持指纹识别接口 if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) { return; } 3.最后

  • iOS指纹验证TouchID应用学习教程2

    上一篇文章简单的写了对于touchid的简单了解.因为太懒了,就没有写实例,现在就单独写一篇应用吧,这篇想做的就是一个模仿那个叫啥软件来着,某某理财类类的软件的一个指纹验证解锁.我们做出来的页面应该如下图,在app挂起到后台的时候再点击到前台的时候回出现如下页面: app唤醒的时候出现的画面 点击取消按钮出现的页面 这里我先挂上github的链接地址,毕竟本文的篇幅较长,也没什么人有耐心有时间看到最后,顶多看下demo,快速的知道怎么调用啥的就可以了.(popViewForTouchID) 因为

  • iOS指纹验证TouchID应用学习教程

    指纹验证这个功能现在在一些app中经常常见,常常与数字解锁,手势解锁联合起来使用.前几天接到说实现一个指纹验证的功能,捣鼓了挺久,然后今天,我就简单的介绍下指纹验证,会做个简单的demo实现一下基本的功能.     支持系统和机型:iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8.实现起来呢,其实还是很简单的,下面我们就用纯代码方式实现一个简单的demo1. 第一部分:调用原生服务实现指纹验证 这部分了解个大概就可以了 第一步:添加LocalAuthentic

  • 使用Swift代码实现iOS手势解锁、指纹解锁实例详解

    一.手势密码 1. 1.1.用UIButton组成手势的节点. 1.2.当手指接触屏幕时,调用重写的 touchesBegan:withEvent方法(在touchesBegan里调用setNeedsDisplay,这样就会自动调用drawRect方法). 1.3.当手指在屏幕上滑动时,调用重写的touchesEnded:withEvent方法. 这两个方法执行的操作是一样的:通过locationInView获取 触摸的坐标,然后用 CGRectContainsPoint 判断手指是否经过UIB

  • iOS 指纹解锁验证TouchID功能

    1.首先,引入依赖框架 LocalAuthentication.framework #import <LocalAuthentication/LocalAuthentication.h> 2.然后,判断系统是否为iOS8及以上 //iOS8.0后才支持指纹识别接口 if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) { return; } 3.最后,在APP启动时调用以下方法即可完成指纹解锁的全部功能集成 - (voi

  • iOS指纹登录(TouchID)集成方案详解

    TouchID指纹识别是iPhone 5S设备中增加的一项重大功能.苹果的后续移动设备也相继添加了指纹功能,在实际使用中还是相当方便的,比如快捷登录,快捷支付等等.系统提供了相应框架,使用起来还是比较方便的.使用LAContext对象即可完成指纹识别,提高用户体验. 提示:指纹识别必须用真机测试,并且在iOS8以上系统. TouchID API使用 1.添加头文件 #import 2.判断系统版本 //首先判断版本 if (NSFoundationVersionNumber < NSFounda

  • iOS实现启动引导页与指纹解锁的方法详解

    前言 应用程序启动时有些会有引导页,目的是用户第一次登录时对应用程序的一些简单了解介绍,一般就是几张轮播图片,当引用程序第一次进入时会跳到引导页,以后不再显示,这时就需要将不是第一次登录的标致flag保存到内存中,推荐用户偏好设置NSUserDefaults,第一直接去取值取这个flag取不到(因为是第一次登录)就跳引导页,然后在引导页进入登录页或者首页时将flag值保存到偏好设置中,以后再进来就可以取到不是第一登录的flag就直接跳过引导页.方式有两种:一种是直接切换UIWindow的根控制器

  • Android添加指纹解锁功能的实现代码

    前言 指纹解锁技术成为当前验证用户信息的重要手段,基本上当前手机都配置了指纹解锁.当开发的APP需要加密验证时可以考虑添加系统指纹解锁功能. 添加指纹解锁功能步骤很简单,大致过程如下: 1 添加权限 在Manifest.xml文件中添加访问用户指纹的权限. <uses-permission android:name="android.permission.USE_FINGERPRINT"/> 2 声明系统提供的指纹管理类对象 private FingerprintManag

  • IOS 指纹识别详解及实例代码

    IOS 指纹识别,这里整理下项目中用的知识. IOS 指纹识别现在,在要求安全与效率兼得的时候,普通密码已不能满足我们的要求,指纹识别就这样诞生了. 每个人都有自己专属的指纹,在需要支付等输入密码的地方,我们只需轻轻一按即可,避免了输入密码的繁琐步骤,更加安全,而且妈妈再也不用担心我们忘记密码. 其实,听着高大上,实现起来特别简单,因为苹果已经帮我们封装好了,我们只需要简单的调用就好了. 1.首先,我们需要导入头文件: #import <LocalAuthentication/LocalAuth

随机推荐