當您使用 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 指南。
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 的示例代碼。