瞭解 Apple 平台上的 Firebase

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

如有本頁未提及的主題相關問題,歡迎造訪我們的線上社群。我們也會定期更新這個頁面,新增更多主題,歡迎隨時回來查看是否有您想學習的主題!

依平台支援的 Firebase 程式庫

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

程式庫 iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
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 應用程式認證供應商 iOS 14 以上版本 macOS 11 以上版本 Catalyst 14 以上 tvOS 15 以上 watchOS 9 以上
App Check 自訂和偵錯提供者
App Distribution
Authentication 部分 部分畫面 部分畫面 部分畫面 部分
Cloud Firestore 僅限原始發行版本
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Dynamic Links
Firebase 安裝
Firebase ML 模型下載工具
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase iOS 15 以上版本 macOS 12 以上版本 催化劑 15+ tvOS 15 以上 (僅限社群支援) watchOS 8 以上

短片

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

  • 如果使用者未安裝應用程式,輕觸連結後,Dynamic Links 就無法將使用者導向 App Clip。
  • 由於底層的 CFStream 依附元件,Firestore 和 Realtime Database 無法載入 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」一節。

應用程式委派函式 swizzling

Firebase 會在應用程式中委派應用程式委派類別中的某些方法,自動將某些 Firebase 服務連結至 OS 回呼,例如 FCM 和 APN 權杖。您可以在應用程式的 Info.plist 檔案中新增標記 FirebaseAppDelegateProxyEnabled,並將其設為 NO,即可在應用程式中停用 swizzling。

四項 Firebase 產品會使用應用程式委派函式 swizzling: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 的範例程式碼。