Undefined symbol(s) for architecture arm64 — linker command failed with exit code 1
The linker can’t find the implementation of a symbol your code uses — a missing framework/library, a file not in the target, or an architecture mismatch.
Seen on:
iOS
Meaning
Classes defined in files not added to the target, static libraries missing from Link Binary With Libraries, Objective-C categories without -ObjC, or libraries built without arm64 simulator slices cause this.
Common causes
- Source file not a member of the target
- Framework/library not linked
- Library missing the needed architecture slice
- C++ / Objective-C symbol name issues (-ObjC, -lc++)
⚡ Quick fix
- Check Target Membership of the file defining the symbol
- Add the framework to Link Binary With Libraries
- Use XCFrameworks with simulator arm64 slices
Detailed fix by platform
Shell
- swift
lipo -info libThirdParty.a nm -gU libThirdParty.a | grep MissingSymbol
How to diagnose
- Symbol — Which one?
- Membership — File in target?
- Arch — lipo -info shows arm64?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- built for iOS, linking for simulator Building for iOS Simulator, but linking in object file built for iOS, for architecture arm64
- Cannot preview in this file SwiftUI Preview: Cannot preview in this file — the preview crashed / failed to build
- dyld: Library not loaded dyld: Library not loaded: @rpath/X.framework/X — Reason: image not found (crash on launch)
Most viewed in iOS
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026