Thanks for this.
One piece of advice, though. If you're mucking around in caches and derived data, it's probably best to have quit Xcode beforehand, not in step 3. Xcode has a habit of recreating things dynamically as it needs them.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags: