zoukankan      html  css  js  c++  java
  • 指纹验证

    #import <LocalAuthentication/LocalAuthentication.h>

     

    - (IBAction)authenticateButtonTapped:(id)sender {

        LAContext *context = [[LAContext alloc] init];

        context.localizedFallbackTitle = @"输入密码";

        NSError *error = nil;

        

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

            

            [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics

                    localizedReason:@"您是这设备的所有者吗?"

                              reply:^(BOOL success, NSError *error) {

                                  if (success) {

                                      dispatch_async (dispatch_get_main_queue(), ^{

                                          

                                          UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success"

                                                                                          message:@"你是设备主人。"

                                                                                         delegate:nil

                                                                                cancelButtonTitle:@"Ok"

                                                                                otherButtonTitles:nil];

                                          [alert show];

                                      });

                                      

                                  }else{

                                      

                                      

                                      /*

                                       // 用户未提供有效证书,(3次机会失败 --身份验证失败)

                                       LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,

                                       

                                       // 认证被取消,(用户点击取消按钮)

                                       LAErrorUserCancel           = kLAErrorUserCancel,

                                       

                                       // 认证被取消,用户点击回退按钮(输入密码)

                                       LAErrorUserFallback         = kLAErrorUserFallback,

                                       

                                       // 身份验证被系统取消,(比如另一个应用程序去前台)

                                       LAErrorSystemCancel         = kLAErrorSystemCancel,

                                       

                                       // 身份验证无法启动,因为密码在设备上没有设置。

                                       LAErrorPasscodeNotSet       = kLAErrorPasscodeNotSet,

                                       

                                       // 身份验证无法启动,因为触摸ID在设备上不可用。

                                       LAErrorTouchIDNotAvailable  = kLAErrorTouchIDNotAvailable,

                                       

                                       // 身份验证无法启动,因为没有登记的手指触摸ID 没有设置指纹密码时。

                                       LAErrorTouchIDNotEnrolled   = kLAErrorTouchIDNotEnrolled,

                                       **/

                                      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(@"触摸ID在设备上不可用");

                                              

                                              break;

                                              

                                          case LAErrorTouchIDNotEnrolled:

                                              NSLog(@"没有登记的手指触摸ID");

                                              

                                              break;

                                              

                                          default:

                                              NSLog(@"Touch ID没配置");

                                              

                                              break;

                                      }

                                  }

                              }];

            

        } else {

            dispatch_async (dispatch_get_main_queue(), ^{

                

                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"错误提示"

                                                                message:@"您的设备没有触摸ID."

                                                               delegate:nil

                                                      cancelButtonTitle:@"Ok"

                                                      otherButtonTitles:nil];

                [alert show];

            });

        }

        

    }

  • 相关阅读:
    java之SpringBoot配置多数据源,使用dynamicdatasourcespringbootstarter和mybatisplusbootstarter,查了很多都不行,就这个可用。
    IntelliJ IDEA——数据库集成工具(Database)的使用
    opencv 截取视频
    linux 环境中cat命令进行关键字搜索
    composer 安装 指定php版本
    【高中经验分享】2021.11.29
    达梦数据库远程网页访问
    BERT代码阅读
    watchdog用于监测系统服务是否挂掉,挂掉则自动重启
    BERT模型+rabbitmq队列,进行实时预测,防止每次预测都重新加载图
  • 原文地址:https://www.cnblogs.com/yinyakun/p/4225531.html
Copyright © 2011-2022 走看看