Skip to content
This repository was archived by the owner on Apr 11, 2023. It is now read-only.
This repository was archived by the owner on Apr 11, 2023. It is now read-only.

Multiple Xcode versions on macOS #2

@roblabs

Description

@roblabs

It is most certainly possible to have different versions of Xcode on your macOS development machine.

How To

  • Before you upgrade Xcode using App Store. Be sure to move Xcode 11 to its own folder before upgrading.

    • A great example: in the Xcode 11.7 to Xcode 12 era. If you wanted to keep both versions be sure to save off Xcode 11
  • Download older versions of Xcode: https://developer.apple.com/download/more

  • Example, Make a new directory in /Applications, for example Xcode-10.1

    • Move the file Xcode_10.1.xip to that folder and extract
  • Explicitly set your Xcode path, in case you have a Xcode 10 or 11 or a Beta installed

    • xcode-select -print-path
      • Print or change the path to the active developer directory. This directory
        controls which tools are used for the Xcode command line tools (for example,
        xcodebuild) as well as the BSD development commands (such as cc and make).

    • sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
    • sudo xcode-select --switch /Applications/Xcode-10.1/Xcode.app/Contents/Developer/
      • # Use Xcode 10.1 for upgrading Swift 3 projects
    • sudo xcode-select --switch /Applications/Xcode-11.7/Xcode.app/Contents/Developer/
    • sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer/

multiple-Xcode-versions


XCS

  • For Xcode Servers (XCS), it appears that you can only use one version. In that case you would be best using multiple machines.

multiple-XCS-machines

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationhow-toMore of a how-to rather than an issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions