Skip to content

Change iOS builds to use Swift Packages instead of Cocoapods - #1928

Merged
a-maurice merged 4 commits into
mainfrom
am-spm_work_take3
Oct 5, 2026
Merged

a-maurice merged 4 commits into
mainfrom
am-spm_work_take3

Conversation

@a-maurice

Copy link
Copy Markdown
Contributor

Description

Provide details of the change, and generalize the change in the PR title above.

Since Cocoapods is being turned down, migrate the iOS builds to Swift Packages instead. This includes both the SDK build logic, converting ios_pod to ios_spm and getting the necessary dependencies, and the scripts we have to update the version numbers.

This should not affect end users of the built SDKs, only the build process.


Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.

Running scripts locally.


Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

Notes

  • Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
  • Read the contribution guidelines CONTRIBUTING.md.
  • Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

@a-maurice a-maurice added the skip-release-notes Skip release notes check label Sep 30, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request migrates the iOS and tvOS dependency management from CocoaPods to Swift Package Manager (SPM). It removes the old ios_pod configuration, Podfile, and CocoaPods setup scripts, replacing them with an ios_spm directory containing Package.swift and a new CMake integration (setup_spm_headers and symlink_spm_headers). All Firebase modules, helper scripts, and documentation have been updated to support this transition. Feedback on the changes highlights a critical NameError in scripts/update_android_ios_dependencies.py due to an un-renamed variable, a potential failure in file(CREATE_LINK) in ios_spm/CMakeLists.txt if symlinks already exist, and a redundant include path in firestore/CMakeLists.txt that should be removed.

Comment thread scripts/update_android_ios_dependencies.py Outdated
Comment thread ios_spm/CMakeLists.txt
Comment thread firestore/CMakeLists.txt
@a-maurice a-maurice added the tests-requested: full Trigger a FULL set of integration tests (uses expanded test matrix). label Oct 1, 2026
@github-actions github-actions Bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: full Trigger a FULL set of integration tests (uses expanded test matrix). labels Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Integration test with FLAKINESS (succeeded after retry)

Requested by @a-maurice on commit 2e41a1e
Last updated: Mon Oct 5 11:42 PDT 2026
View integration test log & download artifacts

Failures Configs
firestore [TEST] [FLAKINESS] [Android] [1/3 os: windows] [1/2 android_device: emulator_ftl_target]
(1 failed tests)  WriteBatchTest.TestCannotUpdateNonexistentDocuments

Add flaky tests to go/fpl-cpp-flake-tracker

@github-actions github-actions Bot added the tests: succeeded This PR's integration tests succeeded. label Oct 1, 2026
@firebase-workflow-trigger firebase-workflow-trigger Bot removed the tests: in-progress This PR's integration tests are in progress. label Oct 1, 2026
@a-maurice
a-maurice requested a review from AustinBenoit October 1, 2026 23:25
@a-maurice
a-maurice merged commit 2e41a1e into main Oct 5, 2026
83 of 89 checks passed
@a-maurice
a-maurice deleted the am-spm_work_take3 branch October 5, 2026 16:53
@github-actions github-actions Bot added tests: in-progress This PR's integration tests are in progress. tests: succeeded This PR's integration tests succeeded. and removed tests: succeeded This PR's integration tests succeeded. labels Oct 5, 2026
@firebase-workflow-trigger firebase-workflow-trigger Bot removed the tests: in-progress This PR's integration tests are in progress. label Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-release-notes Skip release notes check tests: succeeded This PR's integration tests succeeded.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants