Flutter Embraces Swift Package Manager: CocoaPods Phase-Out Begins
Flutter is taking a decisive step forward with its upcoming stable release 3.44, where Swift Package Manager (SwiftPM) will become the default dependency manager for iOS and macOS apps. This change streamlines development by eliminating the need to manage Ruby or CocoaPods installations just to run your Flutter app. Here’s what this transition means for app developers, plugin maintainers, and the future of Flutter’s ecosystem.
The End of an Era: CocoaPods in Maintenance Mode
CocoaPods has been a staple for iOS dependency management, but its registry will permanently become read-only on December 2, 2026. While existing builds will continue to function, no new versions or pods will be added after that date. To ensure ongoing dependency updates and access to the broader Swift package ecosystem, Flutter is migrating to Apple’s officially supported solution: Swift Package Manager. If you’ve already migrated your plugin to SwiftPM, note that new requirements apply (see Plugin Developers section below).
What App Developers Need to Know
For app developers, the Flutter CLI handles most of the heavy lifting. When you run or build your iOS or macOS app, the tooling automatically updates your Xcode project to use Swift Package Manager. Detailed migration steps are available in the Flutter migration docs for app developers.
Handling Unsupported Plugins
If your app relies on plugins that haven’t adopted SwiftPM yet, 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, you should either file an issue with the plugin’s maintainer requesting Swift package support or find an alternative package.
Temporary Opt-Out Option
Should SwiftPM cause a breaking issue in your project, you can temporarily disable it. Open your pubspec.yaml, go to the flutter section, and set enable-swift-package-manager to false under the config block:
flutter:
config:
enable-swift-package-manager: false
If you opt out, please report the issue using the Flutter GitHub issue template. Include error details, your plugins and versions, and copies of Xcode project files so the team can resolve the problem before CocoaPods is fully removed.
Plugin Developers: Time to Migrate
If you maintain an iOS or macOS plugin, you must add SwiftPM support if you haven’t already. So far, 61% of the top 100 iOS plugins have migrated. To avoid leaving app developers reliant on a deprecated tool, Flutter now lowers pub.dev scores for packages without SwiftPM support until they migrate.
Adding Swift Package Manager Support
To add support, create a Package.swift file and rearrange your source files to match the standard Swift package structure. The Flutter migration docs provide detailed instructions.
New Requirement for Early Adopters
If you migrated your plugin during the 2025 pilot, you now need to add FlutterFramework as a dependency in your Package.swift file. This ensures compatibility with the latest Flutter tooling.
Troubleshooting and Reporting Issues
Migrations can sometimes hit snags. If you encounter problems, report them via the Flutter GitHub issue template. Include all relevant details such as error logs, plugin list, and Xcode project files. This helps the team address issues before CocoaPods support is retired.
Looking Ahead
The transition to Swift Package Manager aligns Flutter with Apple’s ecosystem and reduces dependency on legacy tools. With CocoaPods becoming read-only in December 2026, adopting SwiftPM now ensures your projects remain up-to-date and maintainable. App developers can rely on the automated migration, while plugin developers are urged to migrate to avoid score penalties and support the growing Swift package ecosystem.
Related Articles
- The Alarming Demand for Fake Stalking Apps: 7.3 Million Downloads and a Troubling Trend
- WhatsApp Plus Subscription: What iPhone Users Need to Know
- 6 Key Takeaways from Apple’s Earnings: iPhone 17 Demand Soars Despite Supply Hurdles
- Google's Next Smart Display: 'Google Home Display' Signals a Shift from Nest Branding
- Flutter's Big Shift: Why Swift Package Manager Is Replacing CocoaPods
- Building VR Apps with React Native on Meta Quest: A Step-by-Step Guide
- 5 Things You Need to Know About pluck vs. select in Rails
- 10 Crucial Insights for Building VR Apps with React Native on Meta Quest