瞭解 Apple 平台上的 Firebase

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

如果您對本頁未涵蓋的話題有任何疑問,歡迎前往我們的線上社群。我們也會定期更新這個頁面,新增更多主題,歡迎隨時回來查看是否有您想學習的主題!

依平台支援的 Firebase 程式庫

下表說明哪些 Firebase 程式庫與哪些 Apple 平台相容。目前,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 以上版本 Catalyst 15+ tvOS 15 以上 (僅限社群支援) watchOS 8 以上

App Clips

大多數 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

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 的範例程式碼。