You may wish to override the default Xcode Active Developer Directory so build tools can target a legacy version or non-default version of Xcode. 


However, Managed server users may not change the default Xcode active developer directory (we use Xcode version 10.3 as an example here) using the "sudo xcode-select --switch /Applications/Xcode10.3.app" command due to lack of administrator access.


To override the default Xcode Active Developer Directory, simply set the environment variable "DEVELOPER_DIR" in the Terminal app to the desirable Xcode version.


Run a different version of Xcode


To properly utilize a different version of Xcode, you need to first set the proper DEVELOPER_DIR environment variable to the matching version, and then run the Xcode version in the Applications folder.


For example, the default Xcode ("Xcode.app") in the Applications folder is version 11.0, and a different version of Xcode 10.13 (Xcode10.13.app) is available. To properly run "Xcode10.13.app", please do the following:


In the Terminal app, run commands:


export DEVELOPER_DIR=/Applications/Xcode10.3.app/Contents/Developer
/Applications/Xcode10.3.app/Contents/MacOS/Xcode


The first line will properly set the DEVELOPER_DIR for Xcode 10.3, and the second line will run Xcode 10.3. For other versions of Xcode, simply replace the version number "10.3" with the desirable version you wish to run.



Change the environment variable


Temporarily set DEVELOPER_DIR to the available alternative Xcode version that is in the Applications folder. Or include the following in your bash profile ~/.bash_profile to overwrite default DEVELOPER_DIR to the desirable Xcode version:


export DEVELOPER_DIR=/Applications/Xcode9.4.1.app/Contents/Developer


Or, pass the variable directly to a build tool:

env DEVELOPER_DIR="/Applications/Xcode9.4.1.app" /usr/bin/xcodebuild

  

This will execute xcodebuild using an alternate developer directory (Xcode 9.4.1), rather than the xcodebuild tool that comes with the default Xcode.