From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001
From: 单军华
Date: Wed, 11 Jul 2018 10:47:42 +0800
Subject: [PATCH] 首次上传
---
screendisplay/screendisplay/Classes/Helpers/TDTouchID.m | 125 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 125 insertions(+), 0 deletions(-)
diff --git a/screendisplay/screendisplay/Classes/Helpers/TDTouchID.m b/screendisplay/screendisplay/Classes/Helpers/TDTouchID.m
new file mode 100755
index 0000000..be20502
--- /dev/null
+++ b/screendisplay/screendisplay/Classes/Helpers/TDTouchID.m
@@ -0,0 +1,125 @@
+
+
+#import "TDTouchID.h"
+
+@implementation TDTouchID
+
++ (void)td_showTouchIDWithDescribe:(NSString *)desc BlockState:(StateBlock)block{
+
+ if (NSFoundationVersionNumber < NSFoundationVersionNumber_iOS_8_0) {
+
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"���������������������TouchID (������������iOS 8.0������������)");
+ block(TDTouchIDStateVersionNotSupport,nil);
+ });
+
+ return;
+ }
+
+ LAContext *context = [[LAContext alloc] init];
+
+ context.localizedFallbackTitle = desc ?: @"������Home���������������������";
+
+ NSError *error = nil;
+
+ if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
+
+ [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:desc ?: @"������Home���������������������" reply:^(BOOL success, NSError * _Nullable error) {
+
+ if (success) {
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"TouchID ������������");
+ block(TDTouchIDStateSuccess,error);
+ });
+ }else if(error){
+
+ switch (error.code) {
+ case LAErrorAuthenticationFailed:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"TouchID ������������");
+ block(TDTouchIDStateFail,error);
+ });
+ break;
+ }
+ case LAErrorUserCancel:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"TouchID ���������������������");
+ block(TDTouchIDStateUserCancel,error);
+ });
+ }
+ break;
+ case LAErrorUserFallback:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"���������������TouchID,������������������������");
+ block(TDTouchIDStateInputPassword,error);
+ });
+ }
+ break;
+ case LAErrorSystemCancel:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"TouchID ��������������� (���������������,������,������Home������)");
+ block(TDTouchIDStateSystemCancel,error);
+ });
+ }
+ break;
+ case LAErrorPasscodeNotSet:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"TouchID ������������,������������������������������");
+ block(TDTouchIDStatePasswordNotSet,error);
+ });
+ }
+ break;
+ case LAErrorTouchIDNotEnrolled:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"TouchID ������������,������������������������TouchID");
+ block(TDTouchIDStateTouchIDNotSet,error);
+ });
+ }
+ break;
+ case LAErrorTouchIDNotAvailable:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"TouchID ������");
+ block(TDTouchIDStateTouchIDNotAvailable,error);
+ });
+ }
+ break;
+ case LAErrorTouchIDLockout:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"TouchID ���������(������������������TouchID������,������������������������������������)");
+ block(TDTouchIDStateTouchIDLockout,error);
+ });
+ }
+ break;
+ case LAErrorAppCancel:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"��������������������������������������� (���App������������������)");
+ block(TDTouchIDStateAppCancel,error);
+ });
+ }
+ break;
+ case LAErrorInvalidContext:{
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"��������������������������������������� (LAContext������������)");
+ block(TDTouchIDStateInvalidContext,error);
+ });
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }];
+
+ }else{
+
+ dispatch_async(dispatch_get_main_queue(), ^{
+ NSLog(@"���������������������TouchID");
+ block(TDTouchIDStateNotSupport,error);
+ });
+
+ }
+
+}
+
+
+@end
--
Gitblit v1.8.0