Xcode is Apple's own IDE for creating Mac and iOS apps using Objective-C and Apple's own implementation of the Swift language.

As Elements developer, you interact with Xcode for two things:

  • While building your cocoa projects, the Elements compiler will leverage some of the command line tools provided by Apple as part of Xcode, under the hood.
  • When working with XIB and Storyboard Files, you will use the visual designers inside Xcode, also sometimes referred to as "Interface Builder".

Working with Multiple Versions of Xcode

As an experienced Mac or iOS developer, and in particular at times when there is an ongoing beta for the next release of OS X or iOS, you may find that you want to work with multiple versions of Xcode on the same Mac. For example, you might want to use the shipping version of Xcode for your production app work, and switch to the latest beta of Xcode when playing around with the latest OS.

Xcode provides a built-in mechanism for that by having the concept of an "active" version. You can simply keep multiple copies of Xcode.app on your Mac (either in different folders or by naming them something like Xcode-45.app with an appended version number) and switch which version of Xcode is "selected" and will be seen by CrossBox in two ways:

  • Inside Xcode itself, you can go to the "Preference" window, and in the "Locations" tab you can choose between all the different versions of Xcode found on your system to decide which one is "active" (this is regardless of which version of Xcode you are actually in to change this):

  • Alternatively, you can run sudo xcode-select --switch ''/path/to/Xcode.app'' in Terminal to switch the selected version of Xcode (where you'd replace /path/to/Xcode.app with the actual path to the version of Xcode you want to use).

You can also use xcode-select --print-path in Terminal to find out what version of Xcode is currently selected. CrossBox uses this command line internally, so you can be assured that whatever the output is, it is what CrossBox will see as well.

See Also

Read More

Read more about Xcode at these external links: