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.