指紋識(shí)別

要求 :iOS 系統(tǒng)必須是8.0以上,mac系統(tǒng)必須是10.10以上,在5S之上的設(shè)備才支持指紋識(shí)別功能。

iOS 8 SDK向開發(fā)者公開了Touch ID指紋識(shí)別功能,允許App對(duì)用戶身份進(jìn)行本地驗(yàn)證。使用Touch ID非常簡單;

1.需要引入LocalAuthentication框架

2.使用代碼

LAContext *context = [[LAContext alloc]init];
context.localizedFallbackTitle = fallbackTitle;
NSError *error = nil;
NSAssert(self.delegate != nil, WJNotice(@"WJTouchIDDelegate 不能為空", @"WJTouchIDDelegate must be non-nil"));
//判斷設(shè)備是否支持指紋識(shí)別
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
    
    // 輸入指紋,異步
    // 提示:指紋識(shí)別只是判斷當(dāng)前用戶是否是手機(jī)的主人!程序原本的邏輯不會(huì)受到任何的干擾!
    [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:message == nil ? WJNotice(@"默認(rèn)提示信息", @"The Default Message") : message reply:^(BOOL success, NSError * _Nullable error) { 
        
        if (success) {
            
              //指紋識(shí)別成功之后的處理
            }
        } else if (error) {
            
            switch (error.code) {
                    
                case LAErrorAuthenticationFailed: {
                       //用戶驗(yàn)證失敗
                           }
                    break;
                    
                case LAErrorUserCancel: {
                    //用戶取消
            
                }
                    break;
                    
                case LAErrorUserFallback: {
                    
                    //在TouchID對(duì)話框中點(diǎn)擊輸入密碼按鈕
                }
                    break;
                    
                case LAErrorSystemCancel:{
                   //在驗(yàn)證的TouchID的過程中被系統(tǒng)取消 例如突然來電話、按了Home鍵、鎖屏...
                    }
                }
                    break;
                    
                case LAErrorTouchIDNotEnrolled: {
              //設(shè)備沒有錄入TouchID,無法啟用TouchID
                }
                    break;
                    
                case LAErrorPasscodeNotSet: {
                    //無法啟用TouchID,設(shè)備沒有設(shè)置密碼
           
                }
                    break;
                    
                case LAErrorTouchIDNotAvailable: {
                    
                    //該設(shè)備的TouchID無效
                }
                    break;
                    
                case LAErrorTouchIDLockout: {
                    
               //多次連續(xù)使用Touch ID失敗,Touch ID被鎖,需要用戶輸入密碼解鎖
                }
                    break;
                    
                case LAErrorAppCancel:  {
                    
             //當(dāng)前軟件被掛起取消了授權(quán)(如突然來了電話,應(yīng)用進(jìn)入前臺(tái))
                }
                    break;
                    
                case LAErrorInvalidContext: {
             //當(dāng)前軟件被掛起取消了授權(quán) (授權(quán)過程中,LAContext對(duì)象被釋)
                }
                    break;
            }
        }
    }];
    
} else {
  //  當(dāng)前設(shè)備不支持指紋識(shí)別
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡述: 在類似支付寶為首的應(yīng)用以及各種理財(cái)?shù)壬婕板X財(cái)對(duì)安全性要求較高的應(yīng)用中,目前普遍對(duì)關(guān)鍵數(shù)據(jù)都做了安全訪問限制...
    C_HPY閱讀 3,188評(píng)論 0 18
  • 由于自己的產(chǎn)品接下來可能要支持touch id,所以有必要對(duì)ios的指紋識(shí)別做一下預(yù)研。去年九月份,隨著 iPho...
    JonnyHoang閱讀 1,397評(píng)論 0 6
  • 指紋識(shí)別功能是iphone 5S之后推出的.SDK是iOS 8.0推出! 推出指紋識(shí)別功能的目的,是為了簡化移動(dòng)支...
    楚簡約閱讀 4,445評(píng)論 2 3
  • 舒曼是一顆種子 不小心種在我心里了,不小心生根了,發(fā)芽了.... 不知不覺的,你好像已經(jīng)在我心里變成了一顆每天滋長...
    舒科舒科舒科閱讀 211評(píng)論 1 1

友情鏈接更多精彩內(nèi)容