Skip to content

.NET 8.0.1xxx - Xcode 16.0 Support (8303)

Latest
Compare
Choose a tag to compare
@rolfbjarne rolfbjarne released this 26 Sep 23:12
· 34 commits to main since this release
a8d7eab

🚨 Xcode 16.0 is required with this release. Xcode 16 requires macOS 14.5+ or 15.0+.

This is a servicing release to the previous .NET 8 release, with support for Xcode 16 and macOS 15.0 (Sequoia).

Note: these are the base SDKs that add support for the platforms in question, for MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.

Versions

This release consists of the following versions:

Installation

You can use workload set version 8.0.402.1 in order to install the 18.0.8303 version of the iOS SDK, please make sure to be using the latest .NET SDK 8.0.402+ before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 8.0.402 or above but below 9.0 before proceeding.

⚠️ Xcode 16 support for .NET 9 will be available on Release Candidate 2

dotnet workload install <workload id(s)> --version 8.0.402.1

Available workload ids

Example command installing all listed workloads.

dotnet workload install ios tvos macos maccatalyst maui android --version 8.0.402.1

You can use dotnet workload --info to validate the workload versions installed in your system.

If you need to downgrade to the previous version of the workloads for any reason, this command will do it:

dotnet workload install <workload id(s)> --version 8.0.402

Full release notes: https://github.com/xamarin/xamarin-macios/wiki/.NET-8-release-notes

Known issues

VSCode on macOS 15.0 (Sequoia)

VSCode currently has some incompatibilities on macOS 15.0 (Sequoia). Full details (with workarounds) can be found here: microsoft/vscode-dotnettools#1449

The native strip tool might crash (and exit with exit code 139)

This is a bug in the native strip tool (shipped by Apple with Xcode).

The simplest workaround is to disable stripping by adding the following to your csproj (the downside is that the app size will increase somewhat):

<PropertyGroup>
    <NoSymbolStrip Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">True</NoSymbolStrip>
</PropertyGroup>

For more information: #19157

App submission denied because app references the BrowserEngineKit framework

The workaround is to add the following to the project file:

<Target Name="DoNotLinkWithBrowserEngineKit" AfterTargets="_ComputeLinkNativeExecutableInputs">
	<ItemGroup>
		<_NativeExecutableFrameworks Remove="BrowserEngineKit" />
	</ItemGroup>
</Target>

For more information: #21324

What's Changed

Full Changelog: dotnet-8.0.1xx-xcode15.4-8030...dotnet-8.0.1xx-xcode16.0-8303