Flutter’s Big Shift: Swift Package Manager Becomes Default for iOS and macOS Dependencies
Introduction: A New Default for iOS/macOS Dependencies
Starting with the upcoming stable Flutter release (version 3.44), Apple’s Swift Package Manager (SwiftPM) will take over as the standard dependency manager for iOS and macOS apps. This marks the end of relying on CocoaPods and Ruby installations just to get a Flutter app running. CocoaPods has entered maintenance mode, and its registry is set to become permanently read-only on December 2, 2026. After that date, no new versions or pods will be added to the trunk, though existing builds will still work. To keep apps receiving dependency updates and to tap into the growing Swift package ecosystem, Flutter is moving to Apple’s own supported solution: Swift Package Manager.
If you have already migrated your plugin(s) to SwiftPM, please read the “Plugin Developers” section below for additional requirements.
What App Developers Need to Know
Automatic Migration via the Flutter CLI
For app developers, the transition is largely handled by the Flutter command-line interface. When you run or build your iOS or macOS app, the CLI automatically updates your Xcode project to use Swift Package Manager. You can find full details in the official Flutter migration docs.
Handling Plugins That Haven’t Adopted SwiftPM
If your app depends on plugins that do not yet support Swift Package Manager, Flutter will print a warning listing exactly which dependencies are unsupported. In those cases, Flutter will temporarily fall back to CocoaPods for the affected plugins. However, because CocoaPods support will eventually be removed entirely, if a plugin remains incompatible and breaks your build, you should file an issue with the plugin’s maintainer requesting Swift package support, or find an alternative package.
Temporarily Opting Out of Swift Package Manager
If SwiftPM causes a breaking issue, you can disable it temporarily for your project. Open your pubspec.yaml file, go to the flutter section, and under the config block set enable-swift-package-manager to false:
flutter:
config:
enable-swift-package-manager: false
If you choose to opt out, please file a bug report using the Flutter GitHub issue template. Include error details, a list of your plugins and versions, and copies of your Xcode project files. This helps the Flutter team resolve issues before CocoaPods support is completely removed.
What Plugin Developers Must Do
If you maintain an iOS or macOS Flutter plugin, you need to add Swift Package Manager support if you haven’t already. As of now, 61% of the top 100 iOS plugins have migrated, but the remaining ones must catch up to prevent app developers from being stuck with a deprecated tool. To encourage adoption, packages without SwiftPM support now receive lower pub.dev scores until they migrate.
Steps for Adding SwiftPM Support
- Add a
Package.swiftfile to your plugin repository. - Move your source files to match the standard Swift package directory structure.
- If you already migrated your plugin during the 2025 pilot, you must take one additional step: add
FlutterFrameworkas a dependency in yourPackage.swiftfile.
For detailed instructions, refer to the Flutter migration documentation for plugins.
Looking Ahead
The move to Swift Package Manager simplifies the iOS/macOS development workflow for Flutter. With the December 2026 deadline for CocoaPods registry changes, now is the time to update your dependencies. App developers should check for plugin warnings and report issues, while plugin authors should prioritize migration to maintain pub.dev scores and ensure a smooth experience for the community.
Related Articles
- 7 Essential AI Chatbot Widgets for CarPlay You Need to Try
- Trump T1 Phone Preorder Terms Update Fuels Vaporware Fears
- Android Auto Beta Opens Its Doors Again: Grab Your Spot Fast!
- Flutter Embraces Swift Package Manager: CocoaPods Era Ends with v3.44
- The Making of a World Record: How Adidas Engineered the 97-Gram Supershoe
- How to Add a Desktop-Style Taskbar to Any Android Phone in Minutes
- Fake Stalking Apps: 7.3 Million Downloads Expose Android Security and Human Curiosity
- Flutter Abandons CocoaPods: Swift Package Manager Becomes Default Dependency Manager Starting in 3.44