在新的 SwiftUI 生命周期中初始化第三方框架有三种方法:
使用旧的生命周期模型
您仍然可以使用旧的生命周期模型:
选项 1:使用UIKit App Delegate生命周期
在新建 SwiftUI 项目时,可以选择旧的生命周期模型。这将像以前一样创建一个AppDelegate
和一个SceneDelegate
。我承认,它不像一直使用 SwiftUI 那样花哨——但绝对是最简单、最直接的方式。

使用新的生命周期模型
如果要使用新的生命周期模型,请使用以下方法之一。
选项 2:使用App
' 初始化程序
您可以覆盖App
类的默认初始化程序,如下所示:
import SwiftUI
import Firebase
@main
struct SO62626652_InitialiserApp: App {
init() {
FirebaseApp.configure()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
选项 3:使用@ 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
}
}