CocoaPods 宣布將於 2026 年 12 月轉為唯讀狀態,屆時將無法再發布新的 Pod 版本。下列各節將進一步說明這項異動,並說明如何將應用程式遷移至其他安裝管理工具。
總覽
- 異動內容CocoaPods 將轉為唯讀狀態。Firebase 12 是發布至 CocoaPods 的最後一個主要版本,Firebase 將於 2026 年 10 月停止向 CocoaPods 發布新版本。
- 我的應用程式會中斷嗎?不會。現有版本的 Firebase 程式庫仍可在 CocoaPods 註冊資料庫中使用,只要 CocoaPods 生態系統持續提供支援,使用這些 CocoaPod 版本的應用程式就會繼續運作。
- 為何要遷移?如要繼續取得最新功能、效能改善項目和重大修正,請改用 Swift Package Manager 或手動安裝。
為配合 CocoaPods 的公告,Firebase 將於 2026 年 10 月停止向 CocoaPods 發布新版本。這些異動會影響下列所有 Pod 及其子依附元件:
| 受影響的 Firebase Pod | ||
|---|---|---|
Firebase |
FirebaseAuth |
FirebaseInstallations |
FirebaseABTesting |
FirebaseCore |
FirebaseMessaging |
FirebaseAI |
FirebaseCrashlytics |
FirebaseMLModelDownloader |
FirebaseAILogic |
FirebaseDatabase |
FirebasePerformance |
FirebaseAnalytics |
FirebaseFirestore |
FirebaseRemoteConfig |
FirebaseAppCheck |
FirebaseFunctions |
FirebaseStorage |
FirebaseAppDistribution |
FirebaseInAppMessaging |
這些異動也會影響所有包裝原生 Firebase Apple SDK 的 Firebase 發行版本,包括 Firebase Unity SDK、Firebase C++ SDK 和 FlutterFire。
遷移 Apple 應用程式
如果您要將其他 (非 Firebase) 依附元件從 CocoaPods 遷移,請注意,業界最佳做法是為整個專案使用單一安裝方法。在同一個目標中混用 CocoaPods 和 Swift Package Manager (SPM),可能會導致複雜的依附元件循環和建構錯誤。如果非 Firebase 依附元件尚未支援 SPM,建議您手動安裝 Firebase 程式庫,這是遷移時整合工作流程最穩定的方式。
Swift Package Manager (SPM)
什麼是 Swift Package Manager?
Swift Package Manager (SPM) 是 Apple 的原生工具,用於管理程式碼發布。這項工具直接整合至 Xcode,因此不需要 CocoaPods 等外部 CLI 工具,而且大多數標準設定都不需要 .xcworkspace,可簡化專案結構。
改用 Swift Package Manager
對大多數專案來說,遷移至 Swift Package Manager 時,不需要變更應用程式程式碼,除非專案有自訂 Xcode 設定,或依附元件大量使用 CocoaPods 安裝指令碼。
以下說明如何從 CocoaPods 遷移至 Swift Package Manager:
- 確認應用程式的每個依附元件都支援 Swift Package Manager。所有 Firebase 程式庫都支援 SPM,但您必須在非 Firebase 依附元件的 GitHub 存放區或產品頁面中,檢查其是否支援 SPM。如果部分非 Firebase 依附元件不支援 SPM,則使用手動安裝而非 SPM,是從 CocoaPods 遷移最穩定的路徑。
- 關閉 Xcode,然後從專案中移除 CocoaPods:
- 在專案目錄中執行下列指令,解除安裝 CocoaPods 依附元件:
pod deintegrate
- 刪除 CocoaPods 產生的
.xcworkspace。
- 在專案目錄中執行下列指令,解除安裝 CocoaPods 依附元件:
- 在 Xcode 中,使用 Swift Package Manager 依附元件更新專案:
- 透過 Xcode 開啟專案的
.xcodeproj檔案。 - 依序點選「File」>「Add Package Dependencies」,重新加入應用程式依附元件。
- 透過 Xcode 開啟專案的
- 新增 Firebase 套件後,您可以前往 Xcode 的專案設定,選取應用程式目標,然後在「Frameworks, Libraries, and Embedded Content」下方更新程式庫,更新您依附的 Firebase 程式庫。
如要進一步瞭解如何在 Xcode 中使用 SPM,請參閱 Apple 說明文件。
手動安裝
什麼是手動安裝?
手動安裝時,您需要下載 Firebase.zip 封存檔,其中包含所有 Firebase 產品預先編譯的 XCFramework。這樣一來,您就能直接將特定 SDK 拖放至 Xcode 專案中,不必使用依附元件管理工具。
改用手動安裝
- 關閉 Xcode,然後從專案中移除 CocoaPods:
- 在專案目錄中執行下列指令,解除安裝 CocoaPods 依附元件:
pod deintegrate
- 刪除 CocoaPods 產生的
.xcworkspace。
- 在專案目錄中執行下列指令,解除安裝 CocoaPods 依附元件:
- 請按照安裝指南中的步驟,手動將 Firebase 新增至專案。
遷移 Unity、C++ 和 Flutter 應用程式
Firebase Unity SDK 和 FlutterFire
大多數 Unity 和 Flutter 開發人員都不需要採取任何行動。在 Unity 或 Flutter 上更新至最新版 Firebase 後,Apple 平台上的基礎依附元件管理工具會自動遷移至 Swift Package Manager。
請注意,如果您透過 CocoaPods 管理非 Firebase 依附元件,可能需要手動遷移這些依附元件。
Firebase C++ SDK
如果您是透過 CocoaPods 納入基礎 iOS 依附元件,可以按照上述遷移操作說明,更新 Firebase CocoaPod 依附元件,改用 Swift Package Manager。
常見問題
2026 年 10 月後,我需要繼續使用 CocoaPods。如何讓應用程式保持運作?
您可以使用舊版 Firebase Pod,或從 GitHub 複製 Firebase Podspec,並託管在自己的規格存放區中。
無論是哪種情況,我們都建議您盡快停止使用 CocoaPods。2026 年 10 月 CocoaPods 支援終止後,我們將不再提供官方支援,協助您直接從 podspec 安裝 Firebase。如果您選擇自行託管 Podspec,則必須負責保持最新狀態。
為什麼 CocoaPods 支援服務將於 2026 年 10 月終止,但 CocoaPods 卻能發布至 2026 年 12 月?
我們選擇 10 月,是為了確保在 12 月鎖定登錄檔之前,發布至 CocoaPods 的最終版本穩定。這段時間可做為緩衝,讓我們安全地協調這些最終更新,並確保跨平台 SDK (依賴原生 SDK,但發布週期延遲) 有充足時間準備自己的版本。
如果不更新,應用程式會停止運作嗎?
不會,這項淘汰作業只會影響日後推出的 Firebase 程式庫。Firebase 12 是發布至 CocoaPods 的最後一個主要版本,只要 CocoaPods 生態系統持續支援,CocoaPods 中的現有版本 (v12 及更早版本) 仍可安裝及運作。
這會影響專案計費嗎?
不會。
遷移至 Swift Package Manager 後,我在編譯專案時收到「找不到 FirebaseLibrary」錯誤。該如何解決這個問題?
請確認您已將 Firebase 套件新增至 Xcode 專案。
新增 Firebase 套件時,Xcode 會提示您將 Firebase 架構新增至應用程式的建構目標。如果您在這個步驟中忘記新增架構,可以稍後在目標設定中,依序前往「Build Phases」>「Link Binary with Libraries」新增架構。如果專案包含多個目標,請確認您已將 Firebase 新增至正確的目標。
這項轉換作業會中斷我的 CI/CD 管道嗎?
不會,執行 pod install 或 pod update 的管道會繼續在現有版本運作。不過,2026 年 10 月後發布的 Firebase 程式庫更新,將不會套用至這些版本。