[META] Xcode 16.0 Support for .NET 8/9 and MAUI
⚠️ Xcode 16 support is now released for .NET 8, please see release notes https://github.com/xamarin/xamarin-macios/releases/tag/dotnet-8.0.1xx-xcode16.0-8303 for installation instructions. This version of the macios workloads will be also included in the next version of Visual Studio 17.11.5.
The current plan is to release Xcode 16 support with .NET 8 soon and with .NET 9 in November (.NET 9 RC 2 will also contain Xcode 16 support).
The current stable version of our workload is not compatible with Xcode 16. We recommend against upgrading until we've released support for Xcode 16.
[!WARNING] Xcode 15.4 does not support macOS 15 (Sequoia). This also means that we don't recommend upgrading your macOS development machines until we've released support for Xcode 16.
You can follow our progress here:
https://github.com/xamarin/xamarin-macios/wiki/xcode16.0-Bindings-Status
Any timeline estimated for Xcode 16.0 Support release ? @dalexsoto @drasticactions
The current plan (which may change at any point) is to do what we did last year: release Xcode 16.0 support with the new .NET version (so with .NET 9 this year).
Does that mean November at the earliest? I made the unfortunate decision to install Sequoia beta and it does not support Xcode 15. So the question is whether I should consider reverting if Xcode 16 support is still a good 3 months away.
Does that mean November at the earliest?
Correct.
- Will Microsoft not release a .NET 8 iOS 18 package?
- Must we upgrade to .NET 9?
- Is there no way to target and consume iOS 18 APIs before November, which is ~2 months after iOS 18 goes live in September?
- Will Microsoft not release a .NET 8 iOS 18 package?
- Must we upgrade to .NET 9?
That's the current plan.
- Is there no way to target and consume iOS 18 APIs before November, which is ~2 months after iOS 18 goes live in September?
We're working on releasing previews before November.
Now that we have reached .NET 9 RC1 along with stable iOS 18, will there be a preview release for this soon?
I currently get this error when try to run my .NET 9 RC1 project in Debug mode on iOS 17 & 18 physical devices on macOS Sequoia with Xcode 16:
Error running 'MyApplication1'
Failed to install application on device Moien’s iPhone: error HE0004: Could not load the framework 'IDEDistribution' (path: /Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution):
dlopen(/Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution, 0x0001): Library not loaded: @rpath/AppThinning.framework/Versions/A/AppThinning
Referenced from: <33FF2F3B-A96F-37B4-BA4E-88D882BF9D> /Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution
Reason: tried: '/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net9.0_17.5/17.5.9270-net9-rc1/tools/lib/mlaunch/mlaunch.app/Contents/Frameworks/AppThinning.framework/Versions/A/AppThinning' (no such file), '/Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/AppThinning.framework/Versions/A/AppThinning' (no such file), '/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net9.0_17.5/17.5.9270-net9-rc1/tools/lib/mlaunch/mlaunch.app/Contents/MonoBundle/AppThinning.framework/Versions/A/AppThinning' (no such file)
Well, I think I updated without notification from macOS. Somehow I had automatic updates enabled, and I did not see this post before applying the update.
I believe I need to rollback the macOS and XCode as well somehow 😢.
Update In case you are on the same situation, I think I can only downgrade my Mac using macOS Recovery or a bootable USB.
@vhugogarcia You can downgrade your xcode version by installing it via the developer portal https://developer.apple.com/download/all/ and finding xcode 15.4 (or any other previous version you want installed). You can have multiple xcode installs at the same time.
I have xcode 16 and 15.4 installed. You will just need to ensure that your pointing to the correct command line tools (15.4) in order to get the app building correctly.
As for the MacOS downgrade I'm not sure the best way to do that. Hope that this helps a little bit!
I have a workaround for the people who have upgraded to MacOS Sequoia. If you download the very first XCode 16 beta which was released on June 10th, it will work with MAUI and .NET 8 (and .NET 9 Preview). I have been using this setup for the past couple of months. Here is the link to download:
https://download.developer.apple.com/Developer_Tools/Xcode_16_beta/Xcode_16_beta.xip
@vhugogarcia You can downgrade your xcode version by installing it via the developer portal https://developer.apple.com/download/all/ and finding xcode 15.4 (or any other previous version you want installed). You can have multiple xcode installs at the same time.
I have xcode 16 and 15.4 installed. You will just need to ensure that your pointing to the correct command line tools (15.4) in order to get the app building correctly.
As for the MacOS downgrade I'm not sure the best way to do that. Hope that this helps a little bit!
Thanks @BrandanN21 for pointing it out. I was able to download the version 15.4 from the developer portal, and I'm able to run XCode in macOS Sequoia using the command line as shown below:
I also checked XCode and I can confirm the command line version is selected correctly:
However, on VS Code, when I try to run the app on the selected simulator I get the following error message:
and if I click no Debug anyway, I get the next error:
However, when I run dotnet workload list I get
The launch.json only has this content:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET MAUI",
"type": "maui",
"request": "launch",
"preLaunchTask": "maui: Build"
}
]
}
Update: I noticed, I replaced XCode 16 with the one I downloaded. Let me install the version XCode 16 from app store and leave the other installed somehow.
Update #2: I installd both versions of XCode and updated the commandlines and confirmed that we are using the right version of XCode by using xcode-select command in terminal, and the issue still persists.
I'm not sure where exactly to look now hehehe! any hint or recommendation?
@rolfbjarne I noticed that you merged this PR which I believe brings support for XCode 16 and macOS Sequoia. https://github.com/xamarin/xamarin-macios/pull/21193
Do you think is there a way you can release maybe a preview of the macios SDK, so we can install it and test it as well? please 🙏🏻
I have a workaround for the people who have upgraded to MacOS Sequoia. If you download the very first XCode 16 beta which was released on June 10th, it will work with MAUI and .NET 8 (and .NET 9 Preview). I have been using this setup for the past couple of months. Here is the link to download:
https://download.developer.apple.com/Developer_Tools/Xcode_16_beta/Xcode_16_beta.xip
@bpmccarty You're a life saver!
I have a workaround for the people who have upgraded to MacOS Sequoia. If you download the very first XCode 16 beta which was released on June 10th, it will work with MAUI and .NET 8 (and .NET 9 Preview). I have been using this setup for the past couple of months. Here is the link to download:
https://download.developer.apple.com/Developer_Tools/Xcode_16_beta/Xcode_16_beta.xip
for me i can see simulators on Windows Visual Studio but its not starting simulator like in a loop "Checking connection to simulator" "Conneting to pc Mac" "Conneted" and loop
Not a great position. Can’t believe you’re recommending not upgrading to macOS 15! MS has known that it would be in this position for best part of 3 months - quite poor.
Hopefully some way of SxS loading Xcode 15.4 will work.
I have a workaround for the people who have upgraded to MacOS Sequoia. If you download the very first XCode 16 beta which was released on June 10th, it will work with MAUI and .NET 8 (and .NET 9 Preview). I have been using this setup for the past couple of months. Here is the link to download:
https://download.developer.apple.com/Developer_Tools/Xcode_16_beta/Xcode_16_beta.xip
I have tried this solution without luck. I have installed Xcode 16 and XCode 16 Beta 1, should I uninstall the final version and just leave the Beta 1?
I keep getting the same error as before:
Not a great position. Can’t believe you’re recommending not upgrading to macOS 15! MS has known that it would be in this position for best part of 3 months - quite poor.
Hopefully some way of SxS loading Xcode 15.4 will work.
As for me it also strange, because demo Flutter app work out the box on new MacOS Sequoia
Same here, accidentally updated to Sequoia and now I'm lost... luckily my Macbook isn't updated yet, so at least I can debug iOS there. Hope to see a solution shortly.
Not a great position. Can’t believe you’re recommending not upgrading to macOS 15! MS has known that it would be in this position for best part of 3 months - quite poor.
Hopefully some way of SxS loading Xcode 15.4 will work.
Exactly. They've had months to prepare, and this feels highly disrespectful to MAUI developers. It's surprising and disappointing to see this level of unprofessionalism from any company, let alone Microsoft.
@rolfbjarne : This is unbelievable. Sequoia has been released, and XCode16 is out, but support for Maui isn't planned until November? Where are the good old days when Xamarin took pride in providing support for new versions the very next day? Where is this headed? Does Microsoft have so little respect for MAUI developers?
Everybody calm down and take a breath -- the solution is pretty simple if you've upgraded early (it's there if you read the comment thread). Apple isn't going to mandate apps built with Xcode16 until next year.
Link to comment with solution: https://github.com/xamarin/xamarin-macios/issues/20802#issuecomment-2356388384
Correct me if I'm wrong here, but if you're a solo dev, with 1 MacBook that has already been upgraded AND you need to release bug fixes for current apps, you can't compile as it stands.
Is it possible now to work on Sequoia (or Mojave) and XCode16 with the .net9 RC, using VSCode?
Everybody calm down and take a breath -- the solution is pretty simple if you've upgraded early (it's there if you read the comment thread). Apple isn't going to mandate apps built with Xcode16 until next year.
Link to comment with solution: #20802 (comment)
@jaysidri The issue does not really belongs to be able to find workaround, just that Microsoft decided on purpose to hold a critical fix for .NET 9. Which by the way, with XCode RC, we knew that it was going to break .NET 8 Build as soon it was going to be released.
Side note: Xcode 15.4 does allow the use of iOS18 simulator for testing (which is great, because there is no hard requirement to go to Xcode 16 yet.)
@vhugogarcia You can downgrade your xcode version by installing it via the developer portal https://developer.apple.com/download/all/ and finding xcode 15.4 (or any other previous version you want installed). You can have multiple xcode installs at the same time. I have xcode 16 and 15.4 installed. You will just need to ensure that your pointing to the correct command line tools (15.4) in order to get the app building correctly. As for the MacOS downgrade I'm not sure the best way to do that. Hope that this helps a little bit!
Thanks @BrandanN21 for pointing it out. I was able to download the version 15.4 from the developer portal, and I'm able to run XCode in macOS Sequoia using the command line as shown below:
I also checked XCode and I can confirm the command line version is selected correctly:
However, on VS Code, when I try to run the app on the selected simulator I get the following error message:
and if I click no Debug anyway, I get the next error:
However, when I run dotnet workload list I get
The launch.json only has this content:
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": ".NET MAUI", "type": "maui", "request": "launch", "preLaunchTask": "maui: Build" } ] }Update: I noticed, I replaced XCode 16 with the one I downloaded. Let me install the version XCode 16 from app store and leave the other installed somehow.
Update #2: I installd both versions of XCode and updated the commandlines and confirmed that we are using the right version of XCode by using xcode-select command in terminal, and the issue still persists.
I'm not sure where exactly to look now hehehe! any hint or recommendation?
It started working for me using this solution. VS Code is not working, I'm not sure why. However, VS 2022 for Mac is able to run after setting the correct command line tools.
@rolfbjarne We're getting app crash issues on iOS 18. How would you recommend I go about debugging on iOS 18 if I can't upgrade to XCode 16?
@lobbo232 I'm using an iOS 18 device from Xcode 15.4 and the current stable (or .NET 9 RC1) versions of .NET. If you cannot debug, then you could use the console to see the device logs and filter to your app to find the crash.
I have macOS Sequoia auto-upgraded and also Xcode to the latest 16. Now, the Xamarin studio does not show an iOS simulator to run & debug the app. It says "Lower the Deployment Target to see older simulators.."
Also, while running the app on the real device (iPhone-iOS-18) at Release mode - it gives an error Could not load the framework 'IDEDistribution' (path: /Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution): dlopen(/Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution, 0x0001): Library not loaded: @rpath/AppThinning.framework/Versions/A/AppThinning Referenced from: <33FF2F3B-A96F-37B4-BA4E-887BD882BF9D> /Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution Reason: tried: '/Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.23/lib/mlaunch/mlaunch.app/Contents/Frameworks/AppThinning.framework/Versions/A/AppThinning' (no such file), '/Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/Frameworks/AppThinning.framework/Versions/A/AppThinning' (no such file), '/Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.23/lib/mlaunch/mlaunch.app/Contents/Frameworks/AppThinning.framework/Versions/A/AppThinning' (no such file), '/Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/Frameworks/AppThinning.framework/Versions/A/AppThinning' (no such file), '/Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.23/lib/mlaunch/mlaunch.app/Contents/MonoBundle/AppThinning.framework/Versions/A/AppThinning' (no such file)
Additionally, I downgraded the Xcode to 15.4 but now it is not allowing to run Xcode on the latest MacOS Sequoia. It says - Sequoia needs Xcode 16 to run.
I am badly stuck now.
For me, downloading xcode beta did work. I am running the latest Sequoia Mac release, with the full xcode 16 in parallel. Here are the steps to get and use the older beta version to get through this for now:
- Log into your Apple Developer Account
- go here https://developer.apple.com/download/all/
- search for xcode beta 1, June 10th 2024 and download that
- extract the xip file
- move the Xcode beta app to a temp/dev folder (so you can delete it easily down the road)
- once you run xcode beta, make sure you also download the beta simulator (it will not work with the full ios18 simulator)
- change your Xcode path in your Editor to point to this new location of xcode beta (by default it will point to your full xcode 16 if you did the upgrade)
that should be it.


and if I click no Debug anyway, I get the next error: 
