firebase-ios-sdk - Firebase SDK for Apple App Development

(Firebase SDK for Apple App Development)

Created at: 2017-04-22 08:26:50
Language: Objective-C
License: Apache-2.0

バージョン ライセンス プラットホーム

Firebase Apple オープンソース開発

このリポジトリには、FirebaseAnalytics を除くすべての Apple プラットフォームの Firebase SDK ソースが含まれています。

Firebaseは、構築、成長、および構築に役立つツールを備えたアプリ開発プラットフォームです。 アプリを収益化する。Firebaseの詳細については、Firebaseの公式ウェブサイトをご覧ください。

取り付け

さまざまなインストール方法の詳細については、以下のサブセクションを参照してください。どこ 利用可能な場合は、asuffixを使用してライブラリをインストールして、 Swift でアプリを作成する際の最高のエクスペリエンス。

Swift

  1. 標準ポッドのインストール
  2. スウィフトパッケージマネージャー
  3. GitHub リポジトリからのインストール
  4. 実験的なカルタゴ

標準ポッドのインストール

https://firebase.google.com/docs/ios/setup に移動します。

スウィフトパッケージマネージャー

Swiftパッケージマネージャーのサポートの手順は次のとおりです。 SwiftPackageManagerMarkdown ファイルで見つかりました。

GitHub からのインストール

これらの手順は、他のブランチで Firebase リポジトリにアクセスするために使用できます。 タグ、またはコミットします。

バックグラウンド

ポッドソースの場所をオーバーライドする手順とオプションについては、Podfile 構文リファレンスを参照してください。

Firebase ソース スナップショットへのアクセス

すべての公式リリースはこのリポジトリにタグ付けされており、CocoaPodsを介して入手できます。ローカルにアクセスするには ソーススナップショットまたは未リリースブランチでは、次のようなPodfileディレクティブを使用します。

ブランチ経由でFirebaseFirestore にアクセスするには:

pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'master'
pod 'FirebaseFirestore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'master'

チェックアウトされたバージョンの firebase-ios-sdk リポジトリを介して FirebaseMessaging にアクセスするには、次のようにします。

pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'
pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'

カルタゴ (iOS のみ)

実験的なカルタゴの配布の指示はカルタゴにあります。

フレームワークまたはライブラリから Firebase を使用する

フレームワークまたはライブラリから Firebase を使用する

発達

このリポジトリで Firebase ソフトウェアを開発するには、少なくとも 次のソフトウェア:

  • Xcode 13.3.1 (またはそれ以降)

CocoaPodsはまだ開発の標準的な方法ですが、リポジトリの多くは現在サポートしています スウィフトパッケージマネージャーでの開発。

ココアポッド

Install

For the pod that you want to develop:

pod gen Firebase{name here}.podspec --local-sources=./ --auto-open --platforms=ios

Note: If the CocoaPods cache is out of date, you may need to run before the command.

pod repo update
pod gen

Note: Set the option to or to develop/test for those platforms. Since 10.2, Xcode does not properly handle multi-platform CocoaPods workspaces.

--platforms
macos
tvos

Firestore has a self contained Xcode project. See Firestore/README Markdown file.

Development for Catalyst

  • pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
  • Check the Mac box in the App-iOS Build Settings
  • Sign the App in the Settings Signing & Capabilities tab
  • Click Pods in the Project Manager
  • Add Signing to the iOS host app and unit test targets
  • Select the Unit-unit scheme
  • Run it to build and test

Alternatively disable signing in each target:

  • Go to Build Settings tab
  • Click
    +
  • Select
    Add User-Defined Setting
  • Add setting with a value of
    CODE_SIGNING_REQUIRED
    NO

Swift Package Manager

  • テストスキームを有効にするには:
    ./scripts/setup_spm_tests.sh
  • open Package.swift
    またはダブルクリックしますファインダーで。
    Package.swift
  • Xcodeはプロジェクトを開きます
    • ビルドするライブラリまたは実行するテストスイートのスキームを選択する
    • スキームとともに実行先を選択して、ターゲットプラットフォームを選択します

新しいファイアベースポッドの追加

「AddNewPodマークダウン ファイル」を参照してください。

ヘッダーとインポートの管理

「ヘッダーインポートマークダウン ファイル」を参照してください。

コードの書式設定

コードの形式が一貫していることを確認するには、PR を作成する前に script./scripts/check.shを実行します。

GitHub アクションは、コードの変更がスタイルに準拠して行われていることを確認します 道。インストールおよび:

clang-format
mint

brew install clang-format@15
brew install mint

単体テストの実行

スキームを選択し、Command-U キーを押してコンポーネントをビルドし、その単体テストを実行します。

サンプルアプリの実行

サンプル アプリと統合テストを実行するには、validfile が必要です。Firebase Xcode プロジェクトにはダミーの plist が含まれています 実数の値を持たないファイルですが、実数の plist ファイルに置き換えることができます。独自のファイルを取得するには:

GoogleService-Info.plist
GoogleService-Info.plist

  1. Firebase コンソールに移動します。
  2. 新しい Firebase プロジェクトを作成します(まだ作成していない場合)。
  3. テストするサンプル アプリごとに、サンプル アプリのバンドルを使用して新しい Firebase アプリを作成します。 識別子(例:
    com.google.Database-Example
    )
  4. 結果をダウンロードして、Xcodeプロジェクトに追加します。
    GoogleService-Info.plist

カバレッジレポートの生成

scripts/code_coverage_report/READMEマークダウンファイルを参照してください。

特定のコンポーネントの説明

これらのコンポーネントの特別な手順については、以下のセクションを参照してください。

ファイアベース認証

特定の Firebase 認証開発を行っている場合は、認証サンプルの READMEで手順を参照してください。 FirebaseAuth ポッドをさまざまなサンプルとテストと共に構築して実行します。

ファイアベースデータベース

Firebase データベース統合テストは、ローカルで実行されているデータベース エミュレータに対して実行できます。 または本番インスタンスに対して。

ローカルエミュレーターインスタンスに対して実行するには、 統合テストの実行。

./scripts/run_database_emulator.sh start

実稼働インスタンスに対して実行するには、有効な GoogleServices-Info.plist を指定してコピーします。テスト中は、セキュリティ規則をパブリックに設定する必要があります ランニング。

FirebaseDatabase/Tests/Resources/GoogleService-Info.plist

消防基地のパフォーマンス監視

特定の Firebase パフォーマンス モニタリング開発を行っている場合は、SDK の構築手順についてパフォーマンスの READMEを参照してください。 およびパフォーマンステストアプリのREADMEで、次の手順を確認してください。 パフォーマンスを開発テストアプリと統合します。

ファイアベースストレージ

ストレージ統合テストを実行するには、「ストレージ統合.swift」の手順に従います。

プッシュ通知

プッシュ通知は、開発者ポータルで特別にプロビジョニングされたアプリ ID にのみ配信できます。 プッシュ通知の受信を実際にテストするには、次のことを行う必要があります。

  1. サンプルアプリのバンドル識別子をApple開発者が所有するものに変更します アカウントを作成し、プッシュ通知に対してそのアプリ ID を有効にします。
  2. また、APNs プロバイダー認証キーまたは証明書を Firebase コンソールの [プロジェクト設定] > [Firebase アプリ] >クラウド メッセージング (Firebase アプリ)] をクリックします。
  3. iOS デバイスがテストデバイスとして Apple 開発者ポータルに追加されていることを確認します。

iOS シミュレータ

iOS シミュレーターはリモート通知に登録できず、プッシュ通知を受信しません。 プッシュ通知を受信するには、上記の手順に従って、 物理デバイス。

アップルプラットフォーム上のFirebaseで構築する

Firebase 8.9.0 では、macOS、Catalyst、tvOS の公式ベータサポートが導入されました。ウォッチOSは継続します コミュニティでサポートされます。多くのマルチプラットフォームPRに対するコミュニティの貢献に感謝します。

現時点では、Firebaseの製品のほとんどはAppleプラットフォームで利用できます。まだあります 特にwatchOSでは、いくつかのギャップがあります。現在のサポート マトリックスの詳細については、Firebase のドキュメントのこちらの表をご覧ください。

ウォッチOS

コミュニティからの貢献のおかげで、Firebase SDK の多くがコンパイルされ、単体テストが実行され、 ウォッチOSで動作します。独立ウォッチ アプリのサンプルを参照してください。

watchOSはFirebaseによって公式にサポートされていないことに注意してください。基本単位をキャッチできますが GitHubアクションで問題をテストした場合、SDKが期待どおりに機能しなくなるいくつかの変更がある可能性があります ウォッチOSで。この問題が発生した場合は、問題を報告してください。

コンソールでのアプリのセットアップ中に、「 アプリはサーバーと通信しました」。これはアナリティクスに依存しており、watchOSでは機能しません。メッセージを無視して続行しても安全であり、残りのSDKは期待どおりに機能します。

クラッシュに関するその他の注意事項

  • watchOSのサポートは限られています。watchOSの制限により、マッハ例外とシグナルクラッシュは 記録されていません。(SwiftUIでのクラッシュはマッハ例外として生成されるため、記録されません)

組み合わせる

コミュニティからの貢献のおかげで、FirebaseCombineSwiftにはAppleのCombineのサポートが含まれています フレームワーク。このモジュールは現在開発中であり、本番環境での使用はまだサポートされていません 環境。詳細については、ドキュメントを参照してください。

ロードマップ

Firebase Apple SDK オープンソースの詳細については、ロードマップを参照してください。 計画と道順。

貢献

Firebase への貢献の詳細については、貢献を参照してください。 アップルSDK。

ライセンス

このリポジトリのコンテンツは、Apache ライセンスバージョン 2.0 の下でライセンスされています。

お客様による Firebase の使用には、Firebase サービスの利用規約が適用されます。