the*_*wla 24 firebase firebase-authentication swiftui swiftui-environment
我已经有一个可以完全使用 SwiftUI 构建的应用程序。我使用 Firebase 使用 Cloud Functions 进行身份验证和通知。
现在使用新的 SwiftUI App->Scene->View 构造,我无法将设置添加到我的应用程序中。
例如- >初期FirebaseApp.configure()将首先进去didFinishLaunchingWithOptions的AppDelegate,现在我在哪里添加此配置的损失。
设置远程通知也是如此。
PS:如果需要前一个应用程序的更多详细信息/代码,请发表评论。我没有添加任何代码,因为我觉得没有必要。
Pet*_*ese 48
在新的 SwiftUI 生命周期中,初始化第三方框架有以下三种方法:
您仍然可以使用旧的生命周期模型:
创建新的 SwiftUI 项目时,您可以选择旧的生命周期模型。这将像以前一样创建一个AppDelegate和一个SceneDelegate。我承认并不像一直使用 SwiftUI 那样花哨——但绝对是最简单、最直接的方法。
如果要使用新的生命周期模型,请使用以下任一方法。
App的初始化程序您可以覆盖类的默认初始化程序App,如下所示:
import SwiftUI
import Firebase
@main
struct SO62626652_InitialiserApp: App {
init() {
FirebaseApp.configure()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Run Code Online (Sandbox Code Playgroud)
@ UIApplicationDelegateAdaptor在您的App类中,定义一个属性来保存对您的 的引用AppDelegate,并让 SwiftUIAppDelegate使用@ UIApplicationDelegateAdaptor属性包装器注入,如下所示:
import SwiftUI
import Firebase
@main
struct SO62626652_AppDelegateAdaptorApp: App {
@UIApplicationDelegateAdaptor private var appDelegate: AppDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
FirebaseApp.configure()
return true
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3999 次 |
| 最近记录: |