Flutter Embraces Swift Package Manager: CocoaPods Phase-Out Begins

By

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).

Flutter Embraces Swift Package Manager: CocoaPods Phase-Out Begins

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.

Tags:

Related Articles

Recommended

Discover More

How to Ring the Nasdaq Closing Bell: Lessons from the Artemis II CrewFrom Inspiration to Launch: Anton Kiriwas and NASA's Artemis MissionsCritical 'Copy.Fail' Linux Flaw Grants Root Access Across Major DistrosGoogle Chrome's Hidden AI Data File Swallows Up To 4GB of Storage, Users ReportPinpointing the Culprit: Automated Failure Attribution in LLM Multi-Agent Systems