Running Two or More Versions of Xcode for Stable/Beta iPhone Development

This is a simple but useful tip for people like myself who want to stay up to date with the latest beta releases of the iPhone SDK, but who also rely on having a stable version of the SDK installed for things like deploying to the App Store, reproducing bugs from in-the-wild, or client work that doesn’t take advantage of any new SDK features.

The first time I grabbed a beta version of the SDK, all I did was hit the install button and let it do its thing. However, if you don’t change any of the default install settings, you’ll quickly find that the beta SDK has been installed straight over the top of your stable version of the SDK.

The solution is to install two copies of Xcode and the SDK; the stable version goes in /Developer, and the beta version goes in /Developer-Beta.

If you’ve already installed a beta version of the SDK in /Developer, you’ll need to remove it. To do this, you should run the following from the command line:

$ sudo /Developer/Library/uninstall-devtools --mode=all

You can then proceed to install the stable SDK in /Developer and the beta in /Developer Beta. If you ever need to blow away your beta copy of Xcode and the SDK, you should run the same command as above but from the beta directory instead:

$ sudo /Developer Beta/Library/uninstall-devtools --mode=all

Finally, to launch Xcode with the stable SDK you run /Developer/Applications/Xcode.app and to launch Xcode with the beta SDK, run /Developer-Beta/Applications/Xcode.app.