AppleプラットフォームでのFirebaseの詳細

Firebaseを使用してAppleアプリを開発していると、Firebaseに馴染みのない、または固有の概念に気付く場合があります。このページは、これらの質問に答えたり、詳細を知るためのリソースを紹介したりすることを目的としています。

このページに記載されていないトピックについて質問がある場合は、オンラインコミュニティの1つにアクセスしてください。また、このページは定期的に新しいトピックで更新されるので、知りたいトピックが追加されているかどうかを確認してください。

プラットフォームによるFirebaseライブラリのサポート

次の表は、どのFirebaseライブラリがどのAppleプラットフォームと互換性があるかを示しています。当面、watchOSはコミュニティでのみサポートされます。インストール手順と既知の問題については、 FirebaseAppleプラットフォームのSDKGitHubリポジトリをご覧ください。

としょうかんiOSマックOSマック
触媒
tvOS watchOS
A/Bテスト
分析v8.9.0 + v8.9.0 + v8.9.0 +
AppCheckDeviceCheckプロバイダーtvOS 11+
App CheckAppAttestプロバイダーmacOS 11+ Catalyst14+ tvOS 15+
AppCheckカスタムプロバイダーとデバッグプロバイダー
アプリの配布
認証
クラウドファイヤーストア
クラウド機能
クラウドメッセージング
クラウドストレージ
Crashlytics
動的リンク
Firebaseのインストール
FirebaseMLモデルダウンローダー
アプリ内メッセージング
パフォーマンス監視
リアルタイムデータベース
リモート構成

アプリクリップ

ほとんどのFirebaseライブラリは、App Clipターゲットでビルドおよび実行されますが、基本的なOSの制限の結果として、多くのライブラリが制限されています。既知の問題は次のとおりです。

  • ダイナミックリンクは、ユーザーがアプリをインストールせずにリンクをタップした場合、ユーザーをアプリクリップに送信できません。
  • 基になるCFStreamの依存関係のため、FirestoreとRealtimeDatabaseはAppClipsにデータをロードできません。

既知のAppClipの問題の完全なリストについては、 FirebaseGitHubリポジトリをご覧ください。

GoogleService-Info.plist

AppleプロジェクトにFirebaseを追加する一環として、プロジェクトにGoogleService-Info.plist構成ファイルを追加する必要があります。 1つのアプリで複数のFirebaseプロジェクトを使用する場合は、複数のプロジェクトを設定するためのドキュメントにアクセスしてください。

Firebaseアプリの初期化プロセスの詳細については、 Swiftのリファレンスドキュメントをご覧ください。

Swiftパッケージマネージャー

Swift Package Managerの統合について詳しくは、ガイドをご覧ください。

Swift拡張機能

FirebaseAppleプラットフォームSDKSwift拡張機能は、既存のFirebase Appleプラットフォームライブラリへの小さなオープンソースアドオンであり、コードでSwift言語固有の機能を使用できるようにします。

次のSwift拡張フレームワークが利用可能です。

  • FirebaseAnalyticsSwift
  • FirebaseDatabaseSwift
  • FirebaseFirestoreSwift
  • FirebaseInAppMessagingSwift (ベータ版)
  • FirebaseRemoteConfigSwift

Firebase 9.0以降、Objective-Cインターフェイスを含む一部のFirebaseライブラリはSwiftに実装され、補助的な依存関係を含まずにSwiftネイティブの機能を提供します。次のSDKは、拡張SDKを使用せずにネイティブSwiftAPIを提供します。

  • FirebaseFunctions
  • FirebaseStorage

Swift拡張機能は、CocoaPodsまたはSwiftPackageManagerのいずれかを使用してインストールできます。以下に示すように、CocoaPodsを使用してSwift拡張機能をインストールするには、Podfileに含めます。

pod 'FirebaseAnalyticsSwift', '~> 9.0'
pod 'FirebaseInAppMessagingSwift', '9.0-beta'
pod 'FirebaseDatabaseSwift'

Swift Package Managerを使用して、FirebaseAppleプラットフォームSDKと同じリポジトリから目的のSwift拡張ライブラリを直接インポートします。

SwiftUI

FirebaseはSwiftUIを完全にサポートしていますが、Firebaseが完全なSwiftUI環境で正しく機能するように、セットアップはUIKitアプリとは少し異なります。詳細については、PeterFrieseによるこのブログ投稿をご覧ください。

iOS14のサポート

iOS 14には、ユーザーの広告IDを取り巻くユーザー権限への新しい変更が含まれています。アプリが影響を受ける可能性があるかどうかの詳細については、 iOS14の準備ガイドをご覧ください。

FirebaseAppleプラットフォームSDKのオープンソースリソース

Firebaseはオープンソース開発をサポートしており、コミュニティからの貢献とフィードバックをお勧めします。

FirebaseAppleプラットフォームSDK

Analyticsを除くAppleプラットフォーム用のすべてのFirebaseSDKは、公開されているFirebaseGitHubリポジトリでオープンソースライブラリとして開発されています。

FirebaseUI

FirebaseUIは、Firebase上に構築されたユーティリティライブラリのセットです。これには、認証用のドロップインUIフローと、CloudFirestoreおよびRealtimeDatabase用のデータユーティリティが含まれます。 FirebaseUIの詳細については、 GitHubページをご覧ください。

クイックスタートサンプル

Firebaseは、iOS上のほとんどのFirebaseAPIのクイックスタートサンプルのコレクションを維持しています。公開されているFirebaseGitHubクイックスタートリポジトリでこれらのクイックスタートを見つけてください。

Xcodeで各クイックスタートを開き、モバイルデバイスまたはシミュレーターで実行できます。または、FirebaseSDKを使用するためのサンプルコードとしてこれらのクイックスタートを使用できます。