Yesterday was remarkably instructive when it comes to how badly App Store can completely mess up a download: particularly for a popular app like Xcode that’s being requested by gazoodles of people at once.
My download got stuck over and over. I had to clear out my app store caches, restart my app store daemons, and reboot my computer several times.
I ended up with a partial install that thought it was done, that installed all the “extra” components on launch, and then turned out to be a 7.2.1 install that was convinced it was 7.3. It was not.
I even cleaned up the whole install process, tossed my mangled 7.2.1, restored a copy from Time Machine (not a quick process), and tried to update again from the store.
I couldn’t use Xcode during this time to get any work done.
I spent roughly 8 hours all told downloading, installing, and updating Xcode, much of which could have been bypassed by following two simple rules:
- Never update Xcode from the Mac App Store
- Wait until Apple posts the upload on developer.apple.com/downloads and then update from there.
When Apple’s servers are overwhelmed they begin delivering artisanal teaspoons of hand-curated data via authentically indigenous pack animals to your computer. Apple has taken its passion for the slow data delivery movement beyond its products and introduced it into its upgrade practices.
As part of their continuing mission to leave the world a better place, Apple delivers beautiful products using the most impact-free transmission. This commitment assures that developers are forced to stop work and smell the roses, as Apple promotes appreciation for our beautiful planet and life outside of the IDE window.
Under such circumstances, you’ll always be better off downloading the bossy full-figured 5GB dmg than upgrading a model-thin Chanel-wearing 2.6GB differential, especially when servers are mocking you with NananaNAN completion estimates.
This is why you should always wait for a DMG. No matter how long it takes to appear on the developer site. No matter how slow the download ends up being. The advantages of downloading a DMG are numerous:
- It does not block you from using Xcode during the entire day or however long it takes for your download to complete.
- It does not hang App Store or produce a situation where it insists on taking over the download (“Apple’s App Store download servers have a cheerful and sunny disposition. It is their pleasure to download for you using the gentle rhythms of tectonic flow and their satisfaction to keep you from getting any work accomplished, with a knowledge of a job well done.”)
- You can see exactly how much data has downloaded in terms of real progress and not imaginary hidden-temporary-file weird pkgs that takes over your /Applications folder and refuse to surrender that spot once active.
- Simple downloads are better for your resting heart rate, your blood pressure, and world peace.
Update: Final lesson. If you have downloaded the dmg directly from Apple and not from a third party source, you can run the following to skip the verification checks:
sudo xattr -d com.apple.quarantine /Applications/Xcode.app
Proceed at your own risk. Make sure you know what you’re doing and accept those risks.