iOS LocalAuthentication(指纹识别)

简介: 指纹识别#import "ViewController.h"#import @interface ViewController ()@end@implementation ViewController- (void)touchesB...

指纹识别

#import "ViewController.h"
#import <LocalAuthentication/LocalAuthentication.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    //1. 判断系统版本
    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
        //可以使用指纹识别 --> 5S 以后的机型
        
        //2. 判断时候可以使用指纹识别功能
        
        //2.1 创建 LA 对象上下文
        LAContext *context = [[LAContext alloc] init];
        
        //2.2 判断是否能否使用
        //Evaluate: 评估
        //Policy: 策略
        //LAPolicyDeviceOwnerAuthenticationWithBiometrics : 可以使用指纹识别技术
        if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil]) {
            // 可以使用
            
            //3. 开始启用指纹识别
            //localizedReason : 显示在界面上的原因, 一般用于提示用户, 为什么要使用此功能
            [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"请验证指纹, 以打开高级隐藏功能" reply:^(BOOL success, NSError * _Nullable error) {
                
                //判断是否成功
                if (success) {
                    
                    
                    //4. 指纹识别在更新 UI 时, 一定要注意, 在主线程更新
                    
                    dispatch_sync(dispatch_get_main_queue(), ^{
                        UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"这是标题" message:@"你成功了" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
                        
                        [alert show];
                    });
                    
                } else {
                    
                    dispatch_sync(dispatch_get_main_queue(), ^{
                        UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"这是标题" message:@"验证失败" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
                        
                        [alert show];
                        
                    });
                }
                
                // 判断错误 如果需要区分不同的错误来提示用于, 必须判断 error, -1, -2, -8
                if (error) {
                    NSLog(@"error Code: %ld",error.code);
                    NSLog(@"error : %@",error.userInfo);
                }
                
            }];
            
        } else {
            NSLog(@"对不起, 5S 以上机型才能使用此功能, 请卖肾后重拾");
        }
        
    } else {
        NSLog(@"对不起, 系统版本过低");
    }
}

@end
目录
相关文章
|
iOS开发 开发者
📝 App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤。本文将介绍如何通过appuploader工具获取iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹,帮助开发者更好地理解和应用该过程。
|
5月前
|
程序员 iOS开发 开发者
iOS|获取 Distribution Managed 证书的 SHA-1 指纹和公钥
APP 备案时,如何获取 iOS 平台 Distribution Managed 类型证书的证书的 SHA-1 指纹和公钥?
151 0
|
7月前
|
iOS开发
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
337 0
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
|
10月前
|
Android开发 iOS开发 开发者
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
488 0
|
Android开发 iOS开发 开发者
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
,在appuploder直接复制IOS信息;如果还没有创建证书,请上传正确的P12苹果证书后,系统会自动解析出对应的签名和公钥信息; ——APP备案的原理是基于原有的工信部域名备案系统,如果已经有了域名备案,无需新增备案主体;只需要在之前的域名备案系统里面,新增APP信息,收集的APP信息主要包括APP包名和签名及公钥这3项;——APP备案是属于行政常规主体信息预存,和域名一样,自行决定是否备案。目前国内安卓应用商店是全面要求APP备案的,如果没有APP备案是不能通过审核发布到各大应用商店。——如看了教程,还不清楚怎么获取APP包名、安卓签名、苹果sha1签名、公钥等信息,请联系我们在线客服,
|
10月前
|
iOS开发 开发者
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
582 0
|
10月前
|
Android开发 iOS开发 开发者
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
250 0
|
传感器 安全 生物认证
iOS传感器开发——为APP添加手机密码、指纹进行安全验证
iOS传感器开发——为APP添加手机密码、指纹进行安全验证
273 0
iOS传感器开发——为APP添加手机密码、指纹进行安全验证
|
API iOS开发
iOS 关于指纹验证LocalAuthentication
IMG_0152.PNG 最近做项目版本更新有个需求是 3DTouch解锁功能, 由此原因接触 Apple的指纹解锁功能, 基本功能原先已经实现好了,发现了一个 Bug然后来优化一下,先扯会儿等下我会附上源代码, 其实在指纹解锁功能上 Apple已经帮我们封装好了, 我们需要写的代码其实并不多。
1564 0

热门文章

最新文章

  • 1
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 2
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 3
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 4
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 5
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 6
    iOS各个证书生成细节
  • 7
    iOS|记一名 iOS 开发新手的前两次 App 审核经历
  • 8
    解决 input 输入框在 iOS 系统中无法输入内容
  • 9
    iOS - Swift NSPoint 位置
  • 10
    iOS:应用程序的线程安全性