詳細了解 Apple 平台上的 Firebase

當您使用 Firebase 開發 Apple 應用時,您可能會發現不熟悉或 Firebase 特有的概念。本頁面旨在回答這些問題或為您提供資源以了解更多信息。

如果您對此頁面未涵蓋的主題有疑問,請隨時訪問我們的在線社區之一。我們還將定期用新主題更新此頁面,因此請回來查看我們是否添加了您想要了解的主題!

Firebase 庫按平台支持

下表描述了哪些 Firebase 庫與哪些 Apple 平台兼容。目前,watchOS 僅受社區支持。有關安裝說明和已知問題,請參閱Firebase Apple 平台 SDK GitHub 存儲庫

圖書館iOS系統蘋果系統蘋果
催化劑
電視操作系統手錶操作系統
A/B 測試
分析v8.9.0+ v8.9.0+ v8.9.0+
沒有廣告 ID 的分析v8.9.0+ v8.9.0+ v8.9.0+
分析設備上的轉化
應用程序檢查 DeviceCheck 提供商watchOS 9+
應用程序檢查應用程序證明提供商iOS 14+ macOS 11+催化劑 14+電視操作系統 15+ watchOS 9+
應用程序檢查自定義和調試提供程序
應用程序分發
驗證
雲Firestore
雲功能
雲消息傳遞
雲儲存
崩潰解決方案
動態鏈接
Firebase 安裝
Firebase ML 模型下載器
應用程序內消息傳遞
性能監控
實時數據庫
遠程配置

應用剪輯

大多數 Firebase 庫將在 App Clip 目標中構建和運行,但是,許多庫由於底層操作系統限製而受到限制。已知問題包括:

  • 如果用戶點擊未安裝應用程序的鏈接,則動態鏈接無法將用戶發送至應用程序剪輯。
  • 由於底層 CFStream 依賴性,Firestore 和實時數據庫無法加載 App Clip 中的數據。

請參閱Firebase GitHub 存儲庫,了解已知 App Clip 問題的完整列表。

GoogleService-Info.plist

作為將 Firebase 添加到 Apple 項目的一部分,您需要將GoogleService-Info.plist配置文件添加到您的項目中。如果您想在單個應用中使用多個 Firebase 項目,請訪問配置多個項目的文檔 。

請參閱Swift 參考文檔,更詳細地了解 Firebase 應用初始化過程。

斯威夫特包管理器

我們的指南中了解有關 Swift Package Manager 集成的更多信息。

斯威夫特擴展

Firebase Apple 平台 SDK Swift 擴展是現有 Firebase Apple 平台庫的小型開源插件,使您的代碼能夠使用 Swift 語言特定的功能。

以下 Swift 擴展框架可用:

  • FirebaseAnalyticsSwift
  • FirebaseDatabaseSwift
  • FirebaseFirestoreSwift
  • FirebaseInAppMessagingSwift (測試版)
  • FirebaseRemoteConfigSwift

從 Firebase 9.0 開始,一些 Firebase 庫(包括其 Objective-C 接口)在 Swift 中實現,並提供 Swift 原生功能,但不包含輔助依賴項。以下 SDK 提供本機 Swift API,無需使用擴展 SDK:

  • FirebaseFunctions
  • FirebaseStorage

您可以使用 CocoaPods 或 Swift Package Manager 安裝 Swift 擴展。使用 CocoaPods,要安裝 Swift 擴展,請將其包含在您的 Podfile 中,如下所示。

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

使用 Swift Package Manager,直接從與 Firebase Apple 平台 SDK 相同的存儲庫導入所需的 Swift 擴展庫。

斯威夫特用戶界面

Firebase 完全支持 SwiftUI,但為了讓 Firebase 在完全 SwiftUI 環境中正常運行,設置將與 UIKit 應用程序略有不同。請參閱 Peter Friese 的這篇博文了解更多詳細信息。

由於已知問題,SwiftUI 應用程序必須禁用 swizzling。有關更多詳細信息,請參閱應用程序委託調配部分。

應用程序委託調配

Firebase 會混合應用的應用委託類中的一些方法,以自動將某些 Firebase 服務連接到操作系統回調,例如 FCM 和 APNs 令牌。您可以通過在應用程序的Info.plist文件中添加標誌FirebaseAppDelegateProxyEnabled並將其設置為NO來禁用應用程序中的 swizzling。

四種 Firebase 產品使用應用程序委託調配:分析、應用程序分發、身份驗證和 FCM。如果您在應用程序中禁用了 swizzling 並且使用以下任何產品,請參閱特定於產品的指南以了解如何在不進行 swizzling 的情況下使用該產品:

支持iOS 14

iOS 14 對圍繞用戶廣告標識符的用戶權限進行了新的更改。有關您的應用是否會受到影響的更多詳細信息,請參閱準備 iOS 14 指南

對 Objective-C 的持續支持

為了簡化 Apple 平台文檔的維護,Firebase 決定在我們的指南和其他開發人員材料中重點關注 Swift 代碼片段和代碼示例。自 2024 年 1 月 1 日起,Objective-C 代碼段將從我們的指南中刪除。我們將繼續維護所有 Firebase 產品的 Objective-C 的最新參考文檔

Firebase Apple 平台 SDK 的開源資源

Firebase 支持開源開發,我們鼓勵社區貢獻和反饋。

Firebase Apple 平台 SDK

除 Analytics 外,適用於 Apple 平台的所有 Firebase SDK 均在我們的公共Firebase GitHub 存儲庫中作為開源庫開發。

Firebase用戶界面

FirebaseUI 是一組基於 Firebase 構建的實用程序庫,包括用於身份驗證的嵌入式 UI 流程以及用於 Cloud Firestore 和實時數據庫的數據實用程序。在我們的GitHub 頁面上查看有關 FirebaseUI 的更多詳細信息。

快速入門示例

Firebase 維護了 iOS 上大多數 Firebase API 的快速入門示例集合。在我們的公共 Firebase GitHub快速入門存儲庫中查找這些快速入門。

您可以在 Xcode 中打開每個快速入門,然後在移動設備或模擬器上運行它們。或者,您可以使用這些快速入門作為使用 Firebase SDK 的示例代碼。