iOSTouchID使用

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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) {caseLAErrorSystemCancel:

NSLog(@"系统取消授权");

break;caseLAErrorUserCancel:

NSLog(@"用户取消");

break;caseLAErrorUserFallback:

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.效果图

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航