前提条件
以下をインストールします。
- Xcode 16.2 以降
プロジェクトが次の要件を満たしていることを確認します。
- 以下のバージョンまたはそれ以降のプラットフォームをターゲットにしている必要があります。
- iOS 13
- macOS 10.15
- tvOS 13
- watchOS 7
- 以下のバージョンまたはそれ以降のプラットフォームをターゲットにしている必要があります。
アプリを実行するための物理的な Apple デバイスを設定するか、またはシミュレータを使用します。
- Google アカウントを使用して Firebase にログインします。
Xcode プロジェクトがない場合、Firebase プロダクトを試してみるだけであれば、クイックスタート サンプルをダウンロードしてお使いいただけます。
ステップ 1: Firebase プロジェクトを作成する
Apple アプリに Firebase を追加する前に、アプリに接続するための Firebase プロジェクトを作成します。Firebase プロジェクトの詳細については、Firebase プロジェクトについて理解するをご覧ください。
ステップ 2: アプリを Firebase に登録する
Apple アプリで Firebase を使用するには、アプリを Firebase プロジェクトに登録する必要があります。アプリの登録は、プロジェクトへのアプリの「追加」とも呼ばれます。
Firebaseコンソールに移動します。
プロジェクトの概要ページの中央にある iOS+ アイコンをクリックして、設定ワークフローを起動します。
すでに Firebase プロジェクトにアプリを追加している場合は、[アプリを追加] をクリックするとプラットフォームのオプションが表示されます。
アプリのバンドル ID を [Apple バンドル ID] フィールドに入力します。
(省略可)その他のアプリ情報(アプリのニックネームと App Store ID)を入力します。
[アプリを登録] をクリックします。
ステップ 3: Firebase 構成ファイルを追加する
[GoogleService-Info.plist をダウンロード] をクリックして、Firebase Apple プラットフォーム構成ファイル(
GoogleService-Info.plist
)を取得します。構成ファイルを Xcode プロジェクトのルートに移動します。メッセージが表示されたら、構成ファイルをすべてのターゲットに追加するオプションを選択します。
プロジェクトに複数のバンドル ID がある場合は、Firebase コンソールで各バンドル ID を登録済みアプリに関連付けて、各アプリで固有の GoogleService-Info.plist
ファイルを使用できるようにする必要があります。
ステップ 4: アプリに Firebase SDK を追加する
Swift Package Manager を使用して Firebase の依存関係のインストールと管理を行います。
- Xcode でアプリのプロジェクトを開いたまま、[File] > [Add Packages] の順に移動します。
- プロンプトが表示されたら、Firebase Apple プラットフォーム SDK リポジトリを追加します。
- 使用する SDK のバージョンを選択します。
使用する Firebase ライブラリを選択します。
Firebase プロジェクトで Google Analytics が有効になっている場合は、必ず
FirebaseAnalytics
を追加してください。アナリティクスに IDFA 収集機能がない場合は、代わりにFirebaseAnalyticsWithoutAdId
を追加してください。
https://github.com/firebase/firebase-ios-sdk
上記の作業が完了すると、Xcode は依存関係の解決とバックグラウンドでのダウンロードを自動的に開始します。
ステップ 5: アプリで Firebase を初期化する
最後に、アプリケーションに初期化コードを追加します。この手順は、アプリに Firebase を追加するときにすでに完了している可能性があります。クイックスタートのサンプル プロジェクトを使用した場合は自動で完了しています。
UIApplicationDelegate
にFirebaseCore
モジュールと、アプリのデリゲートが使用する他の Firebase モジュールをインポートします。たとえば、Cloud Firestore、Authentication を使用するには、次のように指定します。SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- アプリ デリゲートの
application(_:didFinishLaunchingWithOptions:)
メソッドで、FirebaseApp
共有インスタンスを構成します。SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- SwiftUI を使用している場合は、アプリケーション デリゲートを作成し、
UIApplicationDelegateAdaptor
またはNSApplicationDelegateAdaptor
を介してApp
構造体に接続する必要があります。また、アプリ デリゲートのメソッドの実装入れ替えを無効にする必要があります。詳細については、SwiftUI の手順をご覧ください。SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- Google Analytics 用の Firebase SDK を追加した場合は、アプリを実行して、Firebase のインストールに成功したという確認内容を Firebase コンソールに送信できます。
これで、状況に応じて次の手順に進んでください。
設定の際に問題が発生した場合は、Apple プラットフォームのトラブルシューティングとよくある質問をご覧ください。
使用可能なライブラリ
このセクションでは、Apple プラットフォームでサポートされている Firebase プロダクトを一覧表示しています。Firebase Apple プラットフォーム ライブラリの詳細については、以下をご覧ください。
Firebase Apple プラットフォーム SDK の GitHub リポジトリ
サービスまたはプロダクト | Pod | SwiftPM ライブラリ | アナリティクスの追加 |
---|---|---|---|
AdMob | pod 'Google-Mobile-Ads-SDK' |
なし | |
Firebase AI Logic 1 |
pod 'FirebaseAI' |
FirebaseAI |
|
Analytics | pod 'FirebaseAnalytics' |
FirebaseAnalytics |
|
App Check | pod 'FirebaseAppCheck' |
FirebaseAppCheck |
|
App Distribution | pod 'FirebaseAppDistribution' |
FirebaseAppDistribution |
|
Authentication | pod 'FirebaseAuth' |
FirebaseAuth |
|
Cloud Firestore | pod 'FirebaseFirestore' |
FirebaseFirestore |
|
Cloud Functions for Firebase Client SDK | pod 'FirebaseFunctions' |
FirebaseFunctions |
|
Cloud Messaging | pod 'FirebaseMessaging' |
FirebaseMessaging |
|
Cloud Storage | pod 'FirebaseStorage' |
FirebaseStorage |
|
Crashlytics | pod 'FirebaseCrashlytics' |
FirebaseCrashlytics |
|
Data Connect | なし | FirebaseDataConnect |
|
Dynamic Links | pod 'FirebaseDynamicLinks' |
FirebaseDynamicLinks |
|
In-App Messaging | pod 'FirebaseInAppMessaging' |
FirebaseInAppMessaging |
(必須) |
Firebaseインストール | pod 'FirebaseInstallations' |
FirebaseInstallations |
|
Firebase ML Custom Model API | pod 'FirebaseMLModelDownloader' |
FirebaseMLModelDownloader |
|
Performance Monitoring | pod 'FirebasePerformance' |
FirebasePerformance |
|
Realtime Database | pod 'FirebaseDatabase' |
FirebaseDatabase |
|
Remote Config | pod 'FirebaseRemoteConfig' |
FirebaseRemoteConfig |
1 Firebase AI Logic は以前は「Vertex AI in Firebase」と呼ばれ、Pod pod 'FirebaseVertexAI'
と SwiftPM ライブラリ FirebaseVertexAI
を使用していました。
Swift Package Manager を使用せずに統合する
Swift Package Manager を使用しない場合でも、CocoaPods を使用するか、フレームワークを直接インポートすることで、Firebase SDK を利用できます。
CocoaPods
CocoaPods 統合の詳細については、こちらのガイドをご覧ください。
フレームワーク
iOS プラットフォームのサポートに加えて、zip には .xcframework
ファイルが含まれるようになりました。詳しくは、GitHub の Firebase Apple プラットフォーム SDK の README をご覧ください。
framework SDK zip をダウンロードします。このファイルのサイズは約 200 MB で、ダウンロードに時間がかかる場合があります。
ファイルを解凍し、アプリに含めるフレームワークを統合します。
統合の手順は次のいずれかの場所でご確認いただけます。
- Firebase iOS SDK GitHub リポジトリ。
- ダウンロードした zip ディストリビューション内の
README.md
ファイル。
フレームワークのバージョンまたは依存関係については、ダウンロードした zip ディストリビューション内の
METADATA.md
ファイルをご覧ください。ターゲットのビルド設定で
Other Linker Settings
に-ObjC
リンカーフラグを追加します。
次のステップ
以下で Firebase の詳細を確認します。
Firebase プロジェクトとプロジェクトに関するベスト プラクティスについては、Firebase プロジェクトについて理解するをご覧ください。
Firebase アプリのサンプルを確認する。
Firebase iOS Codelab を使用して実際に体験する。
GitHub のオープンソース コードを調べる。
アプリを起動する準備をする。
- Google Cloud コンソールでプロジェクトの予算アラートを設定する。
- Firebase コンソールの [使用量と請求額] ダッシュボードをモニタリングして、複数の Firebase サービスを通じたプロジェクトの全体的な使用状況を確認する。
- Firebase リリース チェックリストを確認する。
Firebase や Apple プロジェクトでお困りの場合は、Apple プラットフォームのトラブルシューティングとよくある質問をご覧ください。
Firebase サービスをアプリに追加します。
Firebase AI Logic を使用して、Gemini モデルと Imagen モデルで生成 AI 機能を構築します。
Analytics でユーザー行動を把握する。
Authentication を使用してユーザー認証を設定する。
Cloud Firestore または Realtime Database にユーザー情報などのデータを保存する。
Cloud Storage に写真や動画などのファイルを保存する。
Cloud Functions を使用した安全な環境でバックエンド コードをトリガーする。
Cloud Messaging を使用して通知を送信する。
Crashlytics を使用して、アプリがクラッシュする場所と理由を確認する。