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

首頁 > 系統 > iOS > 正文

iOS Touch ID 身份認證

2020-07-26 02:56:07
字體:
來源:轉載
供稿:網友

iOS Touch ID 身份認證

iOS 8 及以后錄了指紋的設備可以使用 touch ID 進行身份認證,指紋符合錄入的指紋才能認證成功。

步驟

  1. 導入 LocalAuthentication 框架:import LocalAuthentication
  2. 初始化 LAContext 對象:let context = LAContext()
  3. 調用 LAContext 對象的 canEvaluatePolicy(_ policy: LAPolicy, error: NSErrorPointer) -> Bool方法
  4. 上一步如果返回 false,表示不能進行認證,執行相應的失敗操作;如果返回 true,調用 LAContext 對象的evaluatePolicy(_ policy: LAPolicy, localizedReason: String, reply: @escaping (Bool, Error?) -> Void)方法,在 reply 中判斷是否認證成功來執行相應的操作(如果認證失敗,可以獲取錯誤碼 code,看看屬于 LAError.Code 的哪種類型錯誤來執行相應的失敗操作)

調用 LAContext 對象的 canEvaluatePolicy 和 evaluatePolicy 方法都要傳入 LAPolicy 枚舉類型的值,目前有兩種取值:deviceOwnerAuthenticationWithBiometrics 和 deviceOwnerAuthentication。前一種 deviceOwnerAuthenticationWithBiometrics 是進行指紋認證。后一種 deviceOwnerAuthentication 是 iOS 9.0 及以后才能使用,先進行指紋認證,如果指紋認證失敗可以通過輸入密碼進行認證。

調用 LAContext 對象的 evaluatePolicy 方法會彈出指紋認證對話框。對話框會顯示需要進行認證的原因(String),就是 localizedReason 參數的值。對話框有取消按鈕,iOS 10.0 及以后可以設置 LAContext 對象的 localizedCancelTitle 的值來改變取消按鈕顯示的字。如果指紋認證失敗,對話框還會顯示 fallback 按鈕,可以設置 LAContext 對象的 localizedFallbackTitle 的值來改變 fallback 按鈕顯示的字。

需要注意,evaluatePolicy 方法的 reply 回調不在主線程。如果需要更新 UI 的話,要調用主線程再更新。

代碼示例

代碼已上傳GitHub:https://github.com/Silence-GitHub/TouchIDDemo

在控制器中放置一個 label 顯示認證返回結果。

指紋認證代碼

let context = LAContext()context.localizedFallbackTitle = "Fall back button"if #available(iOS 10.0, *) { context.localizedCancelTitle = "Cancel button"}var authError: NSError?if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &authError) { context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "Localized reason for authentication with biometrics", reply: { (success, evaluateError) in // NOT in main thread DispatchQueue.main.async { if success { self.label.text = "Success" // Do something success } else if let error = evaluateError { self.label.text = error.localizedDescription // Deal with error if let code = LAError.Code(rawValue: (error as NSError).code) {  switch code {  case .userFallback:  print("fall back button clicked")  default:  break  } } } }  })} else if let error = authError { label.text = error.localizedDescription // Deal with error}

指紋和密碼認證代碼

if #available(iOS 9.0, *) { let context = LAContext() context.localizedFallbackTitle = "Fall back button" if #available(iOS 10.0, *) { context.localizedCancelTitle = "Cancel button" } var authError: NSError? if context.canEvaluatePolicy(.deviceOwnerAuthentication, error: &authError) { context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: "Localized reason for authentication", reply: { (success, evaluateError) in // NOT in main thread DispatchQueue.main.async { if success {  self.label.text = "Success"  // Do something success } else if let error = evaluateError {  self.label.text = error.localizedDescription  // When fall back button clicked, user is required to enter PIN. Error code will not be "userFallback"  // Deal with error } } }) } else if let error = authError { label.text = error.localizedDescription  // Deal with error }} else { let alert = UIAlertController(title: nil, message: "Authentication is available on iOS 9.0 or later", preferredStyle: .alert) alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) present(alert, animated: true, completion: nil)}

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久99国产综合精品女同| 亚洲男人第一av网站| 亚洲女人被黑人巨大进入al| 最近中文字幕日韩精品| 一区二区在线视频播放| 26uuu国产精品视频| 伊人久久综合97精品| 国产精品一区二区电影| 成人精品在线视频| 日韩欧美中文在线| 久久九九有精品国产23| 欧美日韩一区二区在线播放| 91青草视频久久| 久久国产精品影视| 亚洲视频一区二区| 欧美精品亚州精品| 国产亚洲在线播放| 亚洲欧美国产精品久久久久久久| 久久久在线观看| 国产精品视频色| 亚洲欧洲国产一区| 91青草视频久久| 欧美日韩一区二区精品| 性色av一区二区三区免费| 亚洲国产天堂久久综合| 日韩av电影手机在线| 日韩一区二区av| 欧美一区二区三区图| 一色桃子一区二区| 久久久久久九九九| 北条麻妃一区二区三区中文字幕| 欧美激情第6页| 久久久国产精品视频| 国产精品免费在线免费| 久久精品男人天堂| 日韩成人久久久| 亚洲永久免费观看| 伊人青青综合网站| 热99久久精品| 亚洲欧美综合另类中字| 亚洲一区二区久久久| 久久精品国产亚洲精品2020| 国产精品视频999| 久久亚洲成人精品| 欧美成人精品xxx| 亚洲第一精品电影| 日韩中文字幕在线视频播放| 欧美伊久线香蕉线新在线| 成人精品视频久久久久| 欧美高清无遮挡| 亚洲国产欧美精品| 亚洲精品suv精品一区二区| 亚洲性视频网站| 久久九九亚洲综合| 国产精品视频一区二区高潮| 国产激情999| 亚洲精品不卡在线| 久久韩国免费视频| 色999日韩欧美国产| 热久久99这里有精品| 国产日韩精品在线观看| 国产一区二区三区18| 久久视频免费观看| 亚洲mm色国产网站| 国产日韩欧美自拍| 俺去啦;欧美日韩| 亚洲国产精品字幕| 亚洲福利在线视频| 97在线观看免费高清| 日韩在线观看成人| 色偷偷88888欧美精品久久久| 国产久一一精品| 国产日韩精品在线播放| 深夜精品寂寞黄网站在线观看| 亚洲系列中文字幕| 欧美在线视频网站| 人九九综合九九宗合| 九色成人免费视频| 亚洲国产精品va在线| 亚洲成人激情图| 亲爱的老师9免费观看全集电视剧| 久久久久久一区二区三区| 欧美激情视频在线观看| 国产精品久久久久久av| 精品亚洲一区二区三区在线播放| 日韩成人在线视频| 欧美孕妇与黑人孕交| 欧美裸体男粗大视频在线观看| 成人免费在线视频网址| 丝袜美腿亚洲一区二区| 国产v综合ⅴ日韩v欧美大片| 亚洲欧美激情另类校园| 欧美日韩在线视频一区| 国产日本欧美一区二区三区| 国产偷国产偷亚洲清高网站| 中文字幕欧美日韩| 成人免费看吃奶视频网站| 91精品国产综合久久久久久久久| 国产精品亚洲片夜色在线| 欧美激情精品在线| 欧美极品少妇xxxxx| 欧美自拍大量在线观看| 午夜精品理论片| 国产精品劲爆视频| 欧美插天视频在线播放| 久久99亚洲热视| 国产一区二区三区18| 国产精品男人的天堂| 中文字幕精品av| 国产精品视频久久| 欧美激情综合亚洲一二区| 影音先锋欧美精品| 91精品国产乱码久久久久久蜜臀| 欧美在线一区二区视频| 国产精品狼人色视频一区| 操人视频在线观看欧美| 国模视频一区二区| 久久久久久久久久久av| 91欧美精品成人综合在线观看| 亚洲国产天堂久久国产91| 国产成人精品电影| 91免费福利视频| 久久久久久亚洲精品| 久久福利视频导航| 亚洲第一视频在线观看| 亚洲电影免费观看高清完整版| 国产精品永久在线| 国产精品国语对白| 青青草精品毛片| 色琪琪综合男人的天堂aⅴ视频| 欧美国产日韩一区二区三区| 尤物精品国产第一福利三区| 91精品在线观| 国模吧一区二区三区| 日本欧美一二三区| 97涩涩爰在线观看亚洲| 久久精品亚洲国产| 亚洲欧美日韩中文视频| 色噜噜狠狠狠综合曰曰曰| 久久视频在线播放| 久久夜色撩人精品| 日本a级片电影一区二区| 精品偷拍一区二区三区在线看| 国产精品久久999| 在线观看国产精品91| 高清亚洲成在人网站天堂| 国产成人精品一区| 国产精品一区av| 欧美性猛交xxxxx水多| 精品久久国产精品| 亚洲影院高清在线| 亚洲福利视频久久| 亚洲影院色无极综合| 夜夜嗨av色一区二区不卡| 久久伊人精品天天| 自拍偷拍亚洲精品| 亚洲影院污污.| 欧美日韩国产区| 国产亚洲人成a一在线v站| 日韩欧美国产中文字幕| 欧美wwwwww| 曰本色欧美视频在线| 欧美人交a欧美精品| 伊人久久综合97精品|