转载

iOS Touch ID使用

1.首先导入头文件

#import <LocalAuthentication/LocalAuthentication.h>

2.关键代码

- (void)validateTouchID {  LAContext *context = [[LAContext alloc] init];  NSError *error;  NSString *tip = @"通过Home键验证已有手机指纹";  //  判断手机是否有指纹  if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {   [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:tip reply:^(BOOL success, NSError *error) {    if (success) {     //  验证成功     NSLog(@"success");    } else {     NSLog(@"%@",error.description);     switch (error.code) {      case LAErrorSystemCancel:       NSLog(@"系统取消授权");       break;      case LAErrorUserCancel:       NSLog(@"用户取消");       break;      case LAErrorUserFallback:       NSLog(@"用户输入密码");       break;      default:       break;     }    }   }];  } else {   NSLog(@"不支持指纹识别,%@",error.description);  } } 

3. LAError枚举相关解释

typedef NS_ENUM(NSInteger, LAError) {  /// 认证不成功,因为用户没有提供有效的凭据  LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,  /// 被用户取消验证(例如:“取消”按钮)。  LAErrorUserCancel     = kLAErrorUserCancel,  /// 认证被取消了,因为用户点击回退按钮(输入密码)。  LAErrorUserFallback   = kLAErrorUserFallback,  /// 通过系统(例如另一个应用程序的应用程序)被取消验证。  LAErrorSystemCancel   = kLAErrorSystemCancel,  /// 认证无法启动,因为密码没有设置在设备。  LAErrorPasscodeNotSet    = kLAErrorPasscodeNotSet,  /// 无法启动验证,因为在设备上不提供触摸标识。  LAErrorTouchIDNotAvailable  = kLAErrorTouchIDNotAvailable,  /// 无法启动验证,因为触摸标识没有注册手指。  LAErrorTouchIDNotEnrolled   = kLAErrorTouchIDNotEnrolled, } NS_ENUM_AVAILABLE(10_10, 8_0); 

4.效果图

iOS Touch ID使用

如果你不是在wb145230博客园看到本文, 请点击查看原文 .

正文到此结束
Loading...