[various] Remove CocoaPods from examples#11237
Open
stuartmorgan-g wants to merge 3 commits intoflutter:mainfrom
Open
[various] Remove CocoaPods from examples#11237stuartmorgan-g wants to merge 3 commits intoflutter:mainfrom
stuartmorgan-g wants to merge 3 commits intoflutter:mainfrom
Conversation
For almost all projects in the repository, this does the steps recommended by the warning when building with Swift Package Manager enabled (for both ios/ and macos/, wherever they are present): - Runs `pod deintigrate` - Deletes `Podfile` - Removes the CocoaPod xcconfig references in the Flutter Debug and Release xcconfigs. When running without Swift Package Manager enabled, `flutter` will automatically re-add this integration, so this won't break anyone running these examples on `stable`. However, we are no longer expecting this to be a common workflow (CI no longer builds these apps in non-SwiftPM mode, and regular flutter/package contributors are likely to be on `master` where SwiftPM is on by default now), so it's no longer useful to have the integration checked in. The only packages that have not had Pod integration removed are: - `google_maps_flutter_ios` because it doesn't (and can't) support Swift Package Manager. - `google_maps_flutter` because it depends on `google_maps_flutter_ios` as the default implementation. Follow-up to flutter/flutter#172427
There was a problem hiding this comment.
Code Review
This pull request removes CocoaPods integration from numerous example applications across various packages. The changes include the deletion of Podfiles, removal of CocoaPods-related includes from .xcconfig files, and updates to Xcode project files (.pbxproj) to eliminate all references to CocoaPods build phases, frameworks, and configurations. In some cases, Swift Package Manager dependencies are introduced through new Package.resolved files, reflecting a migration in dependency management.
LouiseHsu
approved these changes
Mar 12, 2026
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For almost all projects in the repository, this does the steps recommended by the warning when building with Swift Package Manager enabled (for both ios/ and macos/, wherever they are present):
pod deintigratePodfileWhen running without Swift Package Manager enabled,
flutterwill automatically re-add this integration, so this won't break anyone running these examples onstable. However, we are no longer expecting this to be a common workflow (CI no longer builds these apps in non-SwiftPM mode, and regular flutter/package contributors are likely to be onmasterwhere SwiftPM is on by default now), so it's no longer useful to have the integration checked in.The only packages that have not had Pod integration removed are:
google_maps_flutter_iosbecause it doesn't (and can't) support Swift Package Manager.google_maps_flutterbecause it depends ongoogle_maps_flutter_iosas the default implementation.This also removes the precache steps from
ios_build_all_packagesandmacos_build_all_packages. Because that step runs per package, it was doing a lot of caching of native code that was package-scoped, and thus wouldn't be used by the all-packages app, and in the current configuration isn't even the right kind of dependency (it will fetch SwiftPM deps, but the all-packages app uses CocoaPods still to cover that mode).Follow-up to flutter/flutter#172427
Pre-Review Checklist
[shared_preferences]///).Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2