Building for iOS Simulator, but linking in object file built for iOS, for architecture arm64
A library contains device-only arm64 code; Apple Silicon simulators also run arm64 and need a separate simulator slice.
Building for iOS Simulator, but linking in object file built for iOSbuilding for iOS Simulator-arm64 but attempting to link with file built for iOS-arm64 Meaning
Old “fat” frameworks combine device arm64 with simulator x86_64. On Apple Silicon Macs the simulator wants arm64-simulator, which they lack. XCFrameworks solve this; excluding arm64 for the simulator is a temporary workaround that forces Rosetta.
Common causes
- Old fat .framework/.a without arm64-simulator slice
- Pods built with EXCLUDED_ARCHS hacks
- Prebuilt binary SDK not updated
⚡ Quick fix
- Update the SDK to an XCFramework version
- Remove EXCLUDED_ARCHS[sdk=iphonesimulator*]=arm64 hacks once dependencies support it
- Temporarily run the simulator under Rosetta
Detailed fix by platform
Shell
xcodebuild -create-xcframework -framework device/My.framework -framework simulator/My.framework -output My.xcframework
How to diagnose
- Slices — lipo -info / file on the binary
- Settings — EXCLUDED_ARCHS
🔧 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
Most viewed in iOS
Other ways to find it
Where this error sits
Origin: On your device. Errors that are often confused with or caused by this one (click to open):
🧠 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.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 12 Oct 2026