iPhone5S後,iPhone加入了識別指紋的傳感器,可以使用這個api在我們的APP中添加安全驗證。
一、引言
iPhone5s之後,iPhone硬件上已支持進行指紋識別的功能,相應的,一些新的api也可以應用於APP中,進行用戶安全的驗證。目前,開發者可以使用的安全驗證方式有兩種,一種是通過手機密碼進行驗證,一種是通過識別指紋進行驗證。
二、為APP添加安全驗證
要使用安全驗證的相關api,我們需要引入如下頭文件:
#import <LocalAuthentication/LocalAuthentication.h>
添加手機密碼驗證:
//創建安全驗證對象
LAContext * con = [[LAContext alloc]init];
NSError * error;
//判斷是否支持密碼驗證
/**
*LAPolicyDeviceOwnerAuthentication 手機密碼的驗證方式
*LAPolicyDeviceOwnerAuthenticationWithBiometrics 指紋的驗證方式
*/
BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&error];
if (can) {
[con evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:@"驗證信息" reply:^(BOOL success, NSError * _Nullable error) {
NSLog(@"%d,%@",success,error);
}];
}
canEvaluatePolicy是用來判斷是否支持手機密碼驗證的,如果沒有設置手機密碼,會返回NO,如果啟用了,會出現如下界面:
密碼驗證的提示信息,我們可以自定義設置。
進行指紋驗證:
LAContext * con = [[LAContext alloc]init];
NSError * error;
BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
NSLog(@"%d",can);
if (can) {
[con evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"驗證指紋" reply:^(BOOL success, NSError * _Nullable error) {
NSLog(@"%d,%@",success,error);
}];
}
回調中的success用來判斷是否驗證成功:
通過這些驗證方式,可以使用戶的數據更加安全,在做敏感操作時,可以確保是手機的持有者。