SwiftUI 中处理认证与 Firebase 的综合指南
1. SwiftUI 苹果登录功能解析
在 SwiftUI 中,原生的“使用苹果登录”功能是一项备受期待的 iOS 特性,它遵循了苹果使用该机制进行应用认证的政策。 SignInWithAppleButton 组件以 SwiftUI 的方式工作,需要传递两个回调函数:
- 第一个回调函数用于配置请求类型、所需凭证范围等。
- 第二个回调函数在请求完成后调用,显示结果。若成功,可保存凭证以便未来重用,并在 UI 中显示。
由于 SignInWithAppleButton 作为视图,在应用启动时不会检查凭证是否仍然有效。因此,我们使用 ASAuthorizationAppleIDProvider() 的 .CredentialState() 函数来检查保存的凭证是否仍然有效。该函数是异步的,必须使用 await 关键字调用,并通过主视图的 .task() 修饰符触发。
需要注意的是,“使用苹果登录”没有提供退出登录的 API,用户必须在 iOS 设置的“密码与安全”部分禁用凭证才能退出应用。
2. 将 Firebase 集成到 SwiftUI 项目
Firebase 是一个移动开发平台,提供了多种简化移动应用开发的产品,如持久化存储、认证、通知等后端服务。虽然 Firebase 提供了 Swift 框架,但并非所有服务都能在 SwiftUI 中顺利工作,需要一些变通方法。
超级会员免费看
订阅专栏 解锁全文
5483

被折叠的 条评论
为什么被折叠?



