美文网首页
iOS 开发之内嵌指纹识别功能

iOS 开发之内嵌指纹识别功能

作者: 无沣 | 来源:发表于2017-08-17 08:59 被阅读50次

iPhone5S开始,推出指纹识别

iOS8.0之后苹果允许第三方 App 使用 Touch ID进行身份验证

指纹识别Touch ID提供3+2 = 5次指纹识别机会----->3次识别失败后,指纹验证框消失(会报错code = -1)然后点击指纹会再次弹框可验证两次,如果五次指纹识别全部错误,就需要手动输入数字密码,数字密码可以输入6次,如果6次输入密码错误,系统停止验证,等待验证时间后会提供再次验证的机会,正确及验证成功(1次),错误则时间累加等待验证,以此类推.

iOS10-----> 5次之后有问题: 需要进入设置中 -- TouchID与密码, 输入一次密码, 就可以解开

思路:

1.导入#import

2.判断iOS8及以后版本

3.创建本地验证上下文对象LAContext    (LocalAuthentication)

4. 判断能否使用指纹识别 :Evaluate: 评估  Policy: 策略 LAPolicyDeviceOwnerAuthenticationWithBiometrics: 设备拥有者授权 用 生物识别技术

5.成功调用<有的情况>

主要代码及注释:

//1.判断iOS8及以后的版本

if([UIDevice currentDevice].systemVersion.doubleValue >= 8.0){

//从iPhone5S开始,出现指纹识别技术,所以说在此处可以进一步判断是否是5S以后机型

//2.创建本地验证上下文对象-->这里导入框架LocalAuthentication

LAContext *context = [LAContext new];

// 3.判断能否使用指纹识别

//Evaluate: 评估

//Policy: 策略

//LAPolicyDeviceOwnerAuthenticationWithBiometrics: 设备拥有者授权 用 生物识别技术

if([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil]){

//4.在可以使用的前提下就会调用

//localizedReason本地原因alert显示

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"请允许设备指纹识别" reply:^(BOOL success, NSError * _Nullable error) {

      if (success) { 

            //此处记得在主线程中更新UI

            dispatch_sync(dispatch_get_main_queue(), ^{

            UIAlertController *ac = [UIAlertController alertControllerWithTitle:@"  提示  " message:@" 识别成功 "                      preferredStyle:UIAlertControllerStyleAlert];

            UIAlertAction *confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleCancel handler:^(UIAlertAction *_Nonnull action){

        }];  

            [ac addAction:confirm];

             [self presentViewController:ac animated:true completion:^{

       }];  

     ac = nil;

   });

}

//不需要统计用户取消

if(error.code != -2){

//  指纹识别Touch ID提供3+2 = 5次指纹识别机会----->3次识别失败后,指纹验证框消失(会报错code = -1)然后点击指纹会再次弹框可验证两次,如果五次指纹识别全部错误,就需要手动输入数字密码,数字密码可以输入6次,如果6次输入密码错误,系统停止验证,等待验证时间后会提供再次验证的机会,正确及验证成功(1次),错误则时间累加等待验证,以此类推. (iOS10不一样, 5次之后有问题: 需要进入设置中 -- TouchID与密码, 输入一次密码, 就可以解开)

      //Code=-2 "Canceled by user

      //Code=-1 "Application retry limit exceeded."

     //Code=-8 "Biometry is locked out."

      NSLog(@"error: %@", error);

    } 

  }];

}else{

NSLog(@"请确保(5S以上机型),TouchID未打开");

   }

}

相关文章

  • iOS 开发之内嵌指纹识别功能

    iPhone5S开始,推出指纹识别 iOS8.0之后苹果允许第三方 App 使用 Touch ID进行身份验证 指...

  • iOS 8 SDK添加Touch ID指纹识别功能

    iOS 8 SDK向开发者公开了Touch ID指纹识别功能,允许App对用户身份进行本地验证。使用TouchID...

  • iOS Touch ID指纹识别(支付)

    指纹识别功能是iphone 5S之后推出的.SDK是iOS 8.0推出! 推出指纹识别功能的目的,是为了简化移动支...

  • iOS Touch ID

    iOS 8 SDK向开发者公开了Touch ID指纹识别功能,允许App对用户身份进行本地验证。使用Touch I...

  • app高大上的指纹识别登陆

    iOS 8 SDK向开发者公开了Touch ID指纹识别功能,允许App对用户身份进行本地验证。使用Touch I...

  • 指纹识别

    指纹识别: 从iPhone5s开始,苹果手机有了指纹识别功能,而从iOS8.0开始,苹果开放了指纹识别的接口。 简...

  • iOS指纹识别-iOS开发小模块功能

    实现iOS指纹验证功能指纹识别功能为本地认证的一种,因此首先需要包含

  • iOS开发之指纹识别

    // 注意: 指纹识别虽然在5S的是推出的 但是接口是在ios8 才给出的 所以写这个的时候 先验证一下 // ...

  • iOS调取TouchID(指纹识别)

    导入头文件 因为指纹识别是苹果在iOS8才出的一个功能,所以进行判断是不是iOS8以及之后的系统版本 获取指纹识别

  • ios开发实现画板功能

    ios开发实现画板功能 ios开发实现画板功能

网友评论

      本文标题:iOS 开发之内嵌指纹识别功能

      本文链接:https://www.haomeiwen.com/subject/fjkgrxtx.html