Firebase で Apple アプリを開発しているときに、なじみのないコンセプトや Firebase 独自のコンセプトに直面することがあります。このページでは、このような質問への回答や、詳細を説明するリソースの紹介を行っています。
このページで扱っていないトピックについて不明点がある場合は、オンライン コミュニティをご覧ください。また、定期的に新しいトピックを追加していますので、このページをチェックして最新情報をご確認ください。
プラットフォーム別の Firebase ライブラリ サポート
次の表に、Apple プラットフォームと互換性がある Firebase ライブラリを示します。現時点では、visionOS と watchOS はコミュニティでのみサポートされています。インストール手順と既知の問題については、Firebase Apple プラットフォーム SDK の GitHub リポジトリをご覧ください。
ライブラリ | iOS | macOS | Mac Catalyst |
tvOS | visionOS | watchOS |
---|---|---|---|---|---|---|
A/B Testing | ||||||
Analytics | v8.9.0+ | v8.9.0+ | v8.9.0+ | |||
Analytics(広告 ID なし) | v8.9.0+ | v8.9.0+ | v8.9.0+ | |||
Analytics オンデバイス コンバージョン | ||||||
App Check DeviceCheck プロバイダ | watchOS 9 以降 | |||||
App Check App Attest プロバイダ | iOS 14 以降 | macOS 11 以降 | Catalyst 14 以降 | tvOS 15 以降 | watchOS 9 以降 | |
App Check のカスタム プロバイダとデバッグ プロバイダ | ||||||
App Distribution | ||||||
Authentication | partial | partial | partial | partial | partial | |
Cloud Firestore | ソース ディストリビューションのみ | |||||
Cloud Functions | ||||||
Cloud Messaging | ||||||
Cloud Storage | ||||||
Crashlytics | ||||||
Dynamic Links | ||||||
Firebase のインストール | ||||||
Firebase ML モデル ダウンローダー | ||||||
In-App Messaging | ||||||
Performance Monitoring | ||||||
Realtime Database | ||||||
Remote Config | ||||||
Vertex AI in Firebase | iOS 15 以降 | macOS 12 以降 | Catalyst 15 以降 | tvOS 15 以降(コミュニティ サポートのみ) | watchOS 8 以降 |
App Clip
ほとんどの Firebase ライブラリは、App Clip ターゲットでビルドおよび実行されますが、その多くが、OS の制限によって制限されています。次のような既知の問題があります。
- Dynamic Links は、アプリがインストールされていないと、ユーザーがリンクをタップしても、ユーザーを App Clip に送れません。
- Firestore と Realtime Database は、基盤となる CFStream 依存関係が原因で App Clip でデータを読み込むことができません。
App Clip に関する既知の問題の一覧については、Firebase GitHub リポジトリをご覧ください。
GoogleService-Info.plist
Firebase を Apple プロジェクトに追加する一環として、プロジェクトに GoogleService-Info.plist
構成ファイルを追加する必要があります。1 つのアプリで複数の Firebase プロジェクトを使用する場合は、複数のプロジェクトの構成のドキュメントをご覧ください。
Firebase アプリの初期化プロセスの詳細については、Swift リファレンス ドキュメントをご覧ください。
Swift Package Manager
Swift Package Manager の統合の詳細については、こちらのガイドをご覧ください。
Swift 拡張機能
Firebase Apple プラットフォーム SDK Swift 拡張機能は、以前は既存の Firebase Apple プラットフォーム ライブラリの小さなオープンソースのアドオンでした。コードで Swift 言語固有の機能を使用できるようにします。これらの API は、メイン ライブラリに直接追加されているため、個別に含める必要はありません。以前にコードベースで Swift 拡張機能 SDK を使用していた場合は、移行ガイドのアップグレード手順をご覧ください。
SwiftUI
Firebase は SwiftUI を完全にサポートしていますが、完全な SwiftUI 環境で Firebase を正しく機能させるためには、セットアップが UIKit アプリと少し異なります。詳細については、Peter Friese によるこちらのブログ投稿をご覧ください。
既知の問題のため、SwiftUI アプリケーションは実装入れ替えを無効にする必要があります。詳しくは、アプリ デリゲートの実装入れ替えセクションをご覧ください。
アプリ デリゲートの実装入れ替え
Firebase はアプリのアプリ デリゲート クラスにある一部のメソッドを入れ替えて、特定の Firebase サービスを FCM や APN トークンなどの OS コールバックに自動的に接続します。アプリで実装入れ替えを無効にするには、アプリの Info.plist
ファイルにフラグ FirebaseAppDelegateProxyEnabled
を追加し、これを NO
に設定します。
アプリ デリゲートの実装入れ替えを使用する Firebase プロダクトには、Analytics、App Distribution、Authentication、FCM の 4 つがあります。アプリケーションで実装入れ替えを無効にし、次のいずれかのプロダクトを使用している場合は、実装入れ替えなしでプロダクトを使用する方法についてプロダクト固有のガイドをご覧ください。
iOS 14 のサポート
iOS 14 には、ユーザーの広告識別子関連のユーザー権限に関する新しい変更が含まれています。アプリが影響を受けるかどうかについて詳しくは、iOS 14 の準備ガイドをご覧ください。
Objective-C の継続的なサポート
Firebase では、Apple プラットフォームに関するドキュメントのメンテナンスを容易にするため、ガイドやその他のデベロッパー向け資料において、Swift スニペットとコードサンプルに注力することにしました。2024 年 1 月 1 日以降、Objective-C スニペットは各種ガイドから削除されます。Objective-C の最新のリファレンス ドキュメントは、すべての Firebase プロダクトで引き続きご利用いただけます。
Firebase Apple プラットフォーム SDK のオープンソース リソース
Firebase はオープンソース開発をサポートしているため、コミュニティへの貢献やフィードバックが推奨されています。
Firebase Apple プラットフォーム SDK
Apple プラットフォーム用の Firebase SDK(Analytics を除く)はすべて、一般公開されている Firebase GitHub リポジトリでオープンソース ライブラリとして開発されています。
FirebaseUI
FirebaseUI は、Cloud Firestore と Realtime Database 用の認証とデータ ユーティリティ用のドロップイン UI フローを含む、Firebase 上に構築されたユーティリティ ライブラリのセットです。FirebaseUI の詳細については、GitHub ページをご覧ください。
クイックスタート サンプル
Firebase には、iOS の Firebase API のほとんどのクイックスタート サンプルのコレクションがあります。これらのクイックスタートは、一般公開されている Firebase GitHub クイックスタート リポジトリで確認できます。
Xcode で各クイックスタートを開き、モバイル デバイスまたはシミュレータで実行できます。また、Firebase SDK を使用するためのサンプルコードとして、このクイックスタートを使用することもできます。