最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單實現(xiàn)iOS指紋解鎖(TouchID)

 更新時間:2017年02月25日 08:42:48   作者:鴻鵠當(dāng)高遠  
這篇文章主要介紹了如何簡單實現(xiàn)iOS指紋解鎖,驗證TouchID,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了iOS指紋解鎖的具體代碼,供大家參考,具體內(nèi)容如下

1、首先,引入依賴框架 LocalAuthentication.framework

#import <LocalAuthentication/LocalAuthentication.h>

2、然后,判斷系統(tǒng)是否為iOS8及以上

//iOS8.0后才支持指紋識別接口
 if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) {
  return;
 }

3、最后,在APP啟動時調(diào)用以下方法即可完成指紋解鎖的全部功能集成

- (void)evaluateAuthenticate
{
 //創(chuàng)建LAContext
 LAContext* context = [[LAContext alloc] init];
 NSError* error = nil;
 NSString* result = @"請驗證已有指紋";
 
 //首先使用canEvaluatePolicy 判斷設(shè)備支持狀態(tài)
 if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
  //支持指紋驗證
  [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:result reply:^(BOOL success, NSError *error) {
   if (success) {
    //驗證成功,主線程處理UI
   }
   else
   {
    NSLog(@"%@",error.localizedDescription);
    switch (error.code) {
     case LAErrorSystemCancel:
     {
      //系統(tǒng)取消授權(quán),如其他APP切入
      break;
     }
     case LAErrorUserCancel:
     {
      //用戶取消驗證Touch ID
      break;
     }
     case LAErrorAuthenticationFailed:
     {
      //授權(quán)失敗
      break;
     }
     case LAErrorPasscodeNotSet:
     {
      //系統(tǒng)未設(shè)置密碼
      break;
     }
     case LAErrorTouchIDNotAvailable:
     {
      //設(shè)備Touch ID不可用,例如未打開
      break;
     }
     case LAErrorTouchIDNotEnrolled:
     {
      //設(shè)備Touch ID不可用,用戶未錄入
      break;
     }
     case LAErrorUserFallback:
     {
      [[NSOperationQueue mainQueue] addOperationWithBlock:^{
       //用戶選擇輸入密碼,切換主線程處理
       
      }];
      break;
     }
     default:
     {
      [[NSOperationQueue mainQueue] addOperationWithBlock:^{
       //其他情況,切換主線程處理
      }];
      break;
     }
    }
   }
  }];
 }
 else
 {
  //不支持指紋識別,LOG出錯誤詳情
  NSLog(@"不支持指紋識別");
  
  switch (error.code) {
   case LAErrorTouchIDNotEnrolled:
   {
    NSLog(@"TouchID is not enrolled");
    break;
   }
   case LAErrorPasscodeNotSet:
   {
    NSLog(@"A passcode has not been set");
    break;
   }
   default:
   {
    NSLog(@"TouchID not available");
    break;
   }
  }
  
  NSLog(@"%@",error.localizedDescription);
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

乐清市| 嘉禾县| 曲沃县| 新巴尔虎右旗| 叙永县| 滁州市| 锡林浩特市| 遂川县| 武川县| 大新县| 柏乡县| 宜章县| 金昌市| 修水县| 平定县| 简阳市| 白山市| 商水县| 灵武市| 连城县| 砚山县| 定远县| 镇平县| 弥勒县| 陆良县| 甘德县| 高密市| 婺源县| 苍山县| 泉州市| 铜梁县| 岚皋县| 兰溪市| 遂川县| 齐齐哈尔市| 佛冈县| 淳化县| 乌苏市| 汽车| 泽普县| 柞水县|