Xamarin.iOS 11.9.2 Release Notes

Getting Started | What's New | Known Issues | Blogs | Feedback | Open Source

This version of Xamarin.iOS corresponds to our xcode9.4 (xcode9.4) milestone. This is presently based on our stable d15-6 milestone, i.e. Xamarin.iOS 11.9.x.


  • The latest features and API requires Xcode 9.4 beta 1 and the bundled iOS, tvOS and watchOS SDKs
  • Apple Xcode 9.4 requires a Mac running OSX 10.13.2 (High Sierra) or newer

What's New in this Release

ClassKit API

ClassKit is the major reason for Xcode 9.4 and iOS 11.4. This preview adds complete bindings for the API provided in the ClassKit framework.

In order to develop ClassKit-enabled applications, you'll need extra resources, e.g. Schoolwork, from Apple. You can request access using this form. More information about testing ClassKit-enabled application can be found in the ClassKit documentation.

Building ClassKit-enabled applications also requires enabling a capability and a special entitlement. Our existing (stable) versions of Visual Studio (Windows and Mac) do not support this yet. See the Known Issues section for details and workaround.

For reference you can also look at our C# port of Apple's IncorporatingClassKitIntoAnEducationalApp sample on github.

Support for Xcode 9.4

The SDK tooling has been updated to

  • Support the new OS from simulators: iOS 11.4 and tvOS 11.4
  • Support launching to devices

As usual for beta software please make sure to read the Xcode, operating system (iOS, tvOS, and watchOS) release notes to learn about known issues and workarounds.

Notable Changes

Release History

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

Known Issues

ClassKit Entitlements

ClassKit-enabled applications must be built with a special entitlement. Until the new release of Visual Studio (Windows or Mac) is available you must configure this manually. Complete instructions on how to add this entitlement are available on this GitHub issue.

Using an older Xcode version

Using an older Xcode version (than the one mentioned in the above requirements) is often possible, but some features may not be available. Also, some limitations might require workarounds, e.g.:

  • The static registrar requires Xcode headers files to build applications, leading to MT0091 or MT4109 errors if API is missing. In most cases enabling the managed linker will help (by removing the API).
  • Bitcode builds (for tvOS and watchOS) can fail submission to the App Store unless an Xcode 9.0+ toolchain is used.

API Diff

The following documents contains a complete list of the API changes since our (11.6) stable release:

This is a live document so there's no static list to link to. However, our Jenkins bots produce this information for every commit that is being built. Pick a build based on master and look for the API diff link in the left column.


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:

Continuous Builds

All of our builds are also available for download on Jenkins. Note: these builds come from our build bots and receive no QA testing. Verified builds are periodically made available.

Our Jenkins bots produce the API diff for every commit that is being built.

You can track the latest status of our API work from our wiki.