瞭解 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 8.9.0 以上版本 8.9.0 以上版本 8.9.0 以上版本
Analytics (不含廣告 ID) 8.9.0 以上版本 8.9.0 以上版本 8.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 Check
reCAPTCHA 供應商
App Distribution
Authentication partial partial partial partial partial
Cloud Firestore 僅限來源發行版本
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Firebase 安裝作業
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
SQL Connect 2
已淘汰或不支援的程式庫
Dynamic Links
Firebase ML 模型下載工具

1 Firebase AI Logic 舊稱為「Vertex AI in Firebase」。

2 Firebase SQL Connect 舊稱為「Firebase Data Connect」。

輕巧 App

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

  • 如果使用者未安裝應用程式,輕觸連結時,Dynamic Links 無法將他們導向「App Clip」。
  • Firestore 和即時資料庫具有基礎 CFStream 依附元件,因此無法在 App Clip 中載入資料。

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

GoogleService-Info.plist

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

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

Swift Package Manager

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

Swift 擴充功能

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

SwiftUI

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

由於已知問題,SwiftUI 應用程式必須停用 swizzling。詳情請參閱「應用程式委派物件調配」一節。

應用程式委派代表重組

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

有四項 Firebase 產品會使用 App Delegate 混淆:Analytics、App Distribution、Authentication 和 FCM。如果您在應用程式中停用 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 Firestore 和 Realtime Database 的資料公用程式。如要進一步瞭解 FirebaseUI,請參閱 GitHub 頁面。

快速入門導覽課程範例

Firebase 針對 iOS 上的大多數 Firebase API,維護了一組快速入門範例。您可以在公開的 Firebase GitHub 快速入門導覽課程存放區中找到這些快速入門導覽課程。

您可以在 Xcode 中開啟每個快速入門導覽課程,然後在行動裝置或模擬器上執行。您也可以將這些快速入門導覽課程當做使用 Firebase SDK 的程式碼範例。