Xshell Pro
📖 Tutorial

Flutter Embraces Swift Package Manager: CocoaPods Era Ends with v3.44

Last updated: 2026-05-08 16:25:26 Intermediate
Complete guide
Follow along with this comprehensive guide

Flutter's upcoming stable release, version 3.44, marks a significant shift in iOS and macOS dependency management. Starting with this release, Swift Package Manager (SwiftPM) replaces CocoaPods as the default tool for managing dependencies in Apple platforms. This move streamlines setup, eliminates the need for Ruby or CocoaPods installations, and aligns Flutter with Apple’s official package ecosystem.

The End of an Era: CocoaPods Maintenance Mode

CocoaPods has entered maintenance mode, and its registry will become permanently read-only on December 2, 2026. After that date, no new versions or pods will be added. Existing builds will continue to work, but to receive future dependency updates and access the Swift package ecosystem, Flutter is transitioning fully to SwiftPM. For plugin developers who have already migrated, additional requirements are detailed below.

Flutter Embraces Swift Package Manager: CocoaPods Era Ends with v3.44

What This Means for App Developers

For most app developers, the migration is automatic. When you run or build your iOS or macOS project, the Flutter CLI updates your Xcode project to use Swift Package Manager. No manual intervention is required.

  • Automatic migration: The CLI handles the transition. Check the Flutter migration docs for details.
  • Unsupported plugins: If any of your dependencies have not adopted SwiftPM, Flutter will display a warning listing the unsupported plugins. These will temporarily fall back to CocoaPods.
  • Plan for removal: Because CocoaPods support will eventually be removed entirely, if a plugin breaks your build, file an issue with its maintainer or find an alternative package.

Temporary Opt-Out Option

If SwiftPM causes a breaking issue, you can temporarily disable it. Open your pubspec.yaml file, navigate to the flutter section, and add the following under config:

flutter:
  config:
    enable-swift-package-manager: false

If you opt out, please file a bug report using the Flutter GitHub issue template and include error details, a list of plugins and versions, and copies of your Xcode project files. This helps the team resolve issues before CocoaPods is completely removed.

For Plugin Developers: Time to Migrate

Plugin authors maintaining iOS or macOS plugins must add SwiftPM support if they haven’t already. Currently, 61% of the top 100 iOS plugins have migrated. The remaining plugins are critical to ensure app developers aren’t stuck relying on a deprecated tool. To encourage adoption, packages without SwiftPM support will receive lower pub.dev scores until they migrate.

Migration Steps

  1. Add a Package.swift file to your plugin.
  2. Move source files to match the standard Swift package structure.
  3. If you already migrated during the 2025 pilot, add FlutterFramework as a dependency in your Package.swift file.

For full details, consult the Flutter migration docs for plugin authors.

Looking Ahead

The move to Swift Package Manager simplifies the Flutter development experience on Apple platforms. By adopting the industry standard, Flutter aligns with Apple’s ongoing support and ensures access to the latest Swift package ecosystem. App developers can expect a smoother setup, while plugin authors are encouraged to migrate promptly to avoid score penalties and future compatibility issues.