iOS手势解锁,手势密码,指纹验证

作者: 门前有棵葡萄树 | 来源:发表于2017-02-27 15:03 被阅读995次

Demo地址

1.手势密码

look.gif

API

/** 是否已经创建过手势密码 */
+ (BOOL)haveGesturePassword;

/** 获取手势密码 */
+ (NSString *)getGesturesPassword;

/** 删除手势密码 */
+ (void)deleteGesturesPassword;

/**
 展示 手势密码视图
 @param type 类型 (YWUnlockViewCreate,//创建手势密码 YWUnlockViewUnlock//解锁手势密码)
 */
+ (void)showUnlockViewWithType:(YWUnlockViewType)type callBack:(CallBackBlock)callBack;

使用方法

    //创建手势密码
    [YWUnlockView showUnlockViewWithType:YWUnlockViewCreate callBack:^(BOOL result) {
        NSLog(@"-->%@",@(result));
    }];
    //验证手势密码
    [YWUnlockView showUnlockViewWithType:YWUnlockViewUnlock callBack:^(BOOL result) {
        NSLog(@"-->%@",@(result));
    }];

2.指纹验证

关于指纹验证,之前一篇文章已经写过,这里简单封装了下

使用方法

[YWFingerprintVerification fingerprintVerificationCallBack:^(NSError *error) {
        if(!error){
            NSLog(@"指纹验证通过");
        }else{
            NSLog(@"指纹验证失败->%@", @(error.code));
        }
    }];

代码如下

YWFingerprintVerification.h

#import <Foundation/Foundation.h>
#import <LocalAuthentication/LocalAuthentication.h>

/** error.code */
/** 
 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);
 */

@interface YWFingerprintVerification : NSObject

/**
 指纹验证
 @param callBack 验证结果
 */
+ (void)fingerprintVerificationCallBack:(void(^)(NSError *error))callBack;

@end

YWFingerprintVerification.m

#import "YWFingerprintVerification.h"

@implementation YWFingerprintVerification

+ (void)fingerprintVerificationCallBack:(void(^)(NSError *error))callBack;{
    //本地认证上下文联系对象
    LAContext * context = [[LAContext alloc] init];
    NSError * error = nil;
    //验证是否具有指纹认证功能,不建议使用版本判断方式实现
    BOOL canEvaluatePolicy = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
    if (error) {
        NSLog(@"%@", error.localizedDescription);
        !callBack?:callBack(error);
    }
    if (canEvaluatePolicy) {
        NSLog(@"有指纹认证功能");
        //匹配指纹
        [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"验证指纹已确认您的身份" reply:^(BOOL success, NSError *error) {
            if (success) {
                NSLog(@"指纹验证成功");
                !callBack?:callBack(nil);
            } else {
                NSLog(@"验证失败");
                NSLog(@"%@",error.localizedDescription);
                !callBack?:callBack(error);
            }
        }];
    } else {
        NSLog(@"无指纹认证功能");
    }
}

@end

相关文章

  • iOS指纹解锁和手势解锁

    iOS指纹解锁和手势解锁 iOS指纹解锁和手势解锁

  • iOS手势解锁,手势密码,指纹验证

    Demo地址 1.手势密码 API 使用方法 2.指纹验证 关于指纹验证,之前一篇文章已经写过,这里简单封装了下 ...

  • 【Swift3】指纹解锁

    项目说明 1.初次登陆APP时,在设置完手势密码后弹框提示是否打开指纹解锁手势密码请参见文章:http://www...

  • ios手势解锁实践

    在工作之余学习了ios的手势解锁功能,这个功能现在被广泛用于手机解锁,密码验证,快捷支付等。以下是具体实现,写得不...

  • DrawRect绘图实现手势密码控件

    公司项目中除了之前的指纹解锁外,还有手势解锁,这就扯到了手势解锁的功能实现 其实核心就是利用touchBegin,...

  • APP解锁流程分享

    前段时间做了一个设置app解锁密码的小项目。根据需求设计了数字密码、手势、指纹三种方式的解锁流程。解锁内容不是特别...

  • 登录注册知识点总集二——手势密码

    一、登录注册知识总集 二、手势密码知识点汇总 手势密码一般都是辅助密码,因为相对比指纹密码,手势密码的效率较低;相...

  • iOS 手势密码

    源码参考:链接密码:37gm 源码可实现设置手势密码、登陆验证手势密码、修改手势密码 另外添加了钥匙串本地保存手势...

  • iOS学习笔记14 指纹验证TouchID简单应用1

    指纹验证这个功能现在在一些app中经常常见,常常与数字解锁,手势解锁联合起来使用。前几天接到说实现一个指纹验证的功...

  • iOS指纹解锁和手势解锁

    iOS指纹解锁和手势解锁 [TOC] 前言 一直想写博客来着,一来可以记录一些自己学习和研究的东西,二来也可以将自...

网友评论

  • Winnie_Pan:请问验证错误时要怎么显示
  • Be_ingenious:XIB可以改成代码么?因为有些地方不是太一样
  • Real_young:请问这个指纹认证第一次输错弹出的的alertView 能修改吗 ? 就是去掉那个输入密码 ,还有判断输错次数
    Real_young:@云端上的钢琴 好的 谢谢
    f6ee6c2d7437://如果不想有第二个按钮的话,可以把localizedFallbackTitle设置为空字符串。
    context.localizedFallbackTitle = @"";

本文标题:iOS手势解锁,手势密码,指纹验证

本文链接:https://www.haomeiwen.com/subject/npuzwttx.html