Xcode Version For Catalina

We would like to inform all developers building for Apple devices that macOS Catalina (10.15.4) is now available as a CI/CD environment on Semaphore. The following versions of Xcode are pre-installed: You can select the new macOS image in the Workflow Builder: Defining a macOS agent in Workflow Builder And here’s an example how you Xcode 11.5 Is Now Available in macOS Catalina Image Read. Hi, I am running Xcode 12.4 on Catalina 10.15.7. The app seems to be working well, quite smooth i must say. The problem i'm facing is that when i downloaded and installed additional simulators for iOS versions below 14 (which is the officially supported version in Xcode 12.4) e.g. I want to update my xcode but it says its up to date on the app store, is this because xcode 12 does not work for catalina? Do I have to update to big sur to get xcode 12? Edit: the problem was my os version I updated from catalina 15 to 15.7 and now I can use xcode 12. To develop Flutter apps for iOS, you need a Mac with Xcode installed. Install the latest stable version of Xcode (using web download or the Mac App Store). Configure the Xcode command-line tools to use the newly-installed version of Xcode by running the following from the command line. Mac users with macOS Mojave and macOS Catalina, and new operating systems in place can now install Command Line Tools from the Xcode IDE without needing to install the entire Xcode package, or opening an Apple developers account.

  1. Xcode Version For Catalina Update
  2. Xcode Version For Catalina 10
  3. Older Version Of Xcode For Catalina

In the last post, I was finally back up and running with my IDE after an update to Serenata. Or maybe not...

Turns out, another update broke something. MacOS Catalina was released recently and introduced a new version of PHP (7.3.8 in my case). This change means XDebug is now referencing outdated Zend API, which throws an error when running pretty much anything. Oops, beause no XDebug egals no PHPUnit code coverage report.

On MacOS Mojave, getting XDebug was a matter of installing Pear, setting up some Xcode SDK Headers file, installing XDebug from source using Pear and enabling XDebug in PHP configuration files. Sounds easy, should be the same for Catalina...

Spoiler alert, Xcode 11 comes with a massive breaking change.

An alternative installation method is to use homebrew to install PHP, Pecl and XDebug. I didn't test this method, as I prefer the long method which was simple to setup on Mojave. Plus, solving this issue might prove useful for other situations.

Installing XDebug

Assuming Pear, Autoconf, and Xcode is installed on your computer, installing XDebug should be easy as :

But now, I'm getting the following error. This is because the compiler requires some header files, which are provided by the MacOS SDK bundled with Xcode. Not a surprise, as it was the same error with previous version of MacOS, aka Mojave :

The Mojave Solution

On Mojave, the following step was necessary to install the missing header files. Don't actually run this command on Catalina, as it will fail.

The problem is the SDK headers package was removed starting with Xcode 11.0. And we can't just change 10.14 to 10.15 to make it work...

The Catalina Issue

After a lot of digging, I've found the actual files are actually stored somewhere :

And if you look closely,

See the error returned by phpize claiming /usr/include/php/main/php.h doesn't exist? Turns out, /usr/includedoesn't actually exist on my system:

If you try to symlink one into the other, even using sudo, that won't work, thanks to SIP :

The reason is Apple has deprecated having a /usr/include distinct from the SDK. This has been completely removed in Catalina so different SDK and Xcode version could be run together.

So now the issue is, in order to compile XDebug, we need to either tell the compiler to use the headers from a different location, or actually put the required files in /usr/include...

Until this issue is resolved, either on Apple side or XDebug side, not much can be done other than use a VM to run tests locally...

References for later

Xcode is the tool developers use to build apps for the Apple ecosystem – MacOS, iOS, and all things Apple.

This guide will walk you through how to successfully install Xcode onto your Mac, from start to finish.

Here are some handy tips to know before you get started:

  • Xcode only runs on a mac. If you are on a PC, sadly you won't be able to use Xcode.
  • You'll need a good, stable internet connection. The latest version is around 8 gigabytes in size.
  • Be sure to have at least 30 gigabytes of free space on your computer. The latest .xip file (v11.4.1 at the time of writing) is ~8 gigabytes zipped. When you unzip it, that's another 17 gigabytes. Then you'll need the command line tool, which is yet another 1.5 gigabytes.

Here's an overview of the steps to install Xcode

  1. Download Xcode
  2. Install the command line tool
  3. Open the new version
  4. Delete files

Note that I have listed some Terminal commands in the steps below. These commands can be typed into your present working directory. This means that you don't need to navigate to any particular folder.

If you really want to, you can first type cd before typing the commands in the below steps. This will return you back to the home folder.

Step #1: Download Xcode

There are two ways to do this. For the latest version and a theoretically 'easy' installation, you can use the App Store. I don't recommend this option.

I prefer to use the developer site. This comes with the bonus option of being able to download any version you'd like.

Option #1: Download via the App Store for the latest version (not my preferred option)

In theory, this should be a seamless and pain-free process. But if the installation fails for any reason on the last step, it is very hard to troubleshoot.

There are a few reasons for failure, and no easy way to know which is the underlying cause. If you do encounter a failure, you will need to re-download the entire file again each time you try to fix the failure. As the latest version is 8 gigabytes, I didn't much enjoy this approach.

But if you're feeling brave, here are the steps:

How to update xcode catalina
  • Open the App Store on your mac
  • Sign in
  • Search for Xcode
  • Click install or update

Option 2: Download via the Developer site for a specific version (my preferred option)

  1. Head to the 'more' section of the Apple developer website
  2. Sign in with your iTunes account id
  3. Type in the version that you'd like, and download the Xcode_x_x_x.xip file. Keep in mind that Xcode 11.4.1 is 8 gigabytes, so this will take awhile depending on your internet connection.
  4. Once the file is downloaded, click on .xip to extract it. Your laptop will extract it to the same folder you downloaded it to. This extraction process is automatic. You don't need to do anything more after you click on the .xip file. This step will take a few minutes.
  5. [Optional] Once extracted, rename the application to “Xcode11.x.x” if you are using multiple versions.
  6. Drag application to the Applications folder
  7. [Optional] Set the new Xcode version as the default. Open Terminal and type sudo xcode-select -switch /Applications/Xcodex.x.x.app . Replace x.x.x with the version number. For example: Xcode11.4.1.app. You will need to enter in your computer admin password. I'm pretty sure this will update the default Xcode version for all users on your computer, so best to check with other users first

Step #2: Install the command line tool (CLT)

If you have multiple users on your computer, you will need to update the CLT for each user.

Update

Download .dmg

To update the CLT, go to app developer website and download the command line tool .dmg.

If you have never installed Xcode before, you may be able to update with your Terminal by typing in xcode-select --install instead of visiting the developer website.

But if you have an existing version of Xcode installed on your machine, you'll probably see this error:

This means you'll need to go to the developer website instead.

Installing the CLT

When the .dmg has finished downloaded, double click the file to open it. This will open a little window that looks like this:

Double click the box and follow the prompts to install the CLT. It will take a few minutes to complete.

Xcode Version For Catalina Update

It may ask you at the end of the installation whether you want to move this to the trash bin. When it does this, it's talking about moving the .dmg file to the trash bin. Since you should no longer need this file. I always say yes to this.

Step #3: Open Xcode

Open the Applications folder and open the new version of Xcode. If you renamed Xcode, make sure you open the correct application

Xcode may prompt you to install additional components. Click install. This will take a few minutes.

While it's installing, check that your default Xcode version is the one you just downloaded:

  • Open Terminal
  • Type brew config
  • You should see “CLT” and “Xcode” versions, as well as everything else. This should reflect the version that you have just downloaded. In my case, I downloaded Xcode 11.4.1.

Xcode Version For Catalina 10

Once the components are installed, Xcode will launch. You should be able to pick up your old projects and continue where you left off seamlessly*.

*Note that if you use any proxy tools, such as Charles, you will need to re-install those certificates in your simulator again.

If you encounter any errors while trying to build or run a project, check which device you are trying to launch. The new version may not remember the device you were using before. If so, click on the device and choose 'Add additional simulators' from the drop down menu to add the device you want.

Step #4. Delete the files

If you don't need the older versions of Xcode on your computer, you can uninstall them and get some hard drive space back.

You can also delete the .xip file of the version you just downloaded, as well as the CLT.dmg file.

Older Version Of Xcode For Catalina

That's everything. I hope this has helped you successfully install Xcode. Have fun with it!