Flutter Drops CocoaPods: Swift Package Manager Becomes Default for iOS and macOS Development
Breaking: Flutter 3.44 Mandates Swift Package Manager, Phasing Out CocoaPods
Starting with the next stable release of Flutter (version 3.44), Swift Package Manager (SwiftPM) will replace CocoaPods as the default dependency manager for iOS and macOS apps. This immediate change eliminates the need for Ruby or CocoaPods installations to run Flutter projects.
"This transition simplifies setup and ensures long-term compatibility with Apple’s ecosystem," said a Flutter engineering lead in an official statement. The move comes as CocoaPods enters maintenance mode, with its registry set to become permanently read-only on December 2, 2026.
Background: Why the Shift?
CocoaPods has been the standard dependency manager for iOS development for years, but it has increasingly become a bottleneck for Flutter developers. The tool requires Ruby installation and often leads to configuration issues. Moreover, Apple has positioned Swift Package Manager as the future of dependency management across its platforms.
Flutter's decision aligns with industry trends and ensures continued access to the Swift package ecosystem. "Existing builds will still work, but no new versions or pods will be added to the CocoaPods trunk after December 2026," the Flutter team confirmed.
What This Means for Developers
App Developers: Automatic Migration with Fallback
For app developers, the Flutter CLI handles the migration automatically. When you run or build your iOS or macOS app, the CLI updates your Xcode project to use Swift Package Manager. See the migration docs for app developers for more details.
If your app relies on plugins that have not yet adopted SwiftPM, Flutter will print a warning listing the unsupported dependencies. It will temporarily fall back to CocoaPods for those plugins. However, because CocoaPods support will eventually be removed entirely, the team urges developers to file issues with plugin maintainers or seek alternatives if a plugin breaks.
If SwiftPM causes a breaking issue, you can temporarily disable it in your pubspec.yaml file:
flutter:
config:
enable-swift-package-manager: false
"If you opt out, please file a bug report using our GitHub issue template," the Flutter team requested, emphasizing the need to include error details, plugin lists, and Xcode project files.
Plugin Developers: Migration Required or Risk Lower Scores
Plugin authors must add Swift Package Manager support if they haven’t already. Currently, 61% of the top 100 iOS plugins have migrated. The remaining 39% face pressure to adopt SwiftPM, as packages without support now receive lower pub.dev scores. Read the full migration guide for plugin developers.
To add support, developers need to create a Package.swift file and restructure source files to match the standard Swift package layout. For those who migrated during the 2025 pilot, an additional step is required: adding FlutterFramework as a dependency in Package.swift.
Timeline and Next Steps
- Immediate: SwiftPM becomes default in Flutter 3.44.
- Until Dec 2, 2026: CocoaPods registry remains writable but in maintenance mode.
- After Dec 2, 2026: CocoaPods registry becomes read-only; no new pods or versions.
- Future Flutter release: CocoaPods fallback will be removed entirely.
The Flutter team stresses that app developers should not delay migration, as the fallback is temporary. "This is a one-way door—eventually, CocoaPods will no longer be supported," the statement warns.
What This Means for the Flutter Ecosystem
The move signals Flutter’s deeper integration with Apple’s native toolchain, reducing friction for iOS and macOS developers. It also forces the remaining plugin authors to catch up, ensuring a uniform dependency management experience. For developers accustomed to CocoaPods’ straightforward workflows, the change may require minimal effort—the CLI handles most of the work. However, those relying on niche pods must act swiftly to find SwiftPM-compatible alternatives or advocate for migration.
In summary, Flutter 3.44 is a pivotal release that modernizes its mobile development pipelines. Developers who have been waiting for a cleaner alternative to CocoaPods now have a clear, mandatory path forward.
This is a developing story. Check the Flutter migration docs for the latest updates.
Related Articles
- 6 Key Takeaways from Apple’s Earnings: iPhone 17 Demand Soars Despite Supply Hurdles
- BIOS Settings Overload: Experts Warn Most Toggles Are 'Noise', Critical Ones Often Overlooked
- Microsoft Moves .NET MAUI to CoreCLR in .NET 11 – Mobile Apps Now Run on Unified Runtime
- Flutter 3.44 to Ditch CocoaPods: Swift Package Manager Becomes Default
- The Making of a World Record: How Adidas Engineered the 97-Gram Supershoe
- Plex Mobile Update: 10 Ways Custom Artwork Transforms Your Media Library
- How Apple Achieved 99% Customer Satisfaction with the iPhone 17: A Step-by-Step Guide
- 5 Key Features of the Dangbei N2 Mini Projector at an Unbeatable Price