改用在主要模組中使用 Swift 擴充功能 API

我們正在將 Swift 擴充功能 SDK 合併至主要 SDK,以便更廣泛地提供 Swift 原生 API,並提升日後支援新 Swift 語言功能的能力。以下列出我們即將進行的異動,以及預期對專案造成的影響。

異動內容

自 Firebase for Apple SDK 10.17.0 起,Swift 擴充功能 SDK 已合併至對應的主要 SDK。舉例來說,FirebaseFirestoreSwift 模組中的所有 API 都已新增至 FirebaseFirestore,因此您不必再匯入 FirebaseFirestoreSwift 模組,即可存取這些 API。

所有 Swift 擴充功能現在都屬於主要模組,因此不再需要擴充功能 SDK,且已淘汰。如果加入或使用 Swift 擴充功能 SDK,系統會顯示編譯器警告,且我們最快將於 2024 年 2 月全面停止發布 Swift 擴充功能。

★ 注意:目前或先前發布的 Swift 擴充功能版本仍可運作。不過,建議您將應用程式遷移至主要模組,改用 Swift API,確保能繼續收到修正項目,並充分運用異動和新功能。

這項異動的重要日期

2023 年 10 月

Swift 擴充功能 SDK 已合併至主要 SDK,並已淘汰,改用主要 SDK。請參閱 10.17.0 版的版本資訊,瞭解這項異動。

現在,您可以直接從主要 SDK 模組使用 Swift 擴充功能 SDK API。在下一個主要版本發布前,您仍可使用擴充功能 SDK,但使用時會出現淘汰警告。

最快 2024 年 2 月

我們將停止發布新版 Swift 擴充功能,並從 Firebase 的 Package.swift 中移除 Swift 擴充功能。舊版仍可繼續運作,但不會收到更新。

如何從主要模組改用 Swift 原生 API

如果您目前未使用 Swift 擴充功能 SDK,則無須採取任何行動。如果您使用 Swift 擴充功能 SDK,請在專案中進行下列變更。

工作區變更

Swift Package Manager

將 Firebase 更新至 10.17.0 以上版本後,請前往目標設定的「General」分頁,在「Frameworks, Libraries, and Embedded Content」部分移除 Swift 擴充功能 SDK (例如 FirebaseFirestoreSwift)。

CocoaPods

將 Firebase 更新至 10.17.0 以上版本後,請前往 Podfile,移除專案依附元件對應的程式碼行,為目標新增架構部分,並移除 Swift 擴充功能 SDK (例如 pod FirebaseFirestoreSwift)。接著,重新執行 pod install 指令。

ZIP 發行版本和 Carthage

將 Firebase 更新至 10.17.0 以上版本後,請移除專案中的所有 Swift 擴充功能 xcframeworks (例如 FirebaseFirestoreSwift.xcframework)。

原始碼變更

針對先前使用的所有 Swift 擴充功能 SDK,請採取下列行動:

  1. 刪除參照 Swift 擴充功能 SDK 的匯入陳述式。如果主要 SDK 不是分開匯入,請刪除行尾的 Swift,將 Swift 擴充功能匯入作業替換為主要 SDK 匯入作業。
  2. 如果您使用 Swift 的明確模組命名空間參照任何 Swift 擴充功能 SDK 類型,則必須將這些類型替換為對應的主要 SDK。舉例來說,FirebaseFirestoreSwift.QueryPredicate 必須重新命名為 FirebaseFirestore.QueryPredicate。