iOS development storage guide

Clean simulators and DeviceSupport by type, not by folder size.

Simulator devices, simulator runtimes, app data inside those devices, and physical-device support files are related to Xcode—but they are not interchangeable cleanup targets.

DeviceA simulated iPhone, iPad, or other device with its own state and app data.
RuntimeThe platform OS components required to boot compatible simulator devices.
DeviceSupportSymbols and support data used with physical Apple devices.

Simulator devices

A simulator device records settings, installed apps, test data, keychains, and other state for a particular device/runtime combination. Deleting it removes that local test environment. An “unavailable” device references a runtime Xcode can no longer use; it is usually a stronger cleanup candidate than a bootable device used by current tests.

Simulator runtimes

Runtimes are additional Xcode platform components and can be much larger than individual device records. Apple provides Xcode settings and command-line tools to download and manage platform components. Removing a runtime makes every dependent simulator device unavailable until that runtime is installed again.

Physical-device support

DeviceSupport is not a simulator. Xcode uses version-specific support files and symbols when connecting to and debugging physical devices. Old versions may be candidates when you no longer work with those OS versions, but removal can force later regeneration or download and can interrupt debugging older hardware.

Keep categories separate: “old iOS data” is not a sufficiently precise deletion rule. Confirm whether the item is a device, runtime, app data, or physical-device support before acting.

A safe review sequence

  1. Quit Simulator and stop active Xcode test sessions.
  2. List simulator devices with their runtime availability.
  3. Prefer devices marked unavailable when their runtime is intentionally gone.
  4. Review runtime removal in Xcode’s platform-component management.
  5. Match DeviceSupport versions against physical devices you still debug.
  6. Preserve test fixtures or local data you cannot recreate.

SpaceLint separates unavailable simulator devices from DeviceSupport and other Xcode data. It uses tool-aware deletion where supported and leaves protected or ambiguous platform data display-only.

Official references

See each Xcode storage type separately.

SpaceLint reports simulator availability, DeviceSupport versions, impact, and protection status before cleanup.