APP 開發

Flutter 3.44 把 SwiftPM 設為預設、判了 CocoaPods 死刑:iOS 客戶要趁早收一筆遷移費

2026.06.06 · 35 次瀏覽
Flutter 3.44 把 SwiftPM 設為預設、判了 CocoaPods 死刑:iOS 客戶要趁早收一筆遷移費

年底硬截止日,把每個舊 iOS 專案變成一張可報價的遷移工單。

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 客戶——趁議價權在你手上時排程,而非年底救火。

資料來源