Xamarin.iOS 12.16 Release Notes

System Requirements | What's New | Known Issues | Blogs | Open Source

To see installation instructions for both Visual Studio for Mac and Visual Studio 2019, please visit https://releases.xamarin.com/


  • The latest features and APIs requires Xcode 10.2 (or 10.3) and the bundled iOS, tvOS and watchOS SDKs
  • Apple Xcode 10.2/10.3 requires a Mac running macOS 10.14.3 (Mojave) or newer

What's New in this Release

Release History

This version of Xamarin.iOS corresponds to our 16.3 (d16-3) milestone.

  • September 12, 2019 - Xamarin.iOS
  • September 3, 2019 - Xamarin.iOS
  • August 12, 2019 - Xamarin.iOS
  • July 23, 2019 - Xamarin.iOS

You can learn more about how we ship our releases in the Visual Studio 2019 Release Rhythm document.

September 12, 2019 - Xamarin.iOS

This version is included in Visual Studio for Mac 8.3 preview 4.


  • 6927 - Support notarization of Xamarin.iOS package.

September 3, 2019 - Xamarin.iOS

This version is included in Visual Studio for Mac 8.3 preview 3.


  • 6742 - [linker] Always preserve INativeObject (interface) on types Recent versions of the linker can remove unused interfaces from types. This optimization is only done when the type is not instantiated. However our tools and runtime requires knowing if a type represent a native object, using INativeObject even if the code that creates such instance is not marked.

August 12, 2019 - Xamarin.iOS

This version is included in Visual Studio for Mac 8.3 preview 2.


  • 6195 - [CFNetwork] Expose methods that were ignored until the dependencies were present


  • 6654 - [AddressBook] Make ABRecord non-abstract

July 23, 2019 - Xamarin.iOS

This version is included in Visual Studio for Mac 8.3 preview 1.


  • 6477 - [httpclient] Change NSUrlSessionHandler and CFNetworkHandler to throw HttpRequestException. Fix #6439
  • 6458 - [msbuild] $(ProduceReferenceAssembly) support
  • 6416 - [uikit] Add some advice to UISearchController's constructors Community Contribution ❤️
  • 5965 - [mtouch] Support and use the partial static registrar when using the dynamic registrar on device.
  • 6005 - [runtime] Implement support for an arm64 dynamic registrar.
  • 6003 - [generator] Show proper errors when failing to compile
  • 6059 - [foundation] Expose AllowsCellularAccess on NSUrlSessionHandler
  • 6098 - [msbuild] Add non-UI version of com.apple.AudioUnit-UI in lists
  • 6394 - Add a new feature flag that indicates stable support for the Concurrent GC. Partial fix of #5909.


  • 6514 - [registar] Search the entire interface hierarchy for protocols. Fixes #6493.
  • 5989 - [runtime] Fix crash in the x86_64 dynamic registrar.
  • 5986 - [registrar] Fix marshalling of structs with a single member.
  • 6090 - [CFUrl] Fix leaks of CFUrl instances.
  • 6096 - [mac] Add NSSegmentedCell.SetTooltip NullAllowed
  • 6091 - [CoreFoundation] Fix ownership of objects returned from CFHTTPMessageCreate* P/Invokes.
  • 6107 - [mmp] Ignore, by default, frameworks that cause rejection from App Store. Fix #6039.
  • 6135 - [generator] Fix generation of ReturnRelease code for third-party bindings.
  • 6147 - [Metal] Obsolete and fix MTLDevice.CreateBufferNoCopy.
  • 6159 - [Metal] Sprinkle [return: Release] on all 'new*' selectors. Fixes #5941.
  • 6171 - [generator] Forward more [return: Release] attributes to generated code.
  • 6230 - [foundation] Fix NSCopying.Copy - the biggest offender of not releasing its return value
  • 6519 - [Generator] NSValueReturnMap is registering CATransform3D on HaveCoreMedia instead of HaveCoreAnimation.

Known Issues

Using an older Xcode version

Using an older Xcode version (than the one mentioned in the above requirements) is often possible. For more information see the following documentation.

API Diff

The following documents contains a complete list of the API changes since the Xamarin.iOS 12.14 stable release:

Integrated Mono Features/Fixes

Xamarin.iOS uses a customized runtime and base class libraries (BCL) from Mono 6.4 Commit 6434153

Feedback welcome

Your feedback is important to us. If there are any problems with this release, check the Xamarin.iOS Forums and Xamarin Mac/iOS Github Repository for existing issues. If you do not find any matching issue, please feel free to start a new discussion and report an issue.

Open Source

Xamarin.iOS is based on the following open-source repositories:


A big Thank You! to external contributors who made improvements in this release: