Xcode “linker command failed with exit code 1”
Treat this as the final summary of a linker failure; the useful diagnosis is in the preceding undefined symbol, duplicate symbol, or missing library line.
Treat this as the final summary of a linker failure; the useful diagnosis is in the preceding undefined symbol, duplicate symbol, or missing library line.
Try these fixes in order
Open the full build report
Expand the failing Link step and read upward from the final exit-code line to the first specific diagnostic.
Classify the missing item
For undefined symbols, confirm the defining source or binary is included in the target. For duplicate symbols, look for the same object or implementation linked twice.
Compare configurations
Check whether Debug succeeds but Release fails and inspect conditional build settings and linked products.
Rebuild the exact target
After correcting membership or linkage, rebuild with the same scheme and destination; preserve the first error if it remains.
Interpret what you see
Undefined symbol appears before the exit code
What it suggests: A declaration is referenced without a linked implementation.
Next check: Find the symbol’s defining target or library and confirm it is included in the failing configuration.
Duplicate symbol appears
What it suggests: Two object files or libraries provide the same definition.
Next check: Compare the paths on both duplicate lines and remove the unintended second producer.
Library or framework not found appears
What it suggests: The linker cannot locate a required binary.
Next check: Inspect the named artifact, its target linkage, and destination support before changing search paths.
Why this happens
- A referenced symbol has no linked definition.
- A library, object file, or target dependency is missing or duplicated.
Still not working?
The exit code alone is not enough to recommend deleting DerivedData. Share the preceding linker diagnostics when requesting help.
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.