-
Notifications
You must be signed in to change notification settings - Fork 517
.NET 7 release notes
Warning This document is still work-in-progress/incomplete.
We're excited to announce our .NET 7 SDK release!
Note: these are the base SDKs that add support for the platforms in question, if you are looking for .NET MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.
Getting Started | What's New | Known Issues | Feedback | FAQ
It's highly recommended to use Xcode 14.0+ (which requires macOS 12.4 (Monterey)). Earlier versions of Xcode may work, but some featuers won't be available.
With the release the minimum supported OS versions can be targeted for apps:
- iOS: 10.0
- macOS: 10.14
- tvOS: 10.0
- Mac Catalyst: 13.1
In contrast to how Xamarin.iOS and Xamarin.Mac were shipped (as installable *.pkg
files), our .NET SDKs are shipped as workloads in the .NET world. This means that the first step is to getting started is to install .NET 7.0.100 (or later).
Then install the workload corresponding with the desired platform:
$ dotnet workload install ios # other workloads: macos, tvos, and maccatalyst
Create new app from a template with:
$ dotnet new ios # 'dotnet new --list --tag Mobile' will show all available templates
Finally build and run the new app in the simulator
$ dotnet run
This release contains SDKs for the following four platforms: iOS, tvOS, Mac Catalyst and macOS, and has support and bindings for the OS versions that were shipped with Xcode 14.0:
- iOS 16.0
- macOS 13.0
- tvOS 16.0
- Mac Catalyst 16.0
- Entitlements.plist is automatically picked up and used for entitlements.
If the root directory of the project file contains an Entitlements.plist
file, we'll automatically pick it up and use it for entitlements when signing the app (previously the CodesignEntitlements
property would have to be set in the project file).
In the case this is not desired, it's possible to get the old behavior back by setting the EnableDefaultCodesignEntitlements
property to false in the project file:
<PropertyGroup>
<EnableDefaultCodesignEntitlements>false</EnableDefaultCodesignEntitlements>
</EnableDefaultCodesignEntitlements>
Ref: https://github.com/xamarin/xamarin-macios/pull/15729
We've made release builds (builds where Configuration=Release
) default to be universal, so that release builds won't have to be translated by Rosetta on ARM64 macOS devices.
If this is not desired, it can be overridden in the project file by doing something like this:
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<RuntimeIdentifier>maccatalyst-x64</RuntimeIdentifier>
</PropertyGroup>
Ref: https://github.com/xamarin/xamarin-macios/issues/15620
File issues here: https://github.com/xamarin/xamarin-macios/issues/new.
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status
- xcode16.1 Binding Status
- xcode16.2 Binding Status