Swift Package Manager is the iOS/macOS default — leave CocoaPods behind
CocoaPods is in maintenance mode. Flutter 3.44 makes Swift Package Manager the default for iOS and macOS dependency resolution. The CLI migrates the Xcode project on the next flutter run / flutter build.
What app developers see
- No Ruby/CocoaPods install required for the happy path.
- Add-to-App gains
flutter build swift-packageto emit a Swift Package for native hosts. - Plugins that still require CocoaPods trigger a CLI warning and temporary fallback.
What plugin authors must ship
If you maintain an iOS/macOS plugin:
- Add a
Package.swift. - Depend on
FlutterFrameworkif you migrated in the 2024 pilot. - Raise the minimum Flutter constraint to 3.44 when you switch.
Unmigrated plugins score lower on pub.dev and will eventually stop resolving.
Temporary opt-out
# pubspec.yaml
flutter:
# temporary escape hatch — file a bug if you need it
enable-swift-package-manager: false
Or pass --no-enable-swift-package-manager on the command line. Opt-outs will be removed; open an issue with your Xcode project if SwiftPM breaks a real integration.
Checklist before you delete Podfile
-
flutter cleanthen a full iOS build - CI runners no longer install CocoaPods for this app
- Every plugin in the tree resolves under SwiftPM (or is replaced)
- Code signing and entitlements still apply