Touch ID指紋解鎖使用,touchid指紋解鎖

來源:互聯網
上載者:User

Touch ID指紋解鎖使用,touchid指紋解鎖

Touch ID是iPhone5S後加入的一項新的功能,也就是大家熟知的指紋識別技術。大家用得最多的可能是手機的解屏操作,不用在和以前一樣輸入手機的四位元密碼進行驗證。一方面不用擔心密碼被別人看到,另一方面也方便了自己的操作。iOS8後蘋果開放了Touch ID的API給開發人員,這也給我們的app帶來了新的體驗。

使用

Touch ID的API非常的簡單也好理解,在使用前我們需要匯入LocalAuthentication這個庫。並引入關鍵模組:LAcontext

蘋果公司並沒有對Touch ID完全開放,只是開放了如下所的兩個介面

(1) canEvaluatePolicy:error: 判讀是否能夠認證Touch ID

(2) evaluatePolicy:localizedReson:reply: 認證Touch ID

關鍵代碼如下

LAContext * myContext = [[LAContext alloc]init];

  NSError * authError = nil;

  NSString * myLocatizedReasonString = @"請掃描你的指紋.";

    if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {

        [myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:myLocatizedReasonString reply:^(BOOL success, NSError * _Nullable error) {

            if (success) {

                dispatch_async (dispatch_get_main_queue(), ^{

                    //在主線程更新 UI,不然會卡主

                     TouchViewController * touchVC = [[TouchViewController alloc]init];

                     [self.navigationController pushViewController:touchVC animated:YES];

                });

            }

            if (!success) {

                NSLog(@"%@",error);

            }

        }];

    }

錯誤處理

typedef NS_ENUM(NSInteger, LAError)

{

    //使用者驗證沒有通過,比如提供了錯誤的手指的指紋

    LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,

    // 使用者取消了Touch ID驗證

    LAErrorUserCancel  = kLAErrorUserCancel,

    //使用者不想進行Touch ID驗證,想進行輸入密碼操作

    LAErrorUserFallback  = kLAErrorUserFallback,

     // 系統終止了驗證

    LAErrorSystemCancel = kLAErrorSystemCancel,

     // 使用者沒有在裝置Settings中設定密碼

    LAErrorPasscodeNotSet = kLAErrorPasscodeNotSet,

    // 裝置不支援Touch ID

    LAErrorTouchIDNotAvailable  = kLAErrorTouchIDNotAvailable,

// 裝置沒有進行Touch ID 指紋註冊

    LAErrorTouchIDNotEnrolled   = kLAErrorTouchIDNotEnrolled,

} NS_ENUM_AVAILABLE(10_10, 8_0);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.