iOS 指纹解锁验证TouchID功能

 更新时间:2017年03月08日 15:42:46   作者:鸿鹄当高远  
这篇文章主要介绍了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功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • IOS中一段文字设置多种字体颜色代码

    IOS中一段文字设置多种字体颜色代码

    这篇文章主要介绍了IOS中一段文字设置多种字体颜色代码,十分的实用,有需要的小伙伴可以参考下。
    2015-05-05
  • iOS保存App中的照片到系统相册或自建相册的方法

    iOS保存App中的照片到系统相册或自建相册的方法

    这篇文章主要介绍了iOS保存App中的照片到系统相册或自建相册的方法,示例代码为传统的Objective-C语言写成,需要的朋友可以参考下
    2016-04-04
  • 深入浅析IOS中UIControl

    深入浅析IOS中UIControl

    UIControl,相信大家对其并不陌生吧,比如平常最常用的UIButton就是继承自UIControl的。下面通过本篇文章给大家介绍ios中UIControl,感兴趣的朋友一起学习吧
    2015-10-10
  • 学习iOS全局跑马灯

    学习iOS全局跑马灯

    这篇文章主要帮助大家学习iOS全局跑马灯,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • iOS实现相册和网络图片的存取

    iOS实现相册和网络图片的存取

    本篇文章主要介绍了iOS实现相册和网络图片的存取,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • iOS10推送教程详解

    iOS10推送教程详解

    这篇文章主要为大家详细介绍了iOS10推送开发教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • iOS10适配(必看)

    iOS10适配(必看)

    这篇文章主要介绍了iOS10适配(必看)的相关资料,本文图文并茂介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • iOS开发网络编程之断点续传

    iOS开发网络编程之断点续传

    在下载较大的文件的时候,一次不能下载完毕,这就需要用到断点续传,那么在IOS开发中该如何实现呢,下面跟着小编一起通过本文来学习下。
    2016-08-08
  • 为按钮位置配置不同的IOS背景

    为按钮位置配置不同的IOS背景

    这篇文章主要介绍了为按钮位置配置不同的IOS背景,面对多个按钮如何配置不同的IOS背景,需要的朋友可以参考下
    2015-07-07
  • iOS实现动态自适应标签

    iOS实现动态自适应标签

    这篇文章主要为大家详细介绍了iOS动态自适应标签的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03

最新评论