CocoaPods 已宣布將於 2026 年 12 月進入唯讀狀態,屆時將無法再發布新的 Pod 版本。下列各節將提供更多資訊,並說明如何將應用程式遷移至其他安裝管理員。
總覽
- 異動內容 CocoaPods 即將進入唯讀狀態,Firebase 也將於 2026 年 10 月停止在 CocoaPods 發布新版本。
- 我的應用程式會不會無法運作?不會。CocoaPods 登錄檔會無限期保留現有版本的 Firebase 程式庫,而使用這些 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,但您需要在 GitHub 存放區或產品頁面中,檢查非 Firebase 依附元件是否支援 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 產品的預先編譯 XCFrameworks。這樣一來,您就能直接將特定 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,您必須負責確保 podspec 為最新版本。
CocoaPods 可發布至 2026 年 12 月,但為什麼我們會在 2026 年 10 月停止支援 CocoaPods?
我們選擇在 10 月發布,是為了確保發布至 CocoaPods 的最終版本穩定無虞,再於 12 月鎖定登錄檔。這段時間可讓您有充分的緩衝期,安全地協調這些最終更新,並確保跨平台 SDK (依附於原生 SDK,但發布週期較晚) 有足夠的時間準備自己的版本。
如果沒有更新,應用程式會停止運作嗎?
不會,這項淘汰作業只會影響日後發布的 Firebase 程式庫。CocoaPods 中的現有版本仍可安裝,且使用這些 Pod 版本的已部署應用程式不會受到影響。
這會影響專案帳單嗎?
不會。
遷移至 Swift Package Manager 後,編譯專案時出現「FirebaseLibrary not found」錯誤。該如何解決這個問題?
請確認您已將 Firebase 套件新增至 Xcode 專案。
新增 Firebase 套件時,Xcode 會提示您將 Firebase 架構新增至應用程式的建構目標。如果忘記在這個步驟中新增框架,您隨時可以在目標的設定中新增,路徑為「Build Phases」>「Link Binary with Libraries」。如果專案包含多個目標,請確認您已將 Firebase 新增至正確的目標。
這項轉換作業會導致我的 CI/CD 管道中斷嗎?
不會,執行 pod install 或 pod update 的管道仍會繼續運作,不過,2026 年 10 月後發布的任何新版 Firebase 程式庫更新,都不會再納入其中。