Swift Tricks

My own, mostly internal blog of Swift tips and tricks

Install previous macOS versions for development

Download macOS installer

It turns out you can still download macOS versions from the App Store, using direct links, even though it's not visible in the Purchased section any more (probably requires previous purchase, but not sure). Here are the links to a few recent versions:
  • Mac OS X El Capitan 10.11 here
  • macOS Sierra 10.12 here
  • macOS High Sierra 10.13 here


Be aware of the following:
  • On newer macOS versions the download occurs in the Settings app
  • Only the last few versions can be downloaded on any given system. For example, to download 10.11, you may have to install 10.13, and go to the App Store from 10.13.
  • You must have already purchased this macOS version in the past with your Apple ID. You might have to access the links directly (see above) or you may be able to download it from your Purchased tab (depending on the macOS version).

Install as a Parallels VM

Although you obviously won't be able to run the installer from a newer macOS, you can create a virtual machine easily as Parallels will offer to install the OS for you. Just choose "Install Windows or another OS from a DVD or image file" and then select the installation image. Parallels will then prompt you to create a bootable disk image file (*.hdd format).

Install on other VMs or hardware

You can follow Apple's directions to create an external USB or DMG bootable installer. Basically you have to run a single commend with createinstallmedia; for example with El Capitan:

sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app

Alternatively if you have Parallels and already created the bootable disk as above, you can convert this into a DMG file like so:

  • Right click the bootable disk image file (*.hdd) file that Parallels created for you (see above)
  • Choose "Show package contents..."
  • Copy the "*.hdd.hds" file to a different location
  • Rename it to *.dmg