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