SwiftUI 面容识别解锁、指纹解锁 Face ID、Touch ID 说明与示例

在拥有生物识别认证功能的机器上,我们可以开启 Face ID 或 Touch ID 校验,只有在验证通过后才能展示页面数据内容,更好的保护隐私数据。

SwiftUI 面容识别解锁、指纹解锁 Face ID、Touch ID 说明与示例
生物识别认证演示Demo,文末可下载

集成步骤

在 Info.plist 文件中申请权限
SwiftUI 面容识别解锁、指纹解锁 Face ID、Touch ID 说明与示例
FaceID TouchID 添加Info解锁权限示例

打开如图上所示 Info.plist 配置界面,在列表区域内右键选择 Add Row 添加一条数据项。找到或者输入Key: Privacy - Face ID Usage Description ,在 Value 项中填入申请权限的提示内容,这个内容会在首次获取权限的弹窗中展示。

你也可以通过直接编辑Info.plist文件内容,易出错,不推荐。

<key>NSFaceIDUsageDescription</key> 
<string>你可以启用面容、指纹来保护你的数据</string>

引入生物识别库 LocalAuthentication

import LocalAuthentication

LocalAuthentication 提供生物识别相关服务:

  • 检测设备是否支持生物识别
  • 唤起生物识别验证,完成操作后返回验证结果

使用 LocalAuthentication 检测和发起生物识别认证

let context = LAContext()
var error: NSError?
// 检测设备是否可以进行生物识别
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
    let reason = "需要进行身份识别认证"
    context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) { success, authenticationError in
        // 身份识别认证完成,检查认证情况
        DispatchQueue.main.async {
            if success {
                print("识别认证成功")
            } else {
                print("识别认证成功")
            }
        }
    }
} else {
    if let e = error {
        print(e)
    }
    print("设备没有识别功能或未开启认证权限,检查设置中的权限")
}

关于 Simulator 模拟器如何使用FaceID

Simulator 模拟器默认是没有开启生物识别功能的。可以通过Simulator模拟器菜单 Features -> Face ID -> Enrolled 开启面容识别Face ID功能,之后可以同样在此菜单中选择 Matching Face 或者 Non-matching Face 来模拟识别验证成功或失败的场景。

SwiftUI 面容识别解锁、指纹解锁 Face ID、Touch ID 说明与示例

SwiftUI 面容指纹解锁完整示例Demo

赞助会员赞助会员免费
资源价格 ¥3.00 更新时间 2023-03-23
已付费?登录 或 刷新

  本文自 https://www.codeun.com 发布,相应代码均自主编写并严格审阅和测试,完整代码中包含丰富的学习笔记和使用方式、实用技巧。
  · 如若转载,请注明出处:https://www.codeun.com/archives/926.html ·

赞 (1)
上一篇 2023-03-13 下午5:47
下一篇 2023-03-27 上午11:47

发表回复

登录后才能评论