新しい SwiftUI ライフ サイクルでサード パーティ フレームワークを初期化するには、次の 3 つの方法があります。
古いライフ サイクル モデルの使用
古いライフ サイクル モデルを引き続き使用できます。
オプション 1: UIKit アプリ デリゲートのライフ サイクルを使用する
新しい 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
SwiftUI が次のようにプロパティ ラッパーAppDelegate
を使用して を注入できるようにします。@ 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
}
}