Reclaim disk space by deleting old iOS simulators and Device Support files
Published on: May 24, 2020After using a MacBook that runs Xcode for a few years it's likely that your disk space is starting to fill up good. A large part of this disk space can be occupied by Device Support files that are used by Xcode for older iOS versions, or by iOS simulators that are no longer available on your machine.
To clean these files up you can do the following:
- Go to your Terminal and type
open ~/Library/Developer/Xcode/iOS\ DeviceSupport
- Delete folders for iOS versions that you no longer need to support.
- Do the same with
open ~/Library/Developer/Xcode/watchOS\ DeviceSupport
- Clean up unavailable simulators using by typing
xcrun simctl delete unavailable
in your Terminal
When I ran these commands on a machine that got a clean install when macOS Catalina came out I was able to free up 15Gb of disk space. So that's 15Gb of space after about 8 months of use. Pretty good, right?
Xcode 12 automatically helps cleaning up Device Support files
A very cool feature of Xcode 12 is that Xcode will track the device / iOS version combinations that you use and update the mtime
for each item in the Device Support directory accordingly. Any Device Support files that haven't been used for 180 days or more are automatically made elligible for deletion by the system.
This means that macOS can automatically clean up old Device Support files after they haven't been used for 180 days. The system has full control over when exactly this cleanup takes place and the exact cleanup times are dependent on variables like system activity, available disk space, whether you're connected to power and more.
I think it's really cool that Xcode and macOS can now actively help you reclaim disk space by removing unused Device Support files. Of course, if you need space now you'll still need to go in and manually delete Device Support files that you no longer need but this feature should certainly put a cap on the number of old Device Support files that are kept around.
(Thanks to Olivier Halligon for telling me about this feature. And also thanks to Russ Bishop for telling Olivier about this.)