Xcode Cloud cannot resolve Swift package dependencies
Check Package.resolved, repository access, and version requirements in CI.
Compare the successful local resolution with CI. Commit the appropriate Package.resolved file, ensure CI can reach every package repository, and inspect the first failing package and authentication error.
Try these fixes in order
Locate the first failing package
Open the Xcode Cloud build log or xcodebuild output and identify the package URL, requested version, and underlying network or authentication message. A missing revision differs from a private-repository access failure.
Check the resolved file
Apple documents that Xcode stores exact versions in Package.resolved. Find the file for the project or workspace and confirm the CI checkout includes the version reviewed by the team.
Confirm repository access
Check whether the CI environment has approved access to private package repositories and any required SSH configuration. Do not place tokens in the package URL, build log, or repository.
Reproduce the CI resolution
Use the same Xcode version and scheme locally if possible. Resolve intentionally, review Package.resolved changes, commit them, and rerun CI. If the package requires an unavailable revision, select a published compatible version.
Interpret what you see
Local build succeeds but Xcode Cloud cannot resolve
What it suggests: The workflow may not see the committed Package.resolved file.
Next check: Verify its project/workspace path, Git tracking, and branch used by the workflow.
The lockfile is present and a private fetch fails
What it suggests: The runner lacks permission to that source repository.
Next check: Grant supported SCM provider access to the private package; do not embed credentials in code.
Resolution picks a different version in CI
What it suggests: The lockfile or manifest requirements differ across commits or toolchains.
Next check: Compare the exact file and Xcode version from the CI commit, then review any lockfile changes.
Why this happens
- CI cannot access Package.resolved or a private package source.
- A pinned revision or package requirement is unavailable to the CI environment.
Still not working?
Avoid resetting all package caches before reading the first error. If only one Xcode version fails, compare its Swift tools and platform requirements.
Official sources
These steps are based on the linked documentation and general diagnostics. BugMedic has not independently tested every product and system configuration. Review commands before running them.