LoginSignup
2
3

More than 1 year has passed since last update.

Life Cycle:SwiftUI Appで作成した時にFirebaseを初期化する方法

Posted at

はじめに

Xcode12よりプロジェクト作成時に、追加されたLife CycleのSwiftUI Appを選択してプロジェクト作成した後、Firebase.configure()をどう記述すればわからなかったので調べた結果を残します。

スクリーンショット 2021-05-23 11.50.05.png

Firebaseの公式ドキュメントによると

Firebaseの公式ドキュメントを確認すると

FirebaseApp 共有インスタンスを構成します。通常はアプリの
application:didFinishLaunchingWithOptions: メソッドで行います。

と書かれていますが、実際にAppDelegate.swiftがLife Cycle SwiftUI Appを選択してしまうと存在しません。

解決方法

HogeHogeApp.swiftに追記すればできます。
まず@UIApplicationDelegateAdaptorを追記して、AppDelegate使えるようにします。

HogeHogeApp.swift
@main
struct ChatAPPApp: App {
    @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate //←この行を追加

    var body: some Scene {
        WindowGroup {
            HomeView()
        }
    }
}

次にHogeHogeApp.swiftに下記のコードを追記します。

HogeHogeApp.swift
class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        FirebaseApp.configure()

        return true
    }
}

参考

[Xcode 12] アプリの起動について変更になった部分まとめ

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3