Flutter 3.44 is making one of the biggest iOS changes in years.
CocoaPods is no longer the default dependency manager for iOS and macOS projects.
Flutter is moving to Swift Package Manager (SwiftPM), Apple's built-in dependency management system.
Why is this a big deal?
If you've worked on Flutter iOS apps before, you've probably seen issues like:
❌ CocoaPods installation problems
❌ Ruby version conflicts
❌ pod install failures
❌ CI/CD setup headaches
❌ Random dependency-related build errors
SwiftPM helps reduce a lot of that because it is already built into Xcode. No separate CocoaPods installation is required for projects that can fully use SwiftPM.
How do you enable it?
1️⃣ Upgrade Flutter
2️⃣ Run:
flutter config --enable-swift-package-manager
3️⃣ Build or run your iOS app
Flutter will automatically try to migrate the Xcode project and add SwiftPM integration for you.
What about existing projects?
This is the part I like most.
Flutter is designed to avoid breaking existing apps.
If a plugin does not support SwiftPM yet, Flutter can automatically fall back to CocoaPods for that dependency. This makes migration much safer for real-world projects.
Things worth checking before migrating:
✅ Use a recent Flutter version
✅ Update plugins to their latest versions where possible
✅ Verify any custom iOS build scripts
✅ Test your CI/CD pipeline after migration
Can you go back to CocoaPods?
Yes.
If you run into issues, you can disable SwiftPM globally:
flutter config --no-enable-swift-package-manager
Or disable it for a specific project through Flutter configuration and continue using CocoaPods.
My takeaway 👇
This feels like a very natural step for Flutter.
Instead of relying on an external Ruby-based tool, Flutter is aligning more closely with Apple's native ecosystem. The setup becomes simpler, onboarding gets easier, and many common iOS dependency issues should become less frequent. 🚀
If you're maintaining Flutter apps for iOS, this is definitely a change worth testing early.