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

在拥有生物识别认证功能的机器上,我们可以开启 Face IDTouch 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-15
下一篇 2023-03-24

发表回复

登录后才能评论