指纹识别&钥匙串访问

本文介绍如何获取iOS设备的系统版本,并基于版本号实现Touch ID指纹识别功能。此外,还介绍了如何利用钥匙串服务安全地存储和读取密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 获得当前设备的系统版本号
   
float version = [[UIDevice currentDevice] systemVersion].floatValue;
   
   
NSLog(@"%f",version);
   
   
if (version < 8.0) {
       
       
NSLog(@"请升级至最新系统!");
       
return;
    }
   
   
// 如果系统版本号 > 8.0 ,还需要判断设备是否支持 TouchID
   
   
// 1.实例化指纹识别器
   
LAContext *context = [[LAContext alloc] init];
   
   
// 返回值: YES :说明当前设备支持指纹识别功能!
   
BOOL is_YES = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL];
   
   
if (!is_YES) {
       
       
NSLog(@"请您购买最新的苹果设备!");
    }
else
    {
       
// 开启指纹识别
       
// reply :输入指纹之后的Block回调!
        [context
evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"请输入指纹" reply:^(BOOL success, NSError *error) {
           
// success :YES 标示指纹输入成功!
           
           
if (success) {
               
               
NSLog(@"指纹输入成功!");
               
               
NSLog(@"登陆成功!");
            }
else
            {
               
NSLog(@"请洗手后再次输入!");
            }
        }];
    }
}


   钥匙串访问:
   
   
NSString *username = @"zhangsan";
   
   
// 应用的唯一标识符!
   
NSString *str = [NSBundle mainBundle].bundleIdentifier;
   
   
// 从钥匙串中取出保存的密码
   
NSString *password = [SSKeychain passwordForService:str account:username];
   
   
NSLog(@"password:%@",password);

}

- (
void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
   
// 钥匙串访问! AES 256 本地数据存储安全: 密码/账号
   
// 钥匙串:不知道钥匙串存在说明地方!
   
   
// 在本地存储隐私数据的时候,不允许以明文的形式存储!
   
   
// 钥匙串的使用
   
   
// setPassword :需要保存的密码
   
// forService :应用的唯一标识符
   
// account: 账号
   
   
NSString *password = @"zhang";
   
NSString *username = @"zhangsan";
   
   
// 应用的唯一标识符!
   
NSString *str = [NSBundle mainBundle].bundleIdentifier;
   
   
// 将账号 username 的密码存入钥匙串中!
    [
SSKeychain setPassword:password forService:str account
:username];
   
   
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值