ios与android指纹识别,iOS开发实现TouchID指纹解锁

一直想实现一下指纹解锁,苦于一直没时间,最近终于闲了下来所以翻了翻文档看了看demo,完成了这篇教程。本功能实现起来是很简单的,因为苹果都已经帮我们封装好了,只需要实现几个方法就可以了。

b522f0ddea78

实现效果图

实现过程

1.首先引入指纹解锁必须的头文件

#import

2.了解下主要的两个方法

这个方法是判断设备是否支持TouchID的。

- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error __attribute__((swift_error(none)));

这个是用来验证TouchID的,会有弹出框出来。

- (void)evaluatePolicy:(LAPolicy)policy

localizedReason:(NSString *)localizedReason

reply:(void(^)(BOOL success, NSError * __nullable error))reply;

3.新建LAContext对象

主要的属性设置

localizedFallbackTitle:用于设置左边的按钮的名称,默认是Enter Password.

localizedReason:用于设置提示语,表示为什么要使用Touch ID

b522f0ddea78

解锁失败界面

//创建LAContext

LAContext *context = [LAContext new];

//这个属性是设置指纹输入失败之后的弹出框的选项

context.localizedFallbackTitle = @"没有忘记密码";

4.主要回调方法,包括成功以及失败的

NSError *error = nil;

if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {

NSLog(@"支持指纹识别");

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指纹解锁" reply:^(BOOL success, NSError * _Nullable error) {

if (success) {

NSLog(@"验证成功 刷新主界面");

}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);

}

小结

做到这里几乎就算完成,使用确实很简单,因为苹果都已经给我们做好一切,对我们开发者来说就很轻松了。教程写的很简陋,希望大家多多包涵,代码我已经传到GitHub了,还有我的个人博客。

最后希望可以帮到大家。

参考资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/251219.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

指纹识别综述(2): 指纹传感器

本文主要基于《Handbook of Fingerprint Recognition》第三版第二章“Fingerprint Sensing”的内容。本文会不定期更新,以反映一些新的进展和思考。 1、引言 指纹识别系统利用传感器、图像处理、模式识别技术自动识别两个指纹是否一致。指纹识别系统主要有三个模块…

苹果手机指纹识别坏了怎么办?维修需要多少钱?

手机指纹识别是从哪一年开始的已经记不清了,但是其便利性却是越来越受大家喜爱。可是问题来了,对于现在有iPhone手机的用户来说,肯定遇到过指纹识别失效的问题。遇到这样指纹无法识别的情况该怎么办呢?我们从一些苹果售后维修点处…

支付宝 android 指纹支付,指纹支付教程放出!支付宝支持指纹支付!

近日,继网易邮箱、腾讯QQ之后,第三款支持Touch ID指纹的iOS端App诞生了,这款应用正是如今大红大紫的支付宝钱包App。在更新至最新版的支付宝钱包里,用户可以通过设置调用Touch ID指纹,这样iPhone用户移动支付便可以优雅…

设置自动关门时长_小米苹果全适配,绿米D100全自动指纹锁新鲜上手

Ciao Bella,我是老房 关于智能指纹门锁,其实老房老早就想装了。家里有位平均一两个月就要忘带一次钥匙的媳妇儿,甚至有好几次,我特意说了晚上有应酬晚回去千万记得要带钥匙,结果喝酒喝到一半,一个电话打过来…

DFS专题

题单地址&#xff1a;【237题】算法基础精选题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 老子的全排列呢 dfs回溯 int n 8; int idx; int record[10]; bool vis[10];void dfs(int num) {if(numn){for(int i1;i<n;i) cout<<record[i]<…

HBase集群搭建

hbase 1.解压HBase安装包 先 下载HBase压缩包&#xff0c;并解压安装文件&#xff0c;示例代码如下&#xff1a; tar -zxvf hbase-2.0.1-bin.tar.gz2. 修改配置文件 编辑 conf目录下的 hbase-env.sh文件&#xff0c;示例代码如下&#xff1a; cd conf vi hbase-env.sh添加…

滴滴出行怎么下载丨办法总比困难多

滴滴打车出行端下载一&#xff1a;登陆自己的商店&#xff0c;在已购买项目里面直接搜索“滴滴车主”就可以下载了。当然如果你之前没下载过的话&#xff0c;那也是搜索不到的。 滴滴出行下载二&#xff1a;在某信中找到《 千米应用 》订阅号获取到应用安装途径后按要求选择对…

PHP微信支付之扫码支付

在手机微信端进行微信支付&#xff0c;直接调起JSAPI支付&#xff0c;这可以实现在微信里边的开的页面进行支付&#xff0c;比如微商城&#xff0c;微信端JSAPI支付详见&#xff1a;PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK)&#xff1b;但有时候商城还有PC端&#x…

【微信小程序付款转二维码付款】

需要的参数&#xff1a;session_id, timeStamp, nonceStr, package, paySign, appid,uuid session_id是协议获取 timeStamp, nonceStr, package, paySign, appid是订单数据 uuid是调用接口获取 第一步要获取小程序的sessionId 基于pc协议不风控 获取订单数据timeStamp, nonceS…

您的滴滴2020年度出行报告,请查收!

桔妹导读&#xff1a;滴滴2020年度出行盘点新鲜出炉&#xff0c;每个人都有属于自己的滴滴之城&#xff0c;快来看看你的城。打玉人、Tony的亲人、最该呵护的人……这12种有趣的灵魂&#xff0c;你是哪一种&#xff1f; 一年一度的个人出行盘点新鲜出炉 你的最晚一单 是不是还是…

微信支付接口详细步骤

对接微信支付接口-详细步骤教程-你不知道的那些坑TOC 近期公司项目需要对接微信支付宝等支付接口,然后就看官网看文档查百度,我这里只说对接微信支付接口,下一篇说微信退款. 先登录微信官网查看文档 这里我先解释一下微信支付接口的步骤 第一步:统一下单 (此操作是我们对接微…

滴滴出行用户运营分析

一、功能模块 滴滴出行APP功能模块主要分为五个部分&#xff0c;包含提供服务的类别、安全中心、用户中心、首页推送及功能类按键。 1.服务类别 此模块列出了滴滴出行所能提供的各种服务&#xff0c;包括一系列出行用车服务、公交线路查询、二手车买卖以及金融服务&#xff0c;…

滴滴出行app——网约车出行的背后(上)

互联网出行已经撬动千亿级市场规模&#xff0c;而滴滴出行作为最大的出行平台&#xff0c;占领着网约车市场的最大份额。本文将从市场、用户、功能、运营等方面对滴滴出行进行分析。 关于滴滴 一、功能框架与使用流程 二、市场分析 三、用户分析 四、功能分析 五、运营分析 六…

企业付款到零钱API开发~~~ 付款到微信

近日&#xff0c;在开发“微信企业付款到零钱”的功能。之前有过微信开发的经验&#xff0c;但是第一次接触“付款到零钱“这一块的业务&#xff0c;查询了很多的博客资料以及走了很多的弯路。也发现“企业付款到零钱”分享的博客并不多。特地写了该博客&#xff0c;希望对你们…

滴滴出行平台业务架构演进

桔妹导读&#xff1a;为了满足不同用户在价格、体验等方面的差异化诉求&#xff0c;滴滴提供了越来越丰富的品类&#xff0c;这些品类大体流程是类似的&#xff0c;在一些细节体验上有差异&#xff0c;一套架构如何兼顾隔离和复用&#xff0c;同时支持这些品类&#xff0c;且看…

【第三章:存储系统】

目录 知识框架No.0 引言No.1 存储器概述一、存储器的层次结构二、储存器的分类1、按照层次结构进行分类2、按照存储介质3、按照存取方式4、信息的可更改性5、信息的可保存性 三、存储器的性能指标1、存储容量2、单位成本3、存储速度 No.2 主存储器的基本组成一、基本的半导体元…

数字后的顿号变成斜杠 - 解决方案

前言 PC端键盘输入数字后的顿号变成斜杠&#xff0c;这并不是因为Office的自动校正功能引起的&#xff0c;而是由搜狗输入法的智能调整数字后标点功能引起的&#xff0c;该功能也会将数字后的中文句号改为英文句号&#xff0c;若不需要这些功能&#xff0c;则可以关闭搜狗输入…

邓号用计算机怎么输入,电脑上顿号怎么打出来

【电脑上顿号怎么打出来】电脑最为重要的一个用途就是编辑文档&#xff0c;而文编文档就要涉及到符号&#xff0c;一般的句号、逗号键盘上都要。那么&#xff0c;顿号这类电脑键盘上没有的符号怎么打出来呢&#xff1f;很多人反映键盘上没有顿号的按键&#xff0c;使用时打不出…

在电脑上顿号咋打?

按照以下步骤可以打出顿号&#xff1a; 1、首先将输入法的中英文切换到中文&#xff0c;如图所圈出的位置&#xff1b; 2、在键盘上敲击下图所圈出的键&#xff0c;便可打出顿号。&#xff08;有的电脑敲击“\”按键哦&#xff01;&#xff09; 需注意的是&#xff0c;如果输入…

数据分割,顿号替换成制表符

有些时候我们需要向数据库里导入一些现有数据&#xff0c;而数据格式的清理则是很重要的一部分&#xff0c;本文就将存在顿号的数据串分割成一个一个的数据。 需要使用到的工具是&#xff1a;EditPlus