Catch up on highlights from Firebase at Google I/O 2023. Learn more

詳細了解 Apple 平台上的 Firebase

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

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

按平台劃分的 Firebase 庫支持

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

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

應用剪輯

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

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

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

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,儘管設置與 UIKit 應用程序略有不同,以便 Firebase 在完全 SwiftUI 環境中正常運行。查看 Peter Friese 的這篇博文了解更多詳情。

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

應用委託調配

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

四種 Firebase 產品使用 App Delegate 調配:Analytics、App Distribution、Authentication 和 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 的示例代碼。