Touch ID指纹解锁使用
Touch ID是iPhone5S后加入的一项新的功能,也就是大家熟知的指纹识别技术。大家用得最多的可能是手机的解屏操作,不用在和以前一样输入手机的四位数密码进行验证。一方面不用担心密码被别人看到,另一方面也方便了自己的操作。iOS8后苹果开放了Touch ID的API给开发者,这也给我们的app带来了新的体验。
使用
Touch ID的API非常的简单也好理解,在使用前我们需要导入LocalAuthentication这个库。并引入关键模块:LAcontext
苹果公司并没有对Touch ID完全开放,只是开放了如下所的两个接口
(1) canEvaluatePolicy:error: 判读是否能够认证Touch ID
(2) evaluatePolicy:localizedReson:reply: 认证Touch ID
关键代码如下
LAContext * myContext = [[LAContext alloc]init];
NSError * authError = nil;
NSString * myLocatizedReasonString = @"请扫描你的指纹.";
if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {
[myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:myLocatizedReasonString reply:^(BOOL success, NSError * _Nullable error) {
if (success) {
dispatch_async (dispatch_get_main_queue(), ^{
//在主线程更新 UI,不然会卡主
TouchViewController * touchVC = [[TouchViewController alloc]init];
[self.navigationController pushViewController:touchVC animated:YES];
});
}
if (!success) {
NSLog(@"%@",error);
}
}];
}
错误处理
typedef NS_ENUM(NSInteger, LAError)
{
//用户验证没有通过,比如提供了错误的手指的指纹
LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,
// 用户取消了Touch ID验证
LAErrorUserCancel = kLAErrorUserCancel,
//用户不想进行Touch ID验证,想进行输入密码操作
LAErrorUserFallback = kLAErrorUserFallback,
// 系统终止了验证
LAErrorSystemCancel = kLAErrorSystemCancel,
// 用户没有在设备Settings中设定密码
LAErrorPasscodeNotSet = kLAErrorPasscodeNotSet,
// 设备不支持Touch ID
LAErrorTouchIDNotAvailable = kLAErrorTouchIDNotAvailable,
// 设备没有进行Touch ID 指纹注册
LAErrorTouchIDNotEnrolled = kLAErrorTouchIDNotEnrolled,
} NS_ENUM_AVAILABLE(10_10, 8_0);
Touch ID指纹解锁使用的更多相关文章
- iOS --- Touch ID指纹解锁
https://www.cnblogs.com/ljmaque/p/TouchID.html 最近在项目中刚好用到了TouchId指纹解锁功能,之前也没有接触过,立马百度看看究竟是要如何使用,发现其实 ...
- iOS- Swift:指触即开,如何集成Touch ID指纹识别功能
1.前言 随着移动支付时代的到来,Touch ID 指纹验证迅速被支付宝,微信钱包普及,相信各位朋友使用后也大呼方便.之前写了篇关于iOS9的3D Touch的集成使用,有朋友在我博客下提到,让我写一 ...
- iOS开发——Touch ID 指纹识别
项目中为了安全性,一般使用密码或iPhone手机的指纹识别Touch ID. 第一步,判断系统是否支持,iOS8.0及以上才支持. 第二步,判断手机是否支持,带Touch ID的手机iPhone5s及 ...
- iOS指纹识别Touch ID的安全性探讨
苹果公司在 iPhone 5s 的发布会上公布了全新的指纹识别安全技术,也就是 Touch ID,开创了生物安全识别技术在便携设备上使用的新篇章.此后,苹果还将此技术带到了 iPad 上.此前没有任何 ...
- Touch ID使用
前言:如果图片看不了请移步:简书 Touch ID简介 Touch ID指纹识别作为iPhone 5s上的"杀手级"功能早已为人们所熟知,目前搭载的设备有iphone SE.iPh ...
- Touch ID和Passcode框架,Apple Watch风格的应用布局
本文转载至 http://www.cocoachina.com/ios/20141031/10110.html 水平滚动条(artwalk) 测试环境:Xcode 6.0,iOS 8.0 VE ...
- iOS Touch Id 开发
Touch Id Touch Id是iPhone5S后加入的一项新的功能,也就是大家熟知的指纹识别技术.大家用得最多的可能是手机的解屏操作,不用在和以前一样输入手机的四位数密码进行验证.一方面不用担心 ...
- 微信将推指纹支付 "指付通"会与Touch ID整合吗
有消息称微信下一版本将推指纹支付“指付通”,解决手机丢失资金安全的问题(这个应该是针对阿里手机支付的弱点),到时候用户绑定的银行卡进行付款时,不用输入密码只需在专门的支付设备(苹果Touch ID ? ...
- 苹果5S指纹扫描识别传感器Touch ID有利于iPhone的安全性
iPhone5S新增的指纹扫描识别传感器 Touch ID,黑客花了大量的时间表明指纹验证是可以被破解的.即使它可能被黑客攻击,对iPhone5S的安全性而言,仍然具有极大的好处. 为什么一个容易被破 ...
随机推荐
- SQL 表锁(转)
其实你可以使用事务处理 比方说在一个字段里面添加一个boolean 的字段当你要处理该字段的时候就 True 哪么别的人都不可以进行操作 如果是False 哪么就可以进行操作--呵可--我是这样的 ...
- iOS有关截图的操作
1.截取选中view的图片 //根据size大小创建一个基于位图的图形上下文 CGRect rect =view.frame; UIGraphicsBeginImageContext(rect.siz ...
- DuiLib(四)——控件绘制
duilib的所有控件均绘制在唯一的真实窗口之中,本篇就具体看下这个绘制的过程.所有的绘制过程均在WM_PAINT消息处理过程中完成.由窗口及消息篇可以看到,窗口消息处理最终流到了CPaintMana ...
- Javascript可变长度参数列表 - Arguments对象
在一个函数体内,标识符arguments具有特殊含义. Arguments对象是一个类似数组的对象 eg: 验证函数参数的正确数目 function f(x, y, z) { if (argument ...
- hdu 5569 matrix dp
matrix Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5569 D ...
- delphi 修改Hint的字体和颜色
//修改Hint的字体和颜色 public { Public declarations } procedure Sshowhint(var hintstr:string;var can ...
- UVA 1401 - Remember the Word(Trie+DP)
UVA 1401 - Remember the Word [题目链接] 题意:给定一些单词.和一个长串.问这个长串拆分成已有单词,能拆分成几种方式 思路:Trie,先把单词建成Trie.然后进行dp. ...
- java后端模拟表单提交
代码可实现文本域及非文本域的处理 请求代码: /** * 上传 * * @param urlStr * @param textMap * @param fileMap * @return */ pub ...
- S_ISREG等几个常见的宏 struct stat
S_ISLNK(st_mode):是否是一个连接.S_ISREG(st_mode):是否是一个常规文件.S_ISDIR(st_mode):是否是一个目录S_ISCHR(st_mode):是否是一个字符 ...
- 标准库类型vector
标准库类型vector表示对象的集合,其中所有对象的类型都相同.集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它被称为容器. 要想使用vector, ...