iOS傳感器開發——為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,如果啟用了,會出現如下界面:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY0kjNwUDMxQ2NyYTY4MDOxAzY0UDOhdjNlJGN5EmNh9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
密碼驗證的提示資訊,我們可以自定義設定。
進行指紋驗證:
LAContext * con = [[LAContext alloc]init];
BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
NSLog(@"%d",can);
[con evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"驗證指紋" reply:^(BOOL success, NSError * _Nullable error) {
回調中的success用來判斷是否驗證成功:
通過這些驗證方式,可以使使用者的資料更加安全,在做敏感操作時,可以確定是手機的持有者。