国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

iOS8中使用TouchID校驗

2019-11-14 19:39:09
字體:
供稿:網(wǎng)友

在iOS8中,開發(fā)者們可使用向第三方應(yīng)用開放了Touch ID權(quán)限的API,以便他們在應(yīng)用中使用指紋認證來完成用戶認證部分。

本文主要介紹如何在應(yīng)用中集成Touch ID來校驗用戶的身份。

#import <LocalAuthentication/LocalAuthentication.h>這個庫必須要Xcode6并且連接的是真機,才不會提示找不到的錯誤。 如果是模擬器會提示找不到這個庫。

 

  1 - (IBAction)authenticateButtonTapped:(id)sender {  2     LAContext *context = [[LAContext alloc] init];  3     context.localizedFallbackTitle = @"輸入密碼";  4     NSError *error = nil;  5       6     if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {  7           8         [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics  9                 localizedReason:@"您是這設(shè)備的所有者嗎?" 10                           reply:^(BOOL success, NSError *error) { 11                               if (success) { 12                                   dispatch_async (dispatch_get_main_queue(), ^{ 13                                        14                                       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success" 15                                                                                       message:@"你是設(shè)備主人。" 16                                                                                      delegate:nil 17                                                                             cancelButtonTitle:@"Ok" 18                                                                             otherButtonTitles:nil]; 19                                       [alert show]; 20                                   }); 21                                    22                               }else{ 23                                    24                               25                               /* 26                                // 用戶未提供有效證書,(3次機會失敗 --身份驗證失敗)。 27                                LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed, 28                                 29                                // 認證被取消,(用戶點擊取消按鈕)。 30                                LAErrorUserCancel           = kLAErrorUserCancel, 31                                 32                                // 認證被取消,用戶點擊回退按鈕(輸入密碼)。 33                                LAErrorUserFallback         = kLAErrorUserFallback, 34                                 35                                // 身份驗證被系統(tǒng)取消,(比如另一個應(yīng)用程序去前臺)。 36                                LAErrorSystemCancel         = kLAErrorSystemCancel, 37                                 38                                // 身份驗證無法啟動,因為密碼在設(shè)備上沒有設(shè)置。 39                                LAErrorPasscodeNotSet       = kLAErrorPasscodeNotSet, 40                                 41                                // 身份驗證無法啟動,因為觸摸ID在設(shè)備上不可用。 42                                LAErrorTouchIDNotAvailable  = kLAErrorTouchIDNotAvailable, 43                                 44                                // 身份驗證無法啟動,因為沒有登記的手指觸摸ID。 沒有設(shè)置指紋密碼時。 45                                LAErrorTouchIDNotEnrolled   = kLAErrorTouchIDNotEnrolled, 46                                **/ 47                               switch (error.code) { 48                                   case LAErrorAuthenticationFailed: 49                                       NSLog(@"身份驗證失敗。"); 50                                     51                                       break; 52                                        53                                   case LAErrorUserCancel: 54                                       NSLog(@"用戶點擊取消按鈕。"); 55                                     56                                       break; 57                                        58                                   case LAErrorUserFallback: 59                                       NSLog(@"用戶點擊輸入密碼。"); 60                                     61                                       break; 62                                        63                                   case LAErrorSystemCancel: 64                                       NSLog(@"另一個應(yīng)用程序去前臺"); 65                                    66                                       break; 67                                        68                                   case LAErrorPasscodeNotSet: 69                                       NSLog(@"密碼在設(shè)備上沒有設(shè)置"); 70                                      71                                       break; 72                                        73                                   case LAErrorTouchIDNotAvailable: 74                                       NSLog(@"觸摸ID在設(shè)備上不可用"); 75                                    76                                       break; 77                                        78                                   case LAErrorTouchIDNotEnrolled: 79                                       NSLog(@"沒有登記的手指觸摸ID。"); 80                                  81                                       break; 82                                        83                                   default: 84                                       NSLog(@"Touch ID沒配置"); 85                                   86                                       break; 87                               } 88                             } 89                         }]; 90          91     } else { 92         dispatch_async (dispatch_get_main_queue(), ^{ 93              94             UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"錯誤提示" 95                                                             message:@"您的設(shè)備沒有觸摸ID." 96                                                            delegate:nil 97                                                   cancelButtonTitle:@"Ok" 98                                                   otherButtonTitles:nil]; 99             [alert show];100         });101     }102   103 }

其中:

(1)localizedFallbackTitle:用于設(shè)置左邊的按鈕的名稱,默認是輸入密碼。

(2)localizedReason:用于設(shè)置提示語,表示為什么要使用Touch ID,如代碼中@"您是這設(shè)備的所有者嗎?"

 官方的API就是簡單,簡簡單單幾句話 就可以。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 苏尼特左旗| 中方县| 莱芜市| 曲松县| 延吉市| 托克逊县| 达拉特旗| 资源县| 和龙市| 涿州市| 芦溪县| 泰宁县| 绥中县| 呼伦贝尔市| 田东县| 贵港市| 苗栗市| 枣阳市| 鹤岗市| 犍为县| 五原县| 崇左市| 富顺县| 石嘴山市| 长沙县| 南木林县| 长白| 铁岭县| 涡阳县| 郸城县| 博兴县| 章丘市| 林甸县| 贵港市| 新民市| 博客| 怀柔区| 望江县| 南靖县| 鹿邑县| 柳河县|