判断密码并认证FaceID

  • (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 ↩︎

猜你喜欢

转载自blog.csdn.net/weixin_43480652/article/details/83244327