Xamarin.Mac – Related Documentation

In addition to the Mac section of Microsoft Learn there are three great sources of documentation that can also be of assistance with Xamarin.Mac questions:

  • Xamarin.iOS documentation - For many APIs (primarily outside of AppKit/UIKit) there are only small differences between the iOS and macOS versions. In some cases where a given iOS API has a name of UIFoo, a similar API named NSFoo can be found on macOS. These examples will be generally in C# already.

  • Apple’s Mac Dev Center - Many times an example of what APIs to call in Objective-C can be converted to C# in a straightforward manner. See Understanding Mac APIs for details on how to do this.

  • Stack Overflow - A great resource for simple one off questions such as "How do I auto expand all nodes in an NSOutlineView". These examples will often be in Objective-C and need to be converted to C#, but there is a subset of answers in C#.

User Interface

When working with C# and .NET in a Xamarin.Mac application, the Developer has access to the same User Interface controls that a developer working in Objective-C and Xcode does. Because Xamarin.Mac integrates directly with Xcode, the developer can use Xcode's Interface Builder to create and maintain an app's User Interfaces (or optionally create them directly in C# code).

The guides listed below give detailed information about working with macOS elements in a Xamarin.Mac application: