10948
Mobile Development

Flutter Abandons CocoaPods: Swift Package Manager Becomes Default in Next Release

The Announcement

Flutter 3.44 will make Swift Package Manager (SwiftPM) the default dependency manager for iOS and macOS apps, replacing CocoaPods. This shift eliminates the need to install Ruby or CocoaPods for Flutter projects.

Flutter Abandons CocoaPods: Swift Package Manager Becomes Default in Next Release

"CocoaPods is officially in maintenance mode and its registry will become read-only on December 2, 2026," said a Flutter team spokesperson. "Existing builds will remain functional, but no new pods will be added after that date. Flutter is moving to Apple's supported solution to ensure continued updates and access to the Swift package ecosystem."

The transition is immediate upon upgrade, though plugins not yet migrated will temporarily fall back to CocoaPods.

Background

CocoaPods has long been the standard for managing third-party dependencies in iOS/macOS projects. However, Apple's Swift Package Manager—integrated natively in Xcode—offers better performance, security, and is under active development by Apple.

Flutter's adoption of SwiftPM has been gradual: a pilot program in 2025 saw early adopters, but now it becomes mandatory. According to Flutter's internal data, 61% of the top 100 iOS plugins have already migrated.

What This Means

For app developers, Flutter's CLI handles the migration automatically. On running or building, the CLI updates Xcode project settings to use SwiftPM. If a plugin hasn't migrated, Flutter prints a warning and falls back to CocoaPods temporarily—but this fallback will eventually be removed.

Plugin developers who haven't added SwiftPM support face consequences: lower pub.dev scores and potential loss of users. They must add a Package.swift file and restructure source files to match the standard Swift package layout. Those who migrated during the pilot must now include FlutterFramework as a dependency in Package.swift.

"We need the remaining plugins on board so app developers aren't stuck relying on a deprecated tool," emphasized a Flutter engineering lead. "The registry shutting down is a hard deadline—plan accordingly."

For App Developers: Migration Steps

  • Automatic update: Run or build your app—the CLI migrates Xcode automatically. See the Flutter migration docs for app developers.
  • Check warnings: If plugins are unsupported, Flutter prints a list. File an issue with the maintainer or find alternative packages.
  • Opt-out temporarily: In pubspec.yaml, set flutter.config.enable-swift-package-manager: false. Then report the bug via Flutter's GitHub template with error details, plugin list, and Xcode project files.

For Plugin Developers: Steps to Migrate

  1. Add SwiftPM support by creating a Package.swift file and organizing source files in standard Swift package layout.
  2. Include FlutterFramework as a dependency in Package.swift if you migrated during the 2025 pilot.
  3. Review the full migration docs at Flutter's plugin migration guide.

Migration Documentation Links

App developers: Flutter migration docs (link). Plugin developers: Flutter migration docs (link). Bug reports: Flutter GitHub issue template.

Timeline and Deadline

Flutter 3.44 (next stable release) enforces SwiftPM as default. The CocoaPods registry becomes read-only on December 2, 2026. After that, no new pods or versions will be accepted. While existing pods remain usable, Flutter will eventually remove CocoaPods fallback entirely.

"The clock is ticking for plugin maintainers," warned an industry analyst. "Delaying migration risks breaking apps for thousands of Flutter developers."

This change positions Flutter firmly within Apple's ecosystem, promising tighter integration and faster dependency updates.

💬 Comments ↑ Share ☆ Save