你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS Swift:指觸即開 如何集成Touch ID指紋識別功能

iOS Swift:指觸即開 如何集成Touch ID指紋識別功能

編輯:IOS開發綜合
  • 1.前言  

    隨著移動支付時代的到來,Touch ID 指紋驗證迅速被支付寶,微信錢包普及,相信各位朋友使用後也大呼方便。之前寫了篇關於iOS9的3D Touch的集成使用,有朋友在我博客下提到,讓我寫一篇關於指紋解鎖的blog,元旦結束後,立馬前來向大家分享我的一點點拙見。

      關於3D Touch 感興趣的朋友可以看我前篇blog  *    iOS- 指壓即達,如何集成iOS9裡的3D Touch http://www.cnblogs.com/qingche/p/4875235.html    

    2.指紋驗證Touch ID的介紹  

    相比3D Touch來說,指紋驗證Touch ID 的使用比較簡單 主要分成兩步 1.第一步當然是檢測你的手機是否可以使用指紋識別(硬件配置) 2.第二步自然是識別你的指紋是否通過(蘋果的指紋生物識別方式)     指紋驗證通過的就不多說了,這裡因為比較簡單,就說說幾種失敗的情況 1.例如,在iPhone 4s,5上運行結果為: com.apple.LocalAuthentication Code=-6 'Biometry is not available on this device.   2.例如,在模擬器 com.apple.LocalAuthentication Code=-1000 'Simulator is not supported.  這上面兩種是硬件配置     接下來還有幾種需要注意是:指紋識別不通過,也就是指紋識別錯誤! 1.連續三次指紋識別錯誤 com.apple.LocalAuthentication Code=-1 'Aplication retry limit exceeded.   2.用戶在Touch ID對話框中點擊了取消按鈕 com.apple.LocalAuthentication Code=-2 'Canceled by user.     3.Touch ID功能被鎖定,下一次需要輸入系統密碼 com.apple.LocalAuthentication Code=-1 'Biometry is locked out.   4.用戶在Touch ID對話框中點擊輸入密碼按鈕 com.apple.LocalAuthentication Code=-3 'Fallback authentication mechanism selected.    

    2.指紋驗證Touch ID的實現  

    好了,下面就直接上代碼了,注釋都給了較為詳細的解釋。

    別忘了 import LocalAuthentication 框架

        override func viewDidLoad() {
            super.viewDidLoad()
            
            //1.初始化TouchID句柄
            let authentication = LAContext()
            var error: NSError?
            
            //2.檢查Touch ID是否可用
            let isAvailable = authentication.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics,
                error: &error)
            
            //3.處理結果
            if isAvailable
            {
                NSLog('Touch ID is available')
                    //這裡是采用認證策略 LAPolicy.DeviceOwnerAuthenticationWithBiometrics
                    //--> 指紋生物識別方式
                    authentication.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: '這裡需要您的指紋來進行識別驗證', reply: {
                        //當調用authentication.evaluatePolicy方法後,系統會彈提示框提示用戶授權
                    (success, error) -> Void in
                    if success
                    {
                        NSLog('您通過了Touch ID指紋驗證!')
                    }
                    else
                    {
                        //上面提到的指紋識別錯誤
                        NSLog('您未能通過Touch ID指紋驗證!錯誤原因:
    (error)')
                    }
                })
            }
            else
            {
                //上面提到的硬件配置
                NSLog('Touch ID不能使用!錯誤原因:
    (error)')
            }
        }
    

    如果還有什麼不太明白,歡迎留言。2016第一篇blog,祝各位新年快樂

    作者: 清澈Saup
    出處: http://www.cnblogs.com/qingche/
     

    1. 上一頁:
    2. 下一頁:
    蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
    Copyright © Ios教程網 All Rights Reserved