Flutter Embraces Swift Package Manager as Default for iOS and macOS
Introduction to the Shift
With the next stable release of Flutter, version 3.44, Apple's Swift Package Manager (SwiftPM) will become the default dependency manager for iOS and macOS applications. This move marks a departure from CocoaPods, which has been the go-to tool for managing dependencies in Apple platforms for years. The transition aims to simplify the development process by eliminating the need for Ruby or separate CocoaPods installations.
Why the Change Matters
CocoaPods is now in maintenance mode, and its registry will become permanently read-only as of December 2, 2026. Although existing builds will continue to function, no new pods or versions will be added after this date. To ensure ongoing access to dependency updates and the broader Swift package ecosystem, Flutter is aligning with Apple's supported solution—Swift Package Manager. This change also encourages plugin developers to adopt modern tooling.
What App Developers Need to Know
For app developers, the migration is largely automated. When you run or build your iOS or macOS project, the Flutter CLI will automatically update your Xcode project to use Swift Package Manager. Detailed instructions can be found in the official Flutter migration documentation for app developers.
Handling Plugins Without SwiftPM Support
If your project relies on plugins that haven't yet migrated to Swift Package Manager, Flutter will display a warning listing the unsupported dependencies. In such cases, Flutter will temporarily fall back to CocoaPods for those specific plugins. However, since CocoaPods support will eventually be removed entirely, you should file an issue with the dependency's maintainer to request Swift package support or seek alternative packages if a broken build occurs.
Opting Out Temporarily
If SwiftPM causes a critical issue in your project, you can disable it temporarily. In your pubspec.yaml file, locate the flutter section and add:
flutter:
config:
enable-swift-package-manager: falseIf you choose to opt out, please report the problem via the Flutter GitHub issue template. Include error details, a list of your plugins and versions, and copies of your Xcode project files to help the team resolve the issue before CocoaPods is completely phased out.
Guidelines for Plugin Developers
If you maintain an iOS or macOS plugin, adding Swift Package Manager support is now essential. Currently, 61% of the top 100 iOS plugins have already migrated. The remaining plugins must adopt SwiftPM to ensure app developers aren't stuck with a deprecated tool. To encourage this, packages without Swift Package Manager support will receive lower scores on pub.dev until they migrate.
How to Add SwiftPM Support
To enable Swift Package Manager for your plugin, you need to create a Package.swift file and rearrange your source files to fit the standard Swift package structure. If you already migrated during the 2025 pilot, there's one additional requirement: you must add FlutterFramework as a dependency in your Package.swift file. For full details, refer to the Flutter migration documentation.
Conclusion
Flutter's move to Swift Package Manager as the default for iOS and macOS apps streamlines development and aligns with industry standards. App developers can rely on automated migration tools, while plugin authors are urged to update their packages promptly. By embracing this change, the Flutter ecosystem will continue to thrive and provide robust dependency management for years to come.
Related Articles
- Mastering iOS 26’s Revamped Phone App: A Step-by-Step Guide to Its Best Features
- How to Prepare for the Rumored Next-Gen iPhone Pro with Quad-Curved Display
- Flutter Embraces Swift Package Manager: What You Need to Know About the Upcoming Shift
- Pixel 11 Series Facing RAM Cutback as Global Shortage Bites — Leaked Specs Show 8GB Base
- Swift on Windows Gets a Dedicated Workgroup: 6 Things Developers Need to Know
- React Native 0.79: Faster Startup, New Metro Features, and Community-Driven JSC
- React Native 0.84 Ships Hermes V1 as Default Engine, Promises Major Performance Gains
- iOS 27 to Integrate AI Into Camera App; Tim Cook Reflects on Career; iPhone Battery Drain Issue Emerges