Swift Package Manager Becomes Default for Flutter iOS and macOS Apps as CocoaPods Phases Out

From Xshell Ssh, the free encyclopedia of technology

Breaking: Flutter 3.44 Defaults to Swift Package Manager

Starting with Flutter 3.44, the Swift Package Manager (SwiftPM) will replace CocoaPods as the default dependency manager for iOS and macOS applications, according to an official announcement from the Flutter team. This marks a major shift in how Flutter developers manage native dependencies, eliminating the need for Ruby or CocoaPods installations.

Swift Package Manager Becomes Default for Flutter iOS and macOS Apps as CocoaPods Phases Out

"This transition streamlines the development workflow for Flutter developers, making it easier to leverage the broader Swift ecosystem," said a Flutter engineering spokesperson.

Background: CocoaPods Enters Maintenance Mode

CocoaPods has been officially placed into maintenance mode. Its registry will become permanently read-only on December 2, 2026. While existing builds remain functional, no new versions or pods can be added after that date. To ensure continued access to dependency updates and the Swift package ecosystem, Flutter is migrating to Apple's officially supported solution: Swift Package Manager.

"We’re committed to providing a modern, reliable dependency management experience," the spokesperson added.

What This Means for App Developers

For app developers, the Flutter CLI handles the migration automatically. Running or building your iOS or macOS app triggers an update to your Xcode project to use SwiftPM. Full migration docs are available at the Flutter documentation site.

If your app depends on plugins that have not yet adopted SwiftPM, the CLI will print a warning listing unsupported dependencies. Flutter will temporarily fall back to CocoaPods for those plugins until they migrate. However, because CocoaPods support will eventually be removed entirely, developers are urged to either request Swift package support from plugin maintainers or find alternatives.

Should SwiftPM cause a critical issue, you can disable it by editing your pubspec.yaml file. Under the flutter section, set enable-swift-package-manager to false in the config block. If you opt out, please file a bug report using the Flutter GitHub template.

What Plugin Developers Must Do

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. "We need the remaining plugins on board so app developers aren’t stuck relying on a deprecated tool," the team warned. To encourage adoption, packages without SwiftPM support will receive lower pub.dev scores until they complete the migration.

To add support, include a Package.swift file and reorganize your source files to match the standard Swift package structure. If you migrated during the 2025 pilot, you must add FlutterFramework as a dependency in your Package.swift. Detailed instructions are in the Flutter migration docs.

What This Means for the Flutter Ecosystem

This move simplifies the developer experience by removing the dependency on Ruby and CocoaPods setup. It also grants access to the broader Swift package ecosystem, which includes thousands of libraries. However, plugin developers face a tight deadline; failure to migrate could break builds after December 2026. The Flutter team is actively monitoring the transition and encourages bug reports to smooth the process prior to CocoaPods' complete removal.