iPhone X Face ID判断

本文档详细介绍了如何在iOS应用中集成FaceID和TouchID生物识别技术,包括必要的配置步骤、代码实现及模拟器测试方法。适用于希望增强应用程序安全性并提供便捷用户体验的iOS开发者。

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

使用Face ID识别方式需要在info.plist文件里增加key

<key>NSFaceIDUsageDescription</key>
<string>允许设备访问Face ID</string>

识别方法

+ (void)biologicalRecognitionResult:(void (^)(BOOL success, NSError *error))result{
    
    if (NSFoundationVersionNumber >= NSFoundationVersionNumber_iOS_8_0) {
        LAContext *context = [[LAContext alloc] init];
        /**
         需要先判断是否支持识别
         *LAPolicyDeviceOwnerAuthentication 手机密码的验证方式
         *LAPolicyDeviceOwnerAuthenticationWithBiometrics 指纹的验证方式,使用这种方式需要设置 context.localizedFallbackTitle = @""; 否则在验证失败时会出现点击无响应的“输入密码”按钮
         */
        if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil]) {
            /**
             需要先判断是否支持指纹或者Face ID识别后,才能判断是什么类型的识别方式
            */
            NSString *localizedReason = @"指纹登录";
            
            if (@available(iOS 11.0, *)) {
                if (context.biometryType == LABiometryTypeTouchID) {
                    
                }else if (context.biometryType == LABiometryTypeFaceID){
                    localizedReason = @"Face ID登录";
                }
            }
            
            [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:localizedReason reply:^(BOOL success, NSError * _Nullable error) {
                if (success) {
                    NSLog(@"--------识别成功");
                }else{
                    if (error.code != 2) {
                        
                    }
                }
            }];
        }
    }else {
        NSLog(@"你的设备不支持指纹识别");
    }
}

模拟器测试方法

选中模拟器,菜单栏--> Hardware --> Face ID/Touch ID
Enrolled                                   相当于已经设置了Face ID或者Touch ID
Matching Touch/Matching Face               匹配ID
Non-matching Touch/Non-matching Face       不匹配





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值