# Xcode iOS DeviceSupport on Mac: Safe to Delete?

> iOS DeviceSupport holds debug symbols Xcode copies from each iPhone or iPad build you connect. They're not backups; Xcode copies them again when needed.

- Updated: 2026-10-10
- URL: https://fresh.ist/caches/xcode-device-support/

**TL;DR:** Yes. ~/Library/Developer/Xcode/iOS DeviceSupport contains system debug symbols Xcode copies from a connected iPhone or iPad, one folder per device model and iOS build. They're not device backups and hold none of your data. Delete folders for iOS versions you no longer debug; Xcode copies a version again the next time you connect a device running it, which takes a few minutes.

## Facts from the Freshist app

- Category in Clean: Xcode Device Support — "Debug symbols from iPhones/iPads you connected — NOT device backups. Xcode re-downloads them when you plug the device in again."
- Location: `~/Library/Developer/Xcode/iOS DeviceSupport`
- Risk level: Low risk — Rebuilt automatically by macOS or the app that made it. Freshist selects these for you — you still see every item before anything moves.
- Selected by default: yes
- What Freshist does: Moves the selected items to the Trash, so you can undo. Nothing is deleted outright.

## What's in DeviceSupport

When you connect an iPhone or iPad and use it for development, Xcode needs the exact system libraries and symbols of that device's iOS build. It copies them from the device to your Mac once and keeps them under `~/Library/Developer/Xcode/iOS DeviceSupport`. Recent Xcode versions name each folder after the device model, iOS version and build, for example `iPhone14,5 26.7 (23H24)`. Older versions used just the version and build, like `17.5 (21F79)`.

Each folder has a `Symbols` directory that mirrors parts of the device's `/System` and `/usr`. Xcode uses it to:

- Show readable system frames in the debugger while your app runs on the device.
- Symbolicate crash logs from that iOS build, together with your app's dSYM files.

## Why it gets so big

A single folder is large. On the Mac used to check this page, one iPhone build took 5.5 GB. Every iOS update on your phone adds a new folder, and testing on several devices or OS versions multiplies that. Xcode doesn't remove old builds' folders when your phone moves on.

## What happens if you delete it

| Removed | Effect |
| --- | --- |
| Folder for an iOS build still on one of your devices | Xcode copies the symbols again next time you connect that device; expect a few minutes of "Preparing" |
| Folder for an old build no device runs anymore | Gone for good; local crash logs from that build may show unsymbolicated system frames |
| Your apps, projects, archives, dSYMs | Not affected |
| Device backups, photos, data | Not stored here, so not affected |

Some developers on Apple's forums report that a reconnected device occasionally fails to repopulate a deleted folder until Xcode is restarted or the device is unpaired and paired again. Deleting only folders for old builds avoids that.

## Check which iOS builds are stored

```bash
du -sh ~/Library/Developer/Xcode/iOS\ DeviceSupport/*
ls ~/Library/Developer/Xcode/
```

Compare the builds listed with what your devices run now (**Settings → General → About** on the device).

## Clearing it by hand

1. Quit Xcode and disconnect your devices.
2. In Finder, choose **Go → Go to Folder…** and enter `~/Library/Developer/Xcode/iOS DeviceSupport`.
3. Move folders for iOS builds you no longer test on to the Trash. Keep the folder that matches your current device.
4. Empty the Trash once you've reconnected a device and Xcode has finished preparing it.

## Which folders to keep

The folder matching each device you still debug on should stay, as should builds you still get crash reports from if you symbolicate locally. Everything else is safe to let go. Build products live in a different place, covered in the [DerivedData guide](/caches/xcode-derived-data/), and the [developer caches overview](/blog/developer-caches-mac/) shows how Xcode's folders compare with other toolchains.

## Sources

- [Apple Developer: Running your app on simulated or physical devices](https://developer.apple.com/documentation/xcode/running-your-app-in-simulator-or-on-a-device)
- [Apple Developer: Adding identifiable symbol names to a crash report](https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report)
- [Apple Developer Forums: dyld_shared_cache_extract_dylibs failed](https://developer.apple.com/forums/thread/108917)
- [Apple Support: Locate backups of your iPhone or iPad on Mac](https://support.apple.com/en-us/108809)

## Frequently asked questions

### Are these my iPhone backups?

No. iPhone and iPad backups made by Finder live in ~/Library/Application Support/MobileSync/Backup. DeviceSupport only holds system libraries and symbols copied from the device for debugging.

### Why does Xcode say Copying shared cache symbols when I plug in my phone?

That's Xcode filling this folder. The first time you connect a device running a particular iOS build, Xcode copies its system symbols so it can debug and symbolicate on that build. It only happens once per build.

### What about watchOS or visionOS DeviceSupport folders?

Xcode creates sibling folders for other platforms, such as watchOS DeviceSupport, when you debug on those devices. They work the same way, but this guide's catalog entry covers only the iOS folder.

---

Canonical page: https://fresh.ist/caches/xcode-device-support/
Official site: https://fresh.ist/ (fresh.ist only)
Generated: 2026-10-10
