J.putty P1DocsMobile Development
Related
Mastering Multilingual Lyrics: A Guide to Apple Music’s Translation and Pronunciation ToolsHow to Ensure Your iPhone-Android Chats Are Encrypted with RCS7 Secrets to a Better YouTube Music Experience on Your Foldable (Including That Hidden Setting)Global Google Search Disruption: What Happened and What We Know So FarMeta Ray-Ban Smart Glasses: Hand Gesture Writing Now Available to EveryoneRevolutionary Redesign: Rumored Quartz Display for 2025 iPhone Pro LineupiOS 27 to Revolutionize Video Accessibility with On-Device Auto-CaptionsDecoding the Surprise: How Greg Mottola Could Reinvent Deathstroke and Bane for the DCU

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

Last updated: 2026-05-08 16:25:26 · Mobile Development

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.