Skip to content

.NET release notes Xcode 14.0

Rolf Bjarne Kvinge edited this page Sep 27, 2022 · 3 revisions

We're excited to announce support for Xcode 14 for .NET!

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/.

What's New | Known Issues | Feedback | FAQ

Requirements

It's highly recommended to use Xcode 14.0+ (which requires macOS 12.5 (Monterey)). Earlier versions of Xcode may work, but some features won't be available.

What's New in this Release

This release contains SDKs for the following two platforms: iOS and tvOS, and has support and bindings for the OS versions that were shipped with Xcode 14.0:

  • iOS 16.0
  • tvOS 16.0

Info

Xcode 14.0 does not contain updated native SDKs for macOS or Mac Catalyst, and thus we're not releasing updated packages for those platforms.

Updated packages for macOS and Mac Catalyst will be released once Xcode ships updated native SDKs (at this point it looks like that will be in Xcode 14.1).

Notable Changes

  • Apple has removed support for bitcode, so we won't include bitcode in tvOS app bundles anymore when using Xcode 14+.

Frameworks

The API bindings for the following frameworks have been updated:

Bug fixes

New Features

We haven't focused on any new features for this release, but we've still implemented a few minor ones:

  • Select the registrar using a 'Registrar' property.

    We've had multiple registrars for many years, and in order to change the default registrar it was necessary to modify/add an additional mtouch/mmp argument in the project properties.

    It's now possible to select the registrar using a Registrar property in the project file, for example:

    <PropertyGroup>
        <Registrar Condition="'$(Configuration)' == 'Debug'">static</Registrar>
    </PropertyGroup>

    Ref: https://github.com/xamarin/xamarin-macios/pull/15483.

  • Wrap the call to UIApplicationMain in a @try/@catch handler.

    We're now catching any Objective-C exceptions in the call to the native UIApplicationMain method, and converting any caught Objective-C exception into a managed exception.

    This will make it easier to catch any Objective-C exceptions in the managed Main method, and report those exceptions to a crash reporting service, telemetry, etc.

    Ref: https://github.com/xamarin/xamarin-macios/pull/15746

Performance improvements

While performance has not been our focus for this release either, we've still improved in a few areas:

Nullability additions

We've added nullability information to numerous frameworks:

New Contributors

Full Changelog: https://github.com/xamarin/xamarin-macios/compare/dotnet-6.0.4xx-455...dotnet-6.0.4xx-xcode14-507

Api diff

Breaking Changes

See Breaking Changes

Known Issues

See Known issues in .NET

Feedback

Please file issues here: https://github.com/xamarin/xamarin-macios/issues/new.

Frequently Asked Questions

What will happen with the old-style Xamarin.iOS and Xamarin.Mac products?

We'll continue to ship Xamarin.iOS and Xamarin.Mac separately for a while, but they will eventually be discontinued.

More information will be provided later.

Clone this wiki locally