🔨

SwiftUIアプリにFirebaseをSwift Package Managerを使って導入する

2022/08/18に公開

概要

Swift Package Manager (SPM) を使って SwiftUI に Firebase を導入する。
2022年8月時点で Firebase が公式でSPMに対応しているが、CocoaPodsを使用した導入方法が広く紹介されている。
今後の作業の参考になる情報を記録しておく。
あくまでXcode側の作業の記録であり、Firebase の設定については触れない。

環境

macOS 12.4
Xcode 13.4.1
Mac mini (2018) Intel

Swift Package Manager を使用した Firebase の導入

Xcode の File -> Add Packages... を選択し、右上の検索バーに

https://github.com/firebase/firebase-ios-sdk.git 

を入力して検索する。

firebase-ios-sdk を選択したら Dependency Rule の部分を Up to Next Major Version に変更して右下のAdd Packageをクリックする。

導入するPackage を選択する画面が表示されるので必要なモジュールを選択して右下の Add Package を選択する。今回は公式のチュートリアルにもある、FirebaseAnalyticsを選択する。

これでXcode Project にFirebaseを導入できた。

SwiftUI に Firebase を導入する。

Xcode Project内の App を宣言するファイルを開く。

App 内で FirebaseApp.configure を初期化する必要がある。そのためにinitを使って初期化する。

ExampleSwiftUIApp.swift
import SwiftUI
//Firebase を import する
import FirebaseCore

@main
struct PasswordlessSwiftUIApp: App {
    //SwiftUIでFirebaseを使えるようにするためのコード
    init() {
        FirebaseApp.configure
    }

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

これでSwiftUI で Firebase を使えるようになった。

まとめ

SwiftUIアプリにFirebaseをSwift Package Managerを使って導入することは可能。
クリックを数回して、コードを四行追加するだけで導入できるのですごく簡単。

SwiftUIアプリにFirebaseを導入してみようと考えている方の参考になれば幸いです。
間違いや修正すべき点があれば是非お知らせください。

参考資料

https://firebase.google.com/docs/ios/setup?hl=ja

https://github.com/firebase/quickstart-ios/tree/master/swiftui/PasswordlessSwiftUI/PasswordlessSwiftUI

Discussion