Flutter 3.44 把 Swift Package Manager(SwiftPM)正式設為 iOS / macOS 的預設相依管理器,取代用了近十年的 CocoaPods。背後是硬時程:CocoaPods 進入維護模式,套件註冊中心將於 2026-12-02 變成唯讀。這不是「要不要換」,而是「年底前必須換完」。
技術細節
SwiftPM 隨 Xcode 內建,不再需要 Ruby 或 pod install。Flutter CLI 自動處理 app 層級遷移;未遷移的 plugin 會印警告並退回 CocoaPods。
flutter config --enable-swift-package-manager
flutter clean && flutter pub get
cd ios && rm -rf Pods Podfile.lock && cd ..
flutter build ios --release
Impeller 成為 iOS 與 Android 的預設渲染引擎;Web 端 Skwasm(WebAssembly)持續推進。
為什麼這是新聞
SwiftPM 觀望多年,預設化等於按下整個生態系的遷移時鐘。官方數據:前 100 大 iOS plugin 已有 61% 完成遷移,未遷移者 pub.dev 分數較低。註冊中心唯讀後,舊 pod install 流程隨時可能在 CI 爆掉。
三類讀者的立刻行動
- 工程師:在分支跑遷移,逐一檢查 plugin SwiftPM 支援,全部通過再移除 CI 的 Ruby/CocoaPods。
- 技術負責人:把 2026-12-02 設為硬截止日反推排程;未遷移私有 plugin 要嘛 fork 要嘛排除。
- 創業者/接案商:主動發信給每個 iOS 客戶,趕在年底前報「iOS 工具鏈遷移包」固定價。
比較與權衡
vs React Native:Flutter 更早把 iOS 原生相依現代化、去掉 Ruby 依賴,對 CI 是實質減負;但 SwiftPM 對混用系統函式庫與二進位 framework 的複雜 plugin 仍有邊角案例。取捨:更乾淨的工具鏈換過渡期相容風險。
不會告訴你的事
「build 快 10–20%」前提是所有 plugin 都已遷移;只要一個退回 CocoaPods,就揹兩套工具鏈、建置更慢。自動遷移對客製 Podfile、post_install hook、強制版本幾乎必須人工處理,企業 CI 與簽章流程已有人回報過渡期斷掉。
未來 3 個月會發生什麼
plugin 遷移率將從 61% 衝向 80%+。待觀察:12/2 唯讀後是否出現一波「舊專案 CI 突然壞掉」——那是接案商旺季。
我的觀點
Contrarian:SwiftPM 預設化在加速任何東西之前,會先安靜地弄壞你的 CI。真正的故事是 2026-12-02 這道硬牆。ScriptWalker 應現在就把「iOS 建置工具鏈健檢 + 遷移」做成有明確報價的服務包,主動發給每個 Flutter iOS 客戶——趁議價權在你手上時排程,而非年底救火。