天天看點

iOS8指紋驗證TouchID

Apple在iOS8系統對開發者開放了TouchID驗證接口,對于iPhone5s,iOS8及以上版本的手機來說,可以使用指紋驗證來做一些事情。

1、引入LocalAuthentication.framework;

2、指紋驗證代碼:

LAContext *context = [[LAContext alloc] init];
    context.localizedFallbackTitle = @"使用密碼登入";
    [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指紋登入" reply:^(BOOL success, NSError *error) {
        NSString *alertStr = @"";
        if (success) {
            alertStr = @"指紋驗證成功";
        }
        else {
            NSInteger errorCode = error.code;
            switch (errorCode) {
                case LAErrorAuthenticationFailed:
                    //驗證失敗
                    alertStr = @"指紋比對失敗,請重試";
                    break;
                case LAErrorUserCancel:
                    //使用者取消驗證
                    alertStr = @"驗證已取消(使用者)";
                    break;
                case LAErrorUserFallback:
                    //使用者
                    alertStr = @"已選擇密碼驗證";
                    break;
                case LAErrorSystemCancel:
                    alertStr = @"驗證已取消(系統)";
                    break;
                case LAErrorPasscodeNotSet:
                    alertStr = @"裝置未設定解鎖密碼";
                    break;
                case LAErrorTouchIDNotAvailable:
                    alertStr = @"該裝置暫不支援指紋驗證";
                    break;
                case LAErrorTouchIDNotEnrolled:
                    alertStr = @"您未設定指紋密碼";
                    break;
                    
                default:
                    break;
            }
        }
        dispatch_async(dispatch_get_main_queue(), ^{
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:alertStr delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
            [alert show];
        });
    }];