亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS指紋登錄(TouchID)集成方案詳解

2019-10-21 18:41:21
字體:
來源:轉載
供稿:網友

TouchID指紋識別是iPhone 5S設備中增加的一項重大功能.蘋果的后續移動設備也相繼添加了指紋功能,在實際使用中還是相當方便的,比如快捷登錄,快捷支付等等.系統提供了相應框架,使用起來還是比較方便的.使用LAContext對象即可完成指紋識別,提高用戶體驗.

iOS,指紋登錄,TouchID

提示:指紋識別必須用真機測試,并且在iOS8以上系統.

TouchID API使用

1.添加頭文件

#import

2.判斷系統版本

 //首先判斷版本if (NSFoundationVersionNumber < NSFoundationVersionNumber_iOS_8_0) {  NSLog(@"系統版本不支持TouchID");  return;}

3.LAPolicy

在這里簡單介紹一下LAPolicy,它是一個枚舉.我們根據自己的需要選擇LAPolicy,它提供兩個值:

LAPolicyDeviceOwnerAuthenticationWithBiometrics和LAPolicyDeviceOwnerAuthentication.

<1>. LAPolicyDeviceOwnerAuthenticationWithBiometrics是支持iOS8以上系統,使用該設備的TouchID進行驗證,當輸入TouchID驗證5次失敗后,TouchID被鎖定,只能通過鎖屏后解鎖設備時輸入正確的解鎖密碼來解鎖TouchID。

<2>.LAPolicyDeviceOwnerAuthentication是支持iOS9以上系統,使用該設備的TouchID或設備密碼進行驗證,當輸入TouchID驗證5次失敗后,TouchID被鎖定,會觸發設備密碼頁面進行驗證。

4. canEvaluatePolicy

使用canEvaluatePolicy方法判斷設備是否支持TouchID,返回BOOL為YES,該設備支持TouchID。

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

error為返回驗證錯誤碼.具體不解釋了.

5. evaluatedPolicyDomainState

context.evaluatedPolicyDomainState用于判斷設備上的指紋是否被更改,在LAContext被創建的時候,evaluatedPolicyDomainState才生效,可在TouchID驗證成功時,將它記錄下來,用于下次使用TouchID時校驗,提高安全性。

6. evaluatePolicy

evaluatePolicy方法是對TouchID進行驗證,Block回調中如果success為YES則驗證成功,為NO驗證失敗,并對error進行解析.

- (IBAction)loginButtonClick:(UIButton *)sender {   //首先判斷版本 if (NSFoundationVersionNumber < NSFoundationVersionNumber_iOS_8_0) {  NSLog(@"系統版本不支持TouchID");  return; }     LAContext *context = [[LAContext alloc] init]; context.localizedFallbackTitle = @"輸入密碼"; if (@available(iOS 10.0, *)) {//  context.localizedCancelTitle = @"22222"; } else {  // Fallback on earlier versions } NSError *error = nil;  if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {     [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"通過Home鍵驗證已有手機指紋" reply:^(BOOL success, NSError * _Nullable error) {       if (success) {    dispatch_async(dispatch_get_main_queue(), ^{     NSLog(@"TouchID 驗證成功");    });   }else if(error){         switch (error.code) {     case LAErrorAuthenticationFailed:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"TouchID 驗證失敗");      });      break;     }     case LAErrorUserCancel:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"TouchID 被用戶手動取消");      });     }      break;     case LAErrorUserFallback:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"用戶不使用TouchID,選擇手動輸入密碼");      });     }      break;     case LAErrorSystemCancel:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"TouchID 被系統取消 (如遇到來電,鎖屏,按了Home鍵等)");      });     }      break;     case LAErrorPasscodeNotSet:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"TouchID 無法啟動,因為用戶沒有設置密碼");      });     }      break;     case LAErrorTouchIDNotEnrolled:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"TouchID 無法啟動,因為用戶沒有設置TouchID");      });     }      break;     case LAErrorTouchIDNotAvailable:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"TouchID 無效");      });     }      break;     case LAErrorTouchIDLockout:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"TouchID 被鎖定(連續多次驗證TouchID失敗,系統需要用戶手動輸入密碼)");      });     }      break;     case LAErrorAppCancel:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"當前軟件被掛起并取消了授權 (如App進入了后臺等)");      });     }      break;     case LAErrorInvalidContext:{      dispatch_async(dispatch_get_main_queue(), ^{       NSLog(@"當前軟件被掛起并取消了授權 (LAContext對象無效)");      });     }      break;     default:      break;    }   }  }];    }else{  NSLog(@"當前設備不支持TouchID"); }}

上面這個代碼, 是整個TouchID的核心,也幾乎是所有代碼了.

驗證

驗證必須使用真機

iOS,指紋登錄,TouchID

結果

iOS,指紋登錄,TouchID

輸入錯誤的時候

總結:TouchID使用起來不難,重要的是使用流程邏輯.

以登錄為例,一般來說流程是這樣的:

  • 開啟指紋登錄:首次登陸使用密碼登錄,登錄后,可以設置一個開啟指紋ID登錄的按鈕,來進行指紋認證.
  • 驗證:檢測是否支持TouchID.
  • 生成設備賬號/密碼:TouchID驗證通過后,根據當前已登錄的賬號和硬件設備Token,生成設備賬號/密碼(規則可自定,密碼要長要復雜),并保存在keychain;
  • 綁定:生成設備賬號/密碼后,將原賬號及設備賬號/密碼,加密后(題主使用的是RSA加密)發送到服務端進行綁定;
  • 成功:驗證原賬號及設備賬號有效后,返回相應狀態,綁定成功則完成整個TouchID(設備)綁定流程。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品欧美日韩一区二区| 久久噜噜噜精品国产亚洲综合| 久久av资源网站| 亚洲免费视频在线观看| 国产欧美日韩免费| 久久人人97超碰精品888| 欧美日韩成人在线播放| 奇门遁甲1982国语版免费观看高清| 国产99在线|中文| 成人免费看黄网站| 久久国产精品久久久久| 欧美日韩国产一区中文午夜| 亚洲韩国青草视频| 三级精品视频久久久久| 精品久久久久久久久久久久久久| 精品久久久91| 日韩欧美国产免费播放| 精品少妇v888av| 欧美性感美女h网站在线观看免费| 欧美国产日韩一区二区三区| 欧美激情va永久在线播放| 国产成人精品久久亚洲高清不卡| 亚洲视频在线观看网站| 国产成人一区二区三区电影| 国产在线999| 亚洲丝袜av一区| 日韩av在线影视| 亚洲欧美国产日韩天堂区| 97国产成人精品视频| 亚洲高清在线观看| 亚洲片在线资源| 2020久久国产精品| 97在线视频观看| 国产精品xxxxx| xxav国产精品美女主播| 久久99久久99精品免观看粉嫩| 国内精品久久久久久久| 日韩免费在线电影| 国产精品永久免费观看| 7m第一福利500精品视频| 欧美高清在线视频观看不卡| 欧美大尺度激情区在线播放| 国产99久久精品一区二区| 日韩在线免费观看视频| 欧美色视频日本高清在线观看| 欧美成人精品三级在线观看| 亚洲精品国产精品久久清纯直播| 色综合91久久精品中文字幕| 最近中文字幕mv在线一区二区三区四区| 国产一区二区激情| 欧美午夜视频在线观看| 精品福利在线看| 亚洲日本成人网| 亚洲福利在线视频| 亚洲天堂影视av| 大胆人体色综合| 日韩av在线影院| 欧美激情亚洲综合一区| 成人a在线观看| 亚洲女人被黑人巨大进入al| 亚洲国产精品久久久久久| 国产精品中文字幕在线观看| 欧美成人全部免费| 在线电影欧美日韩一区二区私密| 日韩av综合网站| 欧美激情在线狂野欧美精品| 福利二区91精品bt7086| 久久精品在线播放| 97视频免费在线看| 成人黄色在线播放| 97视频在线观看成人| 欧美影院久久久| 亚洲人成五月天| 国产精品99导航| 尤物yw午夜国产精品视频| 91精品国产高清久久久久久91| 超碰97人人做人人爱少妇| 欧美一级成年大片在线观看| 亚洲第一福利在线观看| 色综合久久中文字幕综合网小说| 欧美成年人视频网站| 欧美区在线播放| 亚洲国产成人精品一区二区| 国产欧美精品一区二区三区介绍| 亚洲男人第一av网站| 日本中文字幕久久看| 久久夜色精品亚洲噜噜国产mv| 2019中文字幕在线免费观看| 欧美激情奇米色| 日韩av一区在线观看| 欧美激情第三页| 日韩黄在线观看| 欧美一级视频在线观看| 国产精品国内视频| 日本成人激情视频| 国产视频999| 久久久久久久久久久国产| 国内精品小视频在线观看| 亚洲精品小视频| 亚洲欧美三级伦理| 欧美成人午夜激情在线| 欧美夫妻性生活视频| www.久久久久久.com| 亚洲欧美日韩第一区| 久久亚洲成人精品| 91在线无精精品一区二区| 欧美高清自拍一区| 亚洲国产成人精品久久| 7777精品久久久久久| 91精品国产91久久久久久不卡| 久久福利视频网| 国产亚洲欧美另类中文| 欧美性猛交xxxx久久久| 狠狠躁夜夜躁人人躁婷婷91| 夜色77av精品影院| 91成人在线播放| 久久成人综合视频| 亚洲免费影视第一页| 国产精品视频免费观看www| 69久久夜色精品国产7777| 久久国产精品久久久久久| 91精品国产综合久久香蕉最新版| 国产精品久久久久久影视| 秋霞av国产精品一区| 欧美成人在线网站| 久久亚洲精品国产亚洲老地址| 美日韩丰满少妇在线观看| 在线观看91久久久久久| 亚洲成人久久一区| 日韩经典一区二区三区| 成人久久18免费网站图片| 久久久久九九九九| 97在线视频精品| 久久久久久久久国产精品| 欧美久久精品一级黑人c片| 亚洲成人网在线观看| 日韩在线观看电影| 国产精品视频专区| 成人国产精品一区| www.欧美精品一二三区| 亚洲精品短视频| 欧美猛交ⅹxxx乱大交视频| 国产精品偷伦免费视频观看的| 欧美伦理91i| 一区二区日韩精品| 91国在线精品国内播放| 国产深夜精品福利| 日韩欧美在线视频| 欧美日韩高清在线观看| 丝袜亚洲另类欧美重口| 九九精品在线播放| 91久久国产婷婷一区二区| 精品视频在线播放免| 91国产美女视频| 九九视频这里只有精品| 亚洲男女自偷自拍图片另类| 国产视频精品一区二区三区| 成人xxxx视频| 欧美中文字幕视频在线观看| 国产成人一区二区三区电影| 欧美日本在线视频中文字字幕| 日韩精品免费在线视频| 国产视频久久久| 91精品视频免费观看|