Flutter 3.44 is finally ditching CocoaPods, Swift Package Manager is now the default !!
If you've ever lost an hour to `pod install` failing on a fresh machine or fighting Ruby version conflicts, good news: Flutter 3.44 makes **Swift Package Manager (SwiftPM)** the default dependency manager for iOS and macOS apps.
No more Ruby. No more CocoaPods setup. SwiftPM ships with Xcode, so it just works out of the box.
Why now?
CocoaPods is officially in maintenance mode and its trunk registry goes permanently read-only on December 2, 2026, meaning no new packages or updates after that date. Flutter is proactively moving to Apple's native, actively-maintained solution before things break.
What changes for you?
New Flutter projects → SwiftPM by default, nothing to do
Existing projects → Flutter CLI auto-migrates your Xcode project on next `flutter run`
Plugin authors → You *must* add a `Package.swift` file if you haven't already (only 61% of top 100 iOS plugins have migrated so far)
What stays the same?
CocoaPods isn't immediately ripped out, you can still opt out and file bug reports if something breaks. But the direction is clear: it's going away. Firebase/FlutterFire already supports SwiftPM. Most major plugins do too. The ecosystem is ready.
Honestly, this is one of the most quality-of-life improvements Flutter has shipped in a while for iOS devs. CI pipelines alone will be so much cleaner.
Has anyone already migrated their plugins to Swift Package Manager? Any gotchas worth knowing?