iPhone5S后,iPhone加入了識別指紋的傳感器赁还,可以使用這個(gè)api在我們的APP中添加安全驗(yàn)證。
一驹沿、引言
iPhone5s之后艘策,iPhone硬件上已支持進(jìn)行指紋識別的功能,相應(yīng)的甚负,一些新的api也可以應(yīng)用于APP中柬焕,進(jìn)行用戶安全的驗(yàn)證。目前梭域,開發(fā)者可以使用的安全驗(yàn)證方式有兩種斑举,一種是通過手機(jī)密碼進(jìn)行驗(yàn)證,一種是通過識別指紋進(jìn)行驗(yàn)證病涨。
二富玷、為APP添加安全驗(yàn)證
要使用安全驗(yàn)證的相關(guān)api,我們需要引入如下頭文件:
#import
添加手機(jī)密碼驗(yàn)證:
//創(chuàng)建安全驗(yàn)證對象
LAContext * con = [[LAContext alloc]init];
NSError * error;
//判斷是否支持密碼驗(yàn)證
/**
*LAPolicyDeviceOwnerAuthentication 手機(jī)密碼的驗(yàn)證方式
*LAPolicyDeviceOwnerAuthenticationWithBiometrics 指紋的驗(yàn)證方式
*/
BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&error];
if (can) {
[con evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:@"驗(yàn)證信息" reply:^(BOOL success, NSError * _Nullable error) {
NSLog(@"%d,%@",success,error);
}];
}
canEvaluatePolicy是用來判斷是否支持手機(jī)密碼驗(yàn)證的既穆,如果沒有設(shè)置手機(jī)密碼赎懦,會返回NO,如果啟用了幻工,會出現(xiàn)如下界面:
密碼驗(yàn)證的提示信息励两,我們可以自定義設(shè)置。
進(jìn)行指紋驗(yàn)證:
LAContext * con = [[LAContext alloc]init];
NSError * error;
BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
NSLog(@"%d",can);
if (can) {
[con evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"驗(yàn)證指紋" reply:^(BOOL success, NSError * _Nullable error) {
NSLog(@"%d,%@",success,error);
}];
}
回調(diào)中的success用來判斷是否驗(yàn)證成功:
通過這些驗(yàn)證方式囊颅,可以使用戶的數(shù)據(jù)更加安全当悔,在做敏感操作時(shí),可以確保是手機(jī)的持有者踢代。