博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS Touch ID使用
阅读量:5285 次
发布时间:2019-06-14

本文共 1912 字,大约阅读时间需要 6 分钟。

1.首先导入头文件

#import 

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

 

如果你不是在wb145230博客园看到本文,.

 

转载于:https://www.cnblogs.com/wb145230/p/4659193.html

你可能感兴趣的文章
瞬间的永恒
查看>>
2019-8-5 考试总结
查看>>
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
div或者p标签单行和多行超出显示省略号
查看>>
Elasticsearch 滚动重启 必读
查看>>
Hadoop基本概念
查看>>
java.util.zip压缩打包文件总结一:压缩文件及文件下面的文件夹
查看>>
浅说 apache setenvif_module模块
查看>>
MySQL--数据插入
查看>>
重新学习python系列(二)? WTF?
查看>>
shell脚本统计文件中单词的个数
查看>>
SPCE061A学习笔记
查看>>
sql 函数
查看>>
hdu 2807 The Shortest Path 矩阵
查看>>
熟悉项目需求,要知道产品增删修改了哪些内容,才会更快更准确的在该项目入手。...
查看>>
JavaScript 变量
查看>>
java实用类
查看>>