如何在 SwiftUI 中使用 Touch ID 和 Face ID?

这篇具有很好参考价值的文章主要介绍了如何在 SwiftUI 中使用 Touch ID 和 Face ID?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 需要通过指纹,面容认证后才能打开 App


2. 添加配置

需要向 Info.plist 文件中添加一个配置,向用户说明为什么要访问
添加 Privacy - Face ID Usage Description
并为其赋予值 $(PRODUCT_NAME) need Touch Id or Face ID permission for app lock


如何在 SwiftUI 中使用 Touch ID 和 Face ID?,SwiftUI,Swift,提升体验,swiftui,ios,swift,touch id,face id


3. Show me the code

//
//  SwiftUIView84.swift
//  bill2
//
//  Created by 朱洪苇 on 2023/7/22.
//

import SwiftUI
import LocalAuthentication

struct SwiftUIView84: View {
    @State private var isUnlocked = false
    
    func authenticate() {
        let context = LAContext()
        var error: NSError?
        // 检查是否可以进行生物特征认证
        if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
            // 有可能,所以继续使用它
            let reason = "We need to unlock your data."
            context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) { success, authenticationError in
                // 身份验证现已完成
                DispatchQueue.main.async {
                    if success {
                        // authenticated successfully
                        self.isUnlocked = true
                        print("成功认证")
                    } else {
                        // there was a problem
                        self.isUnlocked = false
                        print("有个问题")
                    }
                }
            }
        } else {
            print("没有生物识别")
            // 没有生物识别
        }
    }

    var body: some View {
        VStack {
            if self.isUnlocked {
                Text("Unlocked")
                    .foregroundColor(.green)
            } else {
                Text("Locked")
                    .foregroundColor(.red)
            }
        }
        .font(.largeTitle)
        .onAppear(perform: authenticate)
    }
}

struct SwiftUIView84_Previews: PreviewProvider {
    static var previews: some View {
        SwiftUIView84()
    }
}

4. 真机运行

如何在 SwiftUI 中使用 Touch ID 和 Face ID?,SwiftUI,Swift,提升体验,swiftui,ios,swift,touch id,face id
如何在 SwiftUI 中使用 Touch ID 和 Face ID?,SwiftUI,Swift,提升体验,swiftui,ios,swift,touch id,face id
如何在 SwiftUI 中使用 Touch ID 和 Face ID?,SwiftUI,Swift,提升体验,swiftui,ios,swift,touch id,face id


推荐一下刚上线的 App 熊猫小账本,里面有用到这篇博客讲的内容

熊猫小账本 一个简洁的记账 App,用于记录日常消费开支收入,使用 iCloud 保存同步数据。文章来源地址https://www.toymoban.com/news/detail-604648.html

  • 支持备注,自定义时间偶尔忘记记账也没关系。
  • 搜索历史记账,支持分类、金额、备注。
  • 启动时需要面容/指纹验证,保护个人隐私。
  • 支持自定义分类功能,自由添加修改分类。
  • 统计图表,支出收入一目了然。
  • 每天提醒记账,不会有其他推送。
  • 桌面锁屏小组件开发中。。。

喜欢或对你有帮助,请点个赞吧,自己先点个嘿嘿 。
有错误或者疑问还请评论指出。
我的个人网站 点击访问 hongweizhu.com 。

END

到了这里,关于如何在 SwiftUI 中使用 Touch ID 和 Face ID?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SwiftUI Swift CoreData 计算某实体某属性总和

    有一个名为 Item 的实体,它有一个名为 amount 的 Double 属性,向你的 View 添加一个计算属性: 熊猫小账本 一个简洁的记账 App,用于记录日常消费开支收入,使用 iCloud 保存同步数据。 支持备注,自定义时间偶尔忘记记账也没关系。 搜索历史记账,支持分类、金额、备注。 启

    2024年02月07日
    浏览(40)
  • 关于iOS:如何使用SwiftUI调整图片大小?

    我在Assets.xcassets中拥有很大的形象。 如何使用SwiftUI调整图像大小以缩小图像? 我试图设置框架,但不起作用: 1 2 Image(room.thumbnailImage)     .frame(width: 32.0, height: 32.0) 在Image上应用任何大小修改之前,应使用.resizable()。 1 2 Image(room.thumbnailImage).resizable() .frame(width: 32.0, height: 3

    2024年02月05日
    浏览(42)
  • 如何在 SwiftUI 中使用 AccessibilityCustomContentKey 修饰符

    SwiftUI 3 发布了许多新的辅助功能 API,我们可以利用这些 API 以轻松的方式显著提高用户体验。本篇文章来聊聊另一个新的 API,我们可以使用 SwiftUI 中的新 accessibilityCustomContent 视图修饰符提供自定义的辅助功能内容。 让我们从一个简单的示例开始,定义 User 结构体以及呈现

    2024年01月15日
    浏览(35)
  • SwiftUI——如何使用新的NavigationStack和NavigationSplitView(如何页面跳转2.0以及如何制作侧栏)

    从 iOS 16 开始,苹果开始弃用原先的 NavigationView ,以后会逐渐完全淘汰掉。现在开始使用 NavigationStack 和 NavigationSplitView 。 NavigationStack 的效果和原本的 NavigationView 一样,而 NavigationSplitView 则和现在 iPadOS 上的 NavigationView 效果一样。 最近在 iPadOS 上面使用 NavigationView ,内容会

    2024年02月04日
    浏览(34)
  • 如何在 SwiftUI 中配置 SwiftData

    在 WWDC 2023 上,Apple 宣布了一个备受期待的新持久性刷新,以一种新的框架形式出现:SwiftData。SwiftData 从 iOS 17 开始提供,允许使用 Swift 类型对应用程序的持久性数据进行建模,并以类型安全和声明性的方式执行 CRUD 操作。 在本文中,将展示如何配置 SwiftData 用于一个 Swift

    2024年02月13日
    浏览(50)
  • 如何在 SwiftUI 中实现音频图表

    在可访问性方面,图表是复杂的事物之一。iOS 15 引入了一项名为“音频图表”的新功能。 下面我们将学习如何通过使用 accessibilityChartDescriptor 视图修饰符为任何 SwiftUI 视图构建音频表示,呈现类似自定义条形图视图或图像的图表。 让我们从在 SwiftUI 中构建一个简单的条形图

    2024年01月22日
    浏览(38)
  • 如何将自定义字体添加到 iOS 应用程序(SwiftUI + 得意黑)

    Xcode Version 14.3 (14E222b) SwiftUI 得意黑 Smiley Sans https://github.com/atelier-anchor/smiley-sans/releases https://sarunw.com/posts/how-to-add-custom-fonts-to-ios-app/ 熊猫小账本 一个简洁的记账 App,用于记录日常消费开支收入,使用 iCloud 保存同步数据。 支持备注,自定义时间偶尔忘记记账也没关系。 搜索

    2024年02月13日
    浏览(61)
  • SwiftUI 如何保证 Text 中字符数量相等的字符串显示宽度一定相同?

    在 SwiftUI 中我们往往需要将内容相似的字符串展列出来给用户比较,这些字符串内容各有不同但字符数量始终是相等的,我们希望它们的显示宽度始终保持一致: 如上图所示:即使是等宽字符组成的字符串在字符数量相等时它们的显示宽度仍然可能不一致。但演示中最底部的

    2024年01月17日
    浏览(41)
  • SwiftUI 中List动态列表容器视图的使用方法

    List  是 SwiftUI 中用于显示动态列表的容器视图。它接受一个或多个子视图,并根据提供的数据动态生成对应的列表项。 下面是  List  的常见用法和一些常用的参数: 基本用法: 在这个例子中, List  包含了三个  Text  视图作为列表项。 使用  ForEach  进行动态列表生成:  

    2024年02月07日
    浏览(56)
  • SwiftUI中EnvironmentObject使用中,直接修改数据源的原值的方法

    在Swift中有几种引用,一个通过@Binding  var Param来引用原变量的值,在子函数或子View中修改 Param,但我们也经常使用@EnvironmentObject来引用全局数据。 例如: 在这个例子中,我们通过定义 @EnvironmentObject var greenhouseData : GreenhouseData 来引用全局的数据GreenhouseData,当然在上一层V

    2024年02月06日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包