瞭解 Apple 平台上的 Firebase

使用 Firebase 開發 Apple 應用程式時,您可能會遇到不熟悉或 Firebase 專屬的概念。這個頁面旨在回答這些問題,或提供資源供您進一步瞭解。

如果對本頁未提及的主題有疑問,歡迎前往我們的線上社群。我們也會定期更新這個頁面,新增主題,歡迎隨時返回查看是否有您想瞭解的主題!

各平台支援的 Firebase 程式庫

下表說明哪些 Firebase 程式庫與哪些 Apple 平台相容。目前 visionOS 和 watchOS 僅支援社群。如需安裝說明和已知問題,請參閱 Firebase Apple 平台 SDK GitHub 存放區

程式庫 iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 以上版本 macOS 12 以上版本 Catalyst 15+ tvOS 15 以上版本 (僅提供社群支援) watchOS 8 以上版本
Analytics v8.9.0 以上版本 v8.9.0 以上版本 v8.9.0 以上版本
Analytics 沒有廣告 ID v8.9.0 以上版本 v8.9.0 以上版本 v8.9.0 以上版本
Analytics 裝置端轉換
App Check DeviceCheck 供應商 watchOS 9 以上版本
App Check App Attest 供應商 iOS 14 以上版本 macOS 11 以上版本 Catalyst 14 以上版本 tvOS 15 以上版本 watchOS 9 以上版本
App Check 自訂及偵錯供應商
App Distribution
Authentication partial partial partial partial partial
Cloud Firestore 僅限來源發行版本
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Data Connect
Dynamic Links
Firebase 安裝次數
Firebase ML 模型下載器
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config

1 Firebase AI Logic 以前稱為「Vertex AI in Firebase

App Clips

大多數 Firebase 程式庫都會在 App Clip 目標中建構及執行,但許多程式庫會因基礎作業系統限制而受到限制。已知問題包括:

  • 如果使用者輕觸連結時未安裝應用程式,Dynamic Links 無法將他們帶往 App Clip。
  • 由於基礎 CFStream 依附元件,Firestore 和即時資料庫無法在 App Clip 中載入資料。

如需已知 App Clip 問題的完整清單,請參閱 Firebase GitHub 存放區

GoogleService-Info.plist

將 Firebase 新增至 Apple 專案時,您必須將 GoogleService-Info.plist設定檔新增至專案。如要在單一應用程式中使用多個 Firebase 專案,請參閱設定多個專案的說明文件。

如要進一步瞭解 Firebase 應用程式初始化程序,請參閱 Swift 參考說明文件

Swift Package Manager

如要進一步瞭解如何整合 Swift Package Manager,請參閱指南

Swift 擴充功能

Firebase Apple 平台 SDK Swift 擴充功能原本是現有 Firebase Apple 平台程式庫的小型開放原始碼外掛程式,可讓您的程式碼使用 Swift 語言專屬功能。這些 API 之後已直接加入主要程式庫,因此不需要另外納入。如果程式碼集先前有 Swift 擴充功能 SDK,請參閱遷移指南,瞭解升級操作說明。

SwiftUI

Firebase 完全支援 SwiftUI,但為了讓 Firebase 在完全使用 SwiftUI 的環境中正常運作,設定方式會與 UIKit 應用程式略有不同。詳情請參閱 Peter Friese 的這篇網誌文章

由於已知問題,SwiftUI 應用程式必須停用 Swizzling。 詳情請參閱「應用程式委派項目的 Swizzling」一節。

應用程式委派項目的交換

Firebase 會在應用程式的應用程式委派類別中,調換部分方法,自動將特定 Firebase 服務連結至 OS 回呼,例如 FCM 和 APNs 權杖。如要在應用程式中停用交換,請在應用程式的 Info.plist 檔案中新增 FirebaseAppDelegateProxyEnabled 標記,並將其設為 NO

有四項 Firebase 產品會使用 App Delegate 混雜:AnalyticsApp DistributionAuthenticationFCM。 如果您已在應用程式中停用 Swizzling,並使用下列任一產品,請參閱產品專屬指南,瞭解如何在不使用 Swizzling 的情況下使用產品:

支援 iOS 14

iOS 14 針對使用者廣告 ID 的使用者權限進行了新異動。如要進一步瞭解應用程式是否可能受到影響,請參閱「為 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 存放區中,以開放原始碼程式庫的形式開發。

FirebaseUI

FirebaseUI 是以 Firebase 為基礎建構的一組公用程式庫,包括驗證的置入式 UI 流程,以及 Cloud FirestoreRealtime Database 的資料公用程式。如要進一步瞭解 FirebaseUI,請參閱我們的 GitHub 頁面

快速入門範例

Firebase 會在 iOS 上維護大多數 Firebase API 的快速入門範例集合。您可以在公開的 Firebase GitHub 快速入門存放區中找到這些快速入門範例。

您可以在 Xcode 中開啟各項快速入門導覽課程,然後在行動裝置或模擬器上執行。您也可以將這些快速入門導覽課程當成範例程式碼,瞭解如何使用 Firebase SDK。