Running older versions of Xcode and Xamarin
I’m inherently optimistic. A new version of the app is available? Install it straight away! And this generally works well, I’m aware of the updates and new features and don’t get left behind.
Except when it doesn’t.
I’d updated to the latest version of Xcode (11.4) and updated Visual Studio for Mac and the corresponding Xamarin.iOS, and … let’s just say it did not go well: This method contains IL not supported when compiled to bitcode is not a message you want to see when you launch your app.
Xcode
To get back to an environment that worked, I first downloaded and installed the previous version of Xcode, 11.3.3 from https://developer.apple.com/download/more/ expanded the downloaded Xcode_11.3.1.xip
and them moved the Xcode.app to my /Applications
folder and renamed it to Xcode11.3.1
.
I used the xcode-select
command line tool to choose this new version of Xcode:
sudo xcode-select --switch /Applications/Xcode11.3.1.app
Xamarin.iOS
I didn’t need to change the version of Visual Studio for Mac that I had installed, but what I did need to do was install an older version of Xamarin.iOS which I found on https://github.com/xamarin/xamarin-macios - I installed Xamarin.iOS d16.4
which corresponds to 13.10.0.21. Once downloaded I ran the package and it installed itself. You can verify the current version from the command line:
ls -l /Library/Frameworks/Xamarin.iOS.framework/Versions/Current
lrwxr-xr-x 1 root wheel 10 Apr 27 07:38 /Library/Frameworks/Xamarin.iOS.framework/Versions/Current -> 13.10.0.21
This is also visible in the About page in Visual Studio.
Visual Studio
Finally in Visual Studio I went to the Visual Studio->Preferences->Projects->SDK Locations
page and clicked the Browse...
button to select my /Applications/Xcode11.3.1.app
Xcode.
Once I’d done all this I am able to build, run and support my customers.