An .xcarchive is the bundle Xcode produces when you run `xcodebuild archive` or hit Product > Archive in the IDE. It is the intermediate stop between build and distributable IPA, and Xcode keeps every archive in the Organizer so you can re-export the same build later for a different distribution method without rebuilding.
What's inside
- `Products/Applications/MyApp.app` — the signed app bundle.
- `dSYMs/MyApp.app.dSYM` — symbol files for crash symbolication, one per binary.
- `Info.plist` — archive metadata, including the scheme and SDK that built it.
- `SCMBlueprint/*` — source-control fingerprints (commit, branch).
How you turn it into an IPA
xcodebuild -exportArchive \ -archivePath build/MyApp.xcarchive \ -exportPath build/export \ -exportOptionsPlist ExportOptions.plist
Why archives are worth keeping
- You can re-export the same archive for App Store, Ad Hoc, Developer ID, or Enterprise distribution by changing only `ExportOptions.plist`.
- Symbolicated crash reports for production builds require the dSYMs from the matching archive.
- App thinning, bitcode replacements (legacy), and on-demand resources can be regenerated from the archive without rebuilding source.