iOS Touch ID 使用详情
简单介绍:
支持系统和机型
iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,虽然安装iOS 7系统的5s机型可以使用系统提供的指纹解锁功能,但由于API并未开放,所以理论上第三方软件不可使用。
依赖框架
LocalAuthentication.framework
import <LocalAuthentication/LocalAuthentication.h>
注意事项
做iOS 8以下版本适配时,务必进行API验证,避免调用相关API引起崩溃。
使用类
LAContext指纹验证操作对象
代码实现:
//初始化上下文对象LAContext* context = [[LAContext alloc] init]; //错误对象NSError * error = nil;NSString * result = @"验证";context.localizedFallbackTitle = @"123"; //判断设备是否支持touchIDBOOL isSupport = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];if (isSupport) {//指纹识别函数[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"用 Touch ID 登录" reply:^(BOOL success, NSError *error) {//如果成功if (success) {NSLog(@"验证成功");}else{switch (error.code) {case LAErrorSystemCancel:{NSLog(@"Authentication was cancelled by the system");//切换到其他APP,系统取消验证Touch IDbreak;}case LAErrorUserCancel:{NSLog(@"Authentication was cancelled by the user");//用户取消验证Touch IDbreak;}case LAErrorUserFallback:{NSLog(@"User selected to enter custom password");[[NSOperationQueue mainQueue] addOperationWithBlock:^{//用户选择输入密码,切换主线程处理}];break;}}}}];} else {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);
}
下面是LAError中每个枚举对应的含义
typedef NS_ENUM(NSInteger, LAError){//授权失败 LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,
//用户取消Touch ID授权 LAErrorUserCancel = kLAErrorUserCancel,
//用户选择输入密码 LAErrorUserFallback = kLAErrorUserFallback, //系统取消授权(例如其他APP切入) LAErrorSystemCancel = kLAErrorSystemCancel,
//系统未设置密码 LAErrorPasscodeNotSet = kLAErrorPasscodeNotSet,
//设备Touch ID不可用,例如未打开LAErrorTouchIDNotAvailable = kLAErrorTouchIDNotAvailable,
//设备Touch ID不可用,用户未录入LAErrorTouchIDNotEnrolled = kLAErrorTouchIDNotEnrolled,}
iOS Touch ID 使用详情相关推荐
- iOS Touch ID 简易开发教程
基础知识 支持系统和机型 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,虽然安装iOS 7系统的5s机型可以使用系统提供的指纹解锁功能,但由于API并未开放,所 ...
- iOS 使用Touch ID 校验[新增 iOS9 三种错误]
iOS8后苹果开放了Touch ID的API给开发者,这也给我们的app带来了新的体验.开发者们可使用向第三方应用开放了Touch ID权限的API,以便他们在应用中使用指纹认证来完成用户认证或支付购 ...
- iOS开发中Touch ID的使用
从2013年的iPhone 5s开始苹果就引入了Touch ID,之后Touch ID基本上成了苹果设备的标配,iOS 8起,开发者就可以调用API在自己的应用中添加Touch ID验证功能了,国内常 ...
- 保护 iOS 用户数据安全: Keychain 和 Touch ID
原文:How To Secure iOS User Data: The Keychain and Touch ID 作者:Tim Mitra 译者:kmyhy 更新说明:本教程由 Tim Mitra ...
- 【源码】iOS指纹解锁Touch ID的开发
指纹解锁原理: 苹果在文件中对iPhone 5S配备的Touch ID指纹识别系统的功能与工作原理进行了详细说明.文件对iPhone 5S的A7处理器中""Secure Encla ...
- Swift实现Touch ID验证
iOS8开放了很多API,包括HomeKit.HealthKit什么的.我们这里要说的是其中之一的Touch ID验证. 以前用app保护用户的隐私内容,只能设定和输入密码.眼看着只能是iPhone本 ...
- Touch ID使用
前言:如果图片看不了请移步:简书 Touch ID简介 Touch ID指纹识别作为iPhone 5s上的"杀手级"功能早已为人们所熟知,目前搭载的设备有iphone SE.iPh ...
- 无法在此iPhone上激活Touch ID,怎么解决?
Touch ID是苹果公司的指纹识别功能,允许用户解锁iPhone或iPad.在苹果商店购物,以及在应用程序中验证Apple Pay等等. 更新到iOS 15后,一些用户遇到了"无法在此iP ...
- Touch ID身份认证
TouchID是苹果公司在iOS 7中引入并在iPhone 5s上使用的新特性,是允许用户解锁设备和在App Store购物的生物识别技术. 现在好多app以及利用此特性进行登录,例如QQ登录.支付宝 ...
最新文章
- ElasticSearch插件安装
- 李开复:走向全球的两大路径,中美何以各占其一
- 天翼云从业认证(4.11)天翼云物流行业解决方案
- 存储引擎放弃使用索引的方式
- [蓝桥杯]算法提高 vertex cover(dfs)
- ejb+jpa_使用Arquillian(包括JPA,EJB,Bean验证和CDI)测试Java EE 6
- 基于android的课程画图设计,基于Android的智能终端通信勘察设计系统绘图模块的设计与实现...
- windows10查看本机IP脚本
- Money----思维+模拟
- linux下xp镜像文件iso下载,Windows XP SP3简体中文专业版[官方MSDN正式原版ISO镜像]
- 《电路(邱关源)》第五版重难点记录(长期更新)
- 应该被记住的天才,写在图灵诞辰100周年
- 用matlab求roc曲线的面积Auc,sklearn计算ROC曲线下面积AUC
- 卫星与太阳的方位角与交会角
- 【计算机组织与体系结构】实验三:流水线处理器
- 0x300-从头开始写操作系统-内核
- Vue 移动端调用相机和相册实现图片上传
- 前端——使用JavaScript(jQuery)通过身份证号获取籍贯、生日、年龄、性别
- DB2数据库安装与配置
- Admission(准入控制器)-2021.12.05
热门文章
- ubuntu系统程序自启动
- 基于JAVA,Springboot的在线电影院订票,购票系统,电影购票系统,在线电影票购票系统,基于IDEA开发
- linux nginx配置文件不生效,nginx配置不生效 网页变为welcome to nginx 或welcome to centos 的解决办法...
- 如何有效利用大数据?
- Window10没有本地用户和组???
- 高通骁龙660/630详细参数:14nm神器/性能增30%
- 无需破解,神器Python帮你免费获取资源
- eclipse最全快捷键使用说明
- 华硕2023 款 a 豆 14 锐龙版 评测 华硕 a 豆 14 锐龙版 2023 款 参数
- 工作3年的985硕士,精通数据和代码,但在报表上我却无能为力