美文网首页
Touch ID 使用

Touch ID 使用

作者: 古子林 | 来源:发表于2017-08-03 18:45 被阅读14次

简单记录一下如何在自己的 APP 中调用系统 Touch ID

截图.PNG
注意:
需要导入 LocalAuthentication.framework 框架
和 #import <LocalAuthentication/LocalAuthentication.h> 头文件
代码:
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    
    LAContext *lacontext = [[LAContext alloc] init];
    NSError *error;
    
    // 判断设备是否支持 Touch ID, 是否开启Touch ID
    if ([lacontext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
        
        // localizedReason 不能为空
        [lacontext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"输入指纹改变背景色" reply:^(BOOL success, NSError * _Nullable error) {
            
            // 这里回调是在分线程中,修改 UI 要记得会主线程
            NSLog(@"currentTheard:%@",[NSThread currentThread]);
            if (success) {
                dispatch_sync(dispatch_get_main_queue(), ^{
                    
                    self.view.backgroundColor = [UIColor colorWithRed:(arc4random()%256)/255.0 green:(arc4random()%256)/255.0 blue:(arc4random()%256)/255.0 alpha:1.0];
                });
            }
            
            if (error) {
                switch (error.code) {
                    case LAErrorAuthenticationFailed:
                        NSLog(@"指纹错误");
                        break;
                    case LAErrorUserCancel:
                        NSLog(@"点击取消");
                        break;
                    case LAErrorUserFallback:
                        NSLog(@"用户选择密码输入");
                        break;
                    case LAErrorSystemCancel:
                        NSLog(@"系统终止了验证");
                        break;
                    case LAErrorPasscodeNotSet:
                        NSLog(@"没有设置指纹密码");
                        break;
                    case LAErrorTouchIDNotAvailable:
                        NSLog(@"不支持Touch ID");
                        break;
                    case LAErrorTouchIDNotEnrolled:
                        NSLog(@"设备没有进行Touch ID 指纹注册");
                        break;
                    case LAErrorTouchIDLockout:
                        NSLog(@"用户指纹错误多次,Touch ID 被锁定");
                        break;
                    case LAErrorAppCancel:
                        NSLog(@"取消(如突然来电话等其他情况)");
                        break;
                    case LAErrorInvalidContext:
                        NSLog(@"创建的指纹对象失效");
                        break;
                    default:
                        break;
                }
            }
        }];
    }
}

相关文章

  • Touch ID 使用

    简单记录一下如何在自己的 APP 中调用系统 Touch ID 注意: 代码:

  • Touch ID 使用

    介绍 Touch ID是iPhone5S后加入的一项新的功能,也就是大家熟知的指纹识别技术。iOS8后苹果开放了T...

  • Touch ID使用

    前言:如果图片看不了请移步:简书 Touch ID简介 Touch ID指纹识别作为iPhone 5s上的“杀手级...

  • 使用Touch Id验证

    在新版支付宝和新版QQ中都加入了指纹识别功能,这么高大上的功能自然要学学怎么使用了。 像这种调用系统功能的,自然要...

  • Touch ID 简单使用

    Touch ID 指纹识别首次应用是在2013年9月发布的iPhone 5s 上。在今天,指纹识别已经是所有智能手...

  • iOS 填坑之Touch ID与Face ID

    一、Touch ID 2013年随iPhone 5s面世,Apple开启了,Touch ID解锁在移动终端上的使用...

  • Mac Book 上的touch id妙用

    使用新版的macbook或pro都是支持Touch ID。 Touch ID在工作生活中,有哪些妙用。今天介绍一下...

  • SwiftUI: 使用 Touch ID 和 Face ID

    苹果绝大多数设备都以生物识别身份验证为标准,这意味着它们使用指纹和面部识别来解锁。我们也可以使用此功能,这意味着我...

  • iOS Touch ID使用教程

    支持系统和机型 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,虽然安装iO...

  • 使用Touch ID(Local Authentication)

    Local Authentication 原文地址 1. 概述 2. LAContext 3. 授权策略 LAPo...

网友评论

      本文标题:Touch ID 使用

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