【文章翻譯】Saying goodbye to CocoaPods: Swift Package Manager is soon the default in Flutter!

【文章內容使用 Gemini 2.5 Flash 自動翻譯產生】

Dash 遷移!

從下一個穩定的 Flutter 版本 3.44 開始,Swift Package Manager (SwiftPM) 將取代 CocoaPods 成為 iOS 和 macOS 應用程式的預設依賴管理器。這意味著您不再需要為了運行應用程式而費心 Ruby 或 CocoaPods 的安裝了!

CocoaPods 已正式進入維護模式,其註冊表將於 2026 年 12 月 2 日永久變為唯讀。雖然現有的建置仍將正常工作,但在此日期之後,將不再有新版本或 pod 加入主幹。為了確保您的應用程式持續接收依賴更新並提供 Swift 套件生態系統的存取權,Flutter 正在過渡到 Apple 支援的依賴管理解決方案:Swift Package Manager。

如果您已經將您的 Plugin 遷移到使用 SwiftPM,請閱讀下面的「Plugin 開發人員」部分以了解新的遷移要求。

以下是如何管理過渡。

應用程式開發人員

對於應用程式開發人員,Flutter CLI 會處理遷移。當您運行或建置您的 iOS 或 macOS 應用程式時,CLI 會自動更新您的 Xcode 專案以使用 Swift Package Manager。有關更多詳細資訊,請查看 適用於應用程式開發人員的 Flutter 遷移文件

如果您的應用程式依賴尚未採用 Swift Package Manager 的 Plugin,Flutter 將列出警告,精確地列出您的哪些依賴不支援。對於尚未採用 Swift 套件的 Plugin,Flutter 將暫時回退到 CocoaPods。由於 CocoaPods 支援最終將完全移除,如果 Plugin 未更新並導致您的建置中斷,請向依賴的維護者提交議題,要求 Swift 套件支援或尋找替代套件。

我們知道遷移有時會遇到問題。如果 SwiftPM 導致重大問題,您可以暫時為您的專案停用它。打開您的 pubspec.yaml 檔案,導航到 flutter 部分,並在 config 區塊下將 enable-swift-package-manager 設定為 false:

1
2
3
flutter:
config:
enable-swift-package-manager: false

如果您選擇退出,請使用 Flutter GitHub 議題模板 提交錯誤報告並告知我們!請包含錯誤詳細資訊、您的 Plugin 及其版本列表,以及您的 Xcode 專案檔案副本,以幫助我們在 CocoaPods 完全移除之前解決問題。

Plugin 開發人員

對於維護 iOS 或 macOS Plugin 的 Plugin 作者,如果您尚未添加 Swift Package Manager 支援,則必須添加。到目前為止,前 100 個 iOS Plugin 中有 61% 已遷移。我們需要其餘的 Plugin 加入,這樣應用程式開發人員才不會依賴已棄用的工具。為了鼓勵採用,沒有 Swift Package Manager 支援的套件在遷移之前將獲得較低的 pub.dev 分數。

若要新增此支援,請新增一個 Package.swift 檔案,並移動您的原始碼檔案以符合標準的 Swift 套件結構。如果您已經在 2025 年的試驗期間遷移了您的 Plugin,則需要完成一個新步驟:您必須在 Package.swift 檔案中新增 FlutterFramework 作為依賴項。請閱讀 Flutter Plugin 作者遷移文件 以獲取完整說明。

感謝您協助遷移到 Swift Package Manager。我們希望這能簡化並改善您在 iOS 和 macOS 上的開發體驗!


告別 CocoaPods:Swift Package Manager 即將成為 Flutter 的預設選項!最初發佈在 Flutter 上的 Medium,人們在那裡透過突出顯示和回應這個故事來繼續討論。