欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断密码并认证FaceID

程序员文章站 2022-04-11 15:51:44
...
  • (IBAction)btn:(id)sender {
    if ([_zhanghao.text isEqual:@""]) {
    UIAlertView *aler =[[UIAlertView alloc] initWithTitle:@“提示” message:@“账号 不能为空” delegate:self cancelButtonTitle:@“确定” otherButtonTitles:nil, nil];
    [aler show];
    }else{
    if ([_mima.text isEqual:@""]) {
    UIAlertView *aler =[[UIAlertView alloc] initWithTitle:@“提示” message:@“密码 不能为空” delegate:self cancelButtonTitle:@“确定” otherButtonTitles:nil, nil];
    [aler show];
    return ;
    }

      if ([self judgePassWordLegal:_mima.text]==YES) {
          LAContext *authenticationContext = [[LAContext alloc]init];
          NSError* error = [[NSError alloc]init];
          BOOL  isTouchIdAailable = [authenticationContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil];
          
          if (isTouchIdAailable) {
              NSLog(@"认证成功");
              [authenticationContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"需要验证您的指纹来确认您的身份信息" reply:^(BOOL success, NSError * _Nullable error) {
                  if(success) {
                      dispatch_async(dispatch_get_main_queue(), ^{
                          twoViewController *sec =[[twoViewController alloc] init];
                          [self presentViewController:sec animated:YES completion:nil];
                      });
                      
                      NSLog(@"恭喜,您通过了Touch ID指纹验证!");
                  }
                  else
                  {
                      NSLog(@"抱歉,您未通过了Touch ID指纹验证!");
                  }
              }];
          }else{
              UIAlertController *alertvc =[UIAlertController alertControllerWithTitle:@"提示" message:@"不支持 touchID/fachID" preferredStyle:UIAlertControllerStyleAlert];
              [alertvc addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleCancel handler:nil]];
              [self presentViewController:alertvc animated:YES completion:nil];
          }
          
          
          twoViewController *two =[twoViewController new];
          [self presentViewController:two animated:YES completion:nil];
      }else{
          UIAlertView *aler =[[UIAlertView alloc] initWithTitle:@"提示" message:@"密码 格式不正确" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
          [aler show];
      }
    

    }
    }
    -(BOOL)judgePassWordLegal:(NSString *)_textfile{
    BOOL result = false;
    if ([_textfile length] >= 8){
    // 判断长度大于8位后再接着判断是否同时包含数字和字符
    NSString * regex = @"1{4,16}$";
    //识别正则语句 的类
    NSPredicate *pred = [NSPredicate predicateWithFormat:@“SELF MATCHES %@”, regex];
    result = [pred evaluateWithObject:_textfile];
    }
    return result;
    }


  1. 0-9A-Za-z ↩︎

相关标签: IOS