Advanced topics

Deep dive + specialized guides

PDF for offline use

Let us know how you feel about this

Translation Quality


This guide links to documents describing advanced topics related to Xamarin.Mac development.

Mac-specific guides

Check out these Xamarin.Mac-specific guides on Assemblies, Frameworks, Internals, and Debugging a Native Crash.

Binding Objective-C libraries for Mac

Learn how to bind Objective-C Mac libraries for use in Xamarin.Mac projects. Refer to the Troubleshooting page to resolve any issues.

Unified API

Introduces the new Unified APIs which allow for simpler code sharing between Mac and iOS codebases as well as introducing support for 64-bit APIs and 64-bit compilation.

API design

Explains the design principles behind the API Binding.


List of the assemblies supported by Xamarin for your Xamarin.Mac applications.

Target frameworks

This article covers the types of Target Frameworks (Base Class Libraries) that are available in Xamarin.Mac and the implications of selecting a specific target for your Xamarin.Mac application.

Binding Objective-C libraries

When working on iOS, you might encounter cases where you want to consume a third-party Objective-C library. In those situations, you can use Xamarin.iOS's Binding Projects to create a C# binding to the native Objective-C libraries. The project uses the same tools that we use to bring the iOS APIs to C#. This document describes how to bind Objective-C APIs.


More on the event pattern.


This section illustrates pitfalls and limitations to be aware of with regards Xamarin.iOS, many of which are applicable to Xamarin.Mac.


Explains how the linker works to ensure the smallest possible application package, as well as how to modify its settings and usage.

Localization and internationalization

This guide covers the addition of encodings to a Xamarin.iOS application to support internationalization.


Notes and information on mtouch.exe, the command line tool that builds your project into an application usable by iOS.

Linking native libraries

Xamarin.iOS supports linking with both native C libraries and Objective-C libraries. This document discusses how to link your native C libraries with your Xamarin.iOS project. For information on doing the same for Objective-C libraries, see the Binding Objective-C Types document.

Objective-C selectors

Notes and usage for calling Objective-C Selectors (methods) directly.


Information and instructions on switching to preview channels to get pre-release beta and alpha builds of upcoming releases.


Information and instructions on using System.Data to access the built-in SQLite Database system.


Notes on using threading within Xamarin.iOS applications.

xib code generation

How Visual Studio for Mac integrates with Xcode's Interface Builder to allow you to use Interface Builder to design UI.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.