"Copying shared cache symbols": why Xcode makes you wait, and where those gigabytes go afterwards
Xcode copies debug symbols from every device and iOS version you connect, and never removes them. What the wait is, where it lands, and what to delete.
You plug in an iPhone to run a build and Xcode shows Copying shared cache symbols from your iPhone with a percentage that moves slowly. It is not stuck. Xcode is copying the debug symbols for every system framework on that device, so that crashes and the debugger can show real function names instead of addresses.
Why it takes so long
The symbols cover the whole of iOS for that version and that device's chip. That is a large amount of data over a USB or wireless connection, and it happens again for every new iOS version, including point releases. Updating your phone means waiting again.
- Use a cable rather than a wireless connection for the first connection after an update. It is much faster.
- Leave it to finish. Cancelling just means it starts again next time.
- If it really is frozen at 0% for many minutes, unplug, restart the phone, and reconnect.
Where the symbols land
du -sh ~/Library/Developer/Xcode/*DeviceSupport/* 2>/dev/null | sort -hEach folder is named after an iOS version and build, for example 17.4.1 (21E236). There is one per version per device type, and Xcode never removes old ones. A developer who has tested across a few years of iOS releases can have dozens. There are matching folders for watchOS, tvOS and visionOS if you develop for them.
What is safe to delete
| Folder | Delete it? |
|---|---|
| iOS versions no device of yours runs any more | Yes. Nothing uses them |
| The version on the phone you test with today | Keep it, or you will wait again |
| A version you need for reading old crash reports | Keep it until you are done with those reports |
Deleting one only costs a re-copy the next time a device with that version connects. Move them to the Trash from Finder, or:
open ~/Library/Developer/Xcode/"iOS DeviceSupport"Device support usually sits next to Xcode's other large folders. Our guides to DerivedData and archives and device support cover the rest of ~/Library/Developer.
Common questions
What does Copying shared cache symbols mean in Xcode?
Xcode is copying debug symbols for the system frameworks on your connected device, so the debugger and crash logs can show function names. It happens once per iOS version per device type.
Is it safe to delete iOS DeviceSupport folders?
Yes for iOS versions you no longer test on. Xcode copies the symbols again if a device with that version connects later.
Why does Xcode copy symbols again after an iOS update?
Each iOS version, including point releases, has its own system frameworks and so its own symbols. The folder for the old version stays behind until you remove it.