注:接入指纹验证之前确保您的设备是否支持 TouchID 功能并能正常使用的设备(iPhone 5s 及以上)。


#import "ViewController.h"
#import <LocalAuthentication/LocalAuthentication.h>   //需要导入这个库文件@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];if ([[self.navigationController.viewControllers firstObject] isEqual:self]) {self.navigationItem.title = @"点击调用指纹识别";}
}- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {[self touch];
}- (void)touch {if ([[self.navigationController.viewControllers firstObject] isEqual:self]) {self.navigationItem.title = @"指纹验证";//定义一个alter按钮LAContext *context = [LAContext new]; //这个属性是设置指纹输入失败之后的弹出框的选项context.localizedFallbackTitle = @"输入密码"; // 按钮的标题NSError *error = nil; //判断用户的手机是否支持指纹if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometricserror:&error]) {NSLog(@"支持指纹识别");[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometricslocalizedReason:@"指纹登录"reply:^(BOOL success, NSError * _Nullable error) {//这里是指纹验证之后返回信息//只返回 success 值为 TRUE 或 FALSEif (success) {NSLog(@"验证成功 你可以登录了 Go Go");} else {NSLog(@"%@",error.localizedDescription);switch (error.code) {case LAErrorSystemCancel: {NSLog(@"系统取消授权,如其他APP切入");break;}case LAErrorUserCancel: {NSLog(@"用户取消验证Touch ID");break;}case LAErrorAuthenticationFailed: {NSLog(@"授权失败");break;}case LAErrorPasscodeNotSet: {NSLog(@"系统未设置密码");break;}case LAErrorTouchIDNotAvailable: {NSLog(@"设备Touch ID不可用,例如未打开");break;}case LAErrorTouchIDNotEnrolled: {NSLog(@"设备Touch ID不可用,用户未录入");break;}case LAErrorUserFallback: {[[NSOperationQueue mainQueue] addOperationWithBlock:^{NSLog(@"用户选择输入密码,切换主线程处理");}];break;}default: {[[NSOperationQueue mainQueue] addOperationWithBlock:^{NSLog(@"其他情况,切换主线程处理");}];break;}}}}];} else {NSLog(@"不支持指纹识别");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);}}}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];
}@end

项目源码请点击这里

TouchID 指纹登录相关推荐

  1. 指纹登录 TouchID FaceID

    基础配置 #import <LocalAuthentication/LocalAuthentication.h> 判断是否支持指纹登录 //首先判断版本 if (NSFoundationV ...

  2. ios与android指纹识别,iOS 指纹登录(TouchID)集成方案

    TouchID指纹识别是iPhone 5S设备中增加的一项重大功能.苹果的后续移动设备也相继添加了指纹功能,在实际使用中还是相当方便的,比如快捷登录,快捷支付等等.系统提供了相应框架,使用起来还是比较 ...

  3. 实现Web端指纹登录

    前言 现在越来越多的笔记本电脑内置了指纹识别,用于快速从锁屏进入桌面,一些客户端的软件也支持通过指纹来认证用户身份. 前几天我在想,既然客户端软件能调用指纹设备,web端应该也可以调用,经过一番折腾后 ...

  4. android 指纹识别支付 secure os,Android指纹登录/指纹支付简述

    一.简述 业务需求,需要指纹登录,鉴于市面上的资料不是特别齐全,走了不少弯路.现在通了,写点东西给大伙做个参考.末尾会提供demo和参考资料 二.指纹登录/支付工作流程 指纹验证加密流程.png 最新 ...

  5. TouchID 指纹解锁

    概述 TouchID 指纹解锁 详细 代码下载:http://www.demodashi.com/demo/10701.html 一.软硬件支持 指纹验证功能的最低硬件支持为iPhone5s, iPa ...

  6. hp计算机指纹功能用法,惠普笔记本电脑指纹登录教程(图文)

    我们知道,现在很多笔记本电脑都带有指纹登陆功能,这样登录比起传统的数字密码登录更加安全可靠.那么,笔记本电脑指纹登录怎么使用呢?下面,小编就以惠普笔记本电脑为例来和大家介绍指纹登录电脑的具体操作步骤. ...

  7. 联想小新设置指纹登录

    刚入手了一台联想小新,主要用于日常文章协作,现在分享下如何设置指纹登录 1. 登录系统,打开开始菜单,进入设置页面(如图) 2. 在弹出的界面中,点击如下红色区域 3. 根据如下图片指引,进入指纹设置 ...

  8. ubuntu没有指纹登录_在Ubuntu 使用内置指纹识别器

    Ubuntu 装到计算机之后,基本上什么驱动程序都不用装,就能完美运行,尤其是最新版本的 Ubuntu.不过指纹识别一直是个小小的遗憾. 嘿嘿大家都知道我是 GUI 控,主要是懒,本文介绍只用图形界面 ...

  9. app开发人脸登录和指纹登录_App产品登录环节如何设计?四步掌握登录设计思路...

    智能手机已经成为人类不可分割的器官,人们在线上处理生活的方方面面的习惯已经形成,APP作为线上渠道最主要的方式之一,已被各行各业广泛使用.这里将持续的和大家一同谈论关于APP产品设计的各模块.细节的设 ...

最新文章

  1. 【强烈推荐】国土档案管理信息系统产品使用说明书系列目录【附下载地址】...
  2. 重磅!腾讯发布AI生态计划将赋能1000合作伙伴!
  3. hdu 4035 可能性DP 成都网络游戏
  4. vscode设置标签页多行显示
  5. Dubbo 优雅停机
  6. 判断一组多选框至少有一个被选中_想不想拥有自己的篆刻印章?那就PS一个吧...
  7. 华三服务器怎么设置系统启动模式,H3C 开局设置
  8. 虚拟化精华问答 | 虚拟化的关键技术有哪些?
  9. 蓝牙耳机声音一顿一顿的_这次让世界听听我们的声音——声阔SoundcoreLiberty2Pro蓝牙耳机...
  10. c语言中嵌套循环的作用,C语言中n层循环嵌套实现
  11. 【经典算法】第八回:桶排序
  12. Asp.Net Web API 2第十七课——Creating an OData Endpoint in ASP.NET Web API 2(OData终结点)...
  13. 使用surface初体验
  14. windownavigatorscreenlocation
  15. C++11基于范围的for循环
  16. 【数学建模】最优化模型
  17. 微星MSI新笔记本外接耳机没有声音?完美解决
  18. 惠普暗夜精灵2怎么打开后盖_做工散热都非常优秀 惠普暗影精灵II笔记本拆机图解全过程...
  19. mysql程序选项有两种通用形式:长选项和短选项_MySQL程序概述
  20. 利用matlab批量修改文件名称或后缀

热门文章

  1. JVM -XX:MaxDirectMemorySize
  2. -XX:+UseParallelGC 和 -XX:+UseParNewGC 的区别
  3. STM32实现任意角度移相全桥PWM
  4. CSS3学习笔记-05-盒模型详解
  5. 全球与中国户外楼梯升降机市场现状及未来发展趋势
  6. PowerPC的嵌入式Linux培训大纲
  7. php域名免备案转发,免备案高防CDN支持过墙域名跳转解决域名DNS污染
  8. 旋转木马 css,CSS:3D旋转木马效果
  9. LaTeX中的希腊字母表
  10. EXCEL表格-根据身份证号计算性别、年龄(IF、MOD函数)