iOS touchID集成

来源:互联网 发布:淘宝网店装修策略 编辑:程序博客网 时间:2024/05/22 15:49
  1. 导入系统头文件
    #import <LocalAuthentication/LocalAuthentication.h>
  2. 在需要验证的位置调用方法
    LAContext *context = [[LAContext alloc]init]; NSError *error = nil; NSLog(@"%@",[context evaluatedPolicyDomainState]); if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&error]) {   [context evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:@"验证id" reply:^(BOOL success, NSError * _Nullable error) {         if (success) {             NSLog(@"验证成功");         } else {             NSLog(@"%@",error.localizedDescription);             switch (error.code) {                 case LAErrorSystemCancel:                 {                     NSLog(@"系统取消授权,如其他APP切入");                     break;                 }                 case LAErrorUserCancel:                 {                     NSLog(@"用户取消验证Touch ID");                     break;                 }                 case LAErrorAuthenticationFailed:                 {                     NSLog(@"授权失败");                     break;                 }                 case LAErrorPasscodeNotSet:                 {                     NSLog(@"系统未设置密码");                     break;                 }                 case LAErrorTouchIDNotAvailable:                 {                     NSLog(@"设备Touch ID不可用,例如未打开");                     break;                 }                 case LAErrorTouchIDNotEnrolled:                 {                     NSLog(@"设备Touch ID不可用,用户未录入");                     break;                 }                 case LAErrorUserFallback:                 {                     [[NSOperationQueue mainQueue] addOperationWithBlock:^{                         NSLog(@"用户选择输入密码,切换主线程处理");                     }];                     break;                 }                 default:                 {                     [[NSOperationQueue mainQueue] addOperationWithBlock:^{                         NSLog(@"其他情况,切换主线程处理");                     }];                     break;                 }             }         }     }];  } else {      NSLog(@"不支持指纹识别");     switch (error.code) {         case LAErrorTouchIDNotEnrolled:         {             NSLog(@"TouchID is not enrolled");             break;         }         case LAErrorPasscodeNotSet:         {             NSLog(@"A passcode has not been set");             break;         }         default:         {             NSLog(@"TouchID not available");             break;         }     }     NSLog(@"%@",error.localizedDescription);  }
原创粉丝点击