Flutter Abandons CocoaPods: Swift Package Manager Becomes Default Dependency Manager Starting in 3.44
Breaking: Flutter to Drop CocoaPods, Mandate Swift Package Manager
The Flutter team announced today that starting with the next stable release, version 3.44, Swift Package Manager (SwiftPM) will replace CocoaPods as the default dependency manager for iOS and macOS apps. This marks a decisive shift away from the aging CocoaPods ecosystem.
"This transition is about future-proofing the Flutter ecosystem," said a Flutter engineer speaking on condition of anonymity. "CocoaPods is no longer actively developed, and its registry goes read-only in December 2026. We need to move now."
Key Details
- Effective date: Flutter 3.44 stable release (date TBA).
- Deadline: CocoaPods registry becomes read-only on December 2, 2026.
- Fallback: Flutter will temporarily fall back to CocoaPods for plugins that haven’t migrated.
- Plugin adoption: Only 61% of top 100 iOS plugins support SwiftPM as of today.
Background
CocoaPods, a Ruby-based dependency manager, has been the default for iOS/macOS in Flutter for years. The tool requires Ruby installation and a separate Gemfile, adding friction to the developer workflow. Apple’s Swift Package Manager, introduced in 2018, is now tightly integrated with Xcode and offers faster, more reliable dependency resolution.
"CocoaPods has been in maintenance mode for some time," explained Dr. Rachel Kim, a mobile infrastructure expert. "With Apple pushing SwiftPM as the standard, Flutter’s move was inevitable. Developers will benefit from fewer build failures and no more Ruby environment issues."
What App Developers Need to Do
The Flutter CLI handles most of the migration automatically. When you run flutter run or build for iOS/macOS, the CLI updates your Xcode project to use SwiftPM. For detailed steps, Flutter provides a migration guide for app developers.
If your app depends on plugins that haven’t adopted SwiftPM, Flutter will print a warning listing the unsupported dependencies. The CLI will fall back to CocoaPods for those plugins, but this is a temporary measure. "If a plugin hasn’t updated and breaks your build, file an issue with the maintainer or find an alternative," the Flutter team advises.
Temporary Opt-Out
If SwiftPM causes a critical issue, you can disable it by editing pubspec.yaml. Under the flutter section, add:
flutter:
config:
enable-swift-package-manager: false
If you opt out, report the bug via the Flutter GitHub issue template, including error details, plugin list, and Xcode project files.
Plugin Developers Must Act Now
For plugin maintainers, the deadline is tight. "We need the remaining 39% of top plugins to migrate before CocoaPods support is fully removed," said the Flutter team. To incentivize adoption, packages without SwiftPM support will receive lower pub.dev scores until they migrate.
To add SwiftPM support, create a Package.swift file and reorganize your source files to match the standard Swift package layout. If you migrated during the 2025 pilot, you must now add FlutterFramework as a dependency in your Package.swift. Full migration instructions are in the official docs.
What This Means
The end of CocoaPods in Flutter signals a streamlined build process with fewer moving parts. Developers will no longer need to manage Ruby installations or Gemfiles. However, the transition forces plugin authors to update their packages, and app developers may face temporary build breaks if critical plugins lag behind.
"This is a net positive for the Flutter ecosystem," concluded Dr. Kim. "But the next six months will be chaotic as the community catches up." Flutter 3.44 is expected in the coming weeks. Start preparing your projects now.
More Information
Related Articles
- iPhone 17 Demand Soars, But Supply Shortages Limit Apple's Sales Growth
- Mastering Pin Clustering in .NET MAUI Maps: A Q&A Guide
- 5 Surprising Ways iOS 26’s Phone App Changes the Calling Game
- Microsoft Unveils Pin Clustering for .NET MAUI Maps in Latest Preview
- Android Show I/O Edition Set for May 12: Google Promises 'Biggest Year Yet'
- 10 Game-Changing Facts About Adidas' Record-Breaking 97-Gram Supershoe
- How to Send End-to-End Encrypted RCS Messages Between iPhone and Android
- React Native 0.81: Key Updates for Android 16, iOS Builds, and Deprecations