Skip to content
Essential cross platform APIs for your mobile apps.
Branch: master
Clone or download
Latest commit d0e6a1f Mar 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets New Icons! (#218) Apr 27, 2018
DeviceTests [WIP] Xamarin.Essentials 1.1.0 (#663) Mar 15, 2019
Samples [WIP] Xamarin.Essentials 1.1.0 (#663) Mar 15, 2019
Tests [WIP] Xamarin.Essentials 1.1.0 (#663) Mar 15, 2019
Xamarin.Essentials [WIP] Xamarin.Essentials 1.1.0 (#663) Mar 15, 2019
docs [WIP] Xamarin.Essentials 1.1.0 (#663) Mar 15, 2019
.gitattributes [WIP] Xamarin.Essentials 1.1.0 (#663) Mar 15, 2019
.gitignore Initialize open publishing repository:… Apr 10, 2018
.openpublishing.publish.config.json Initial attempt at contribution, submission docs, and templates Feb 23, 2018 Update (#692) Jan 28, 2019
CodeStyles.targets Rebranding to Xamarin.Essentials (#152) Apr 6, 2018
LICENSE Rebranding to Xamarin.Essentials (#152) Apr 6, 2018
LICENSE-CODE Initialize open publishing repository:… Apr 10, 2018
ThirdPartyNotices Initialize open publishing repository:… Apr 10, 2018
azure-pipelines.yml Update azure-pipelines.yml Mar 15, 2019
build.ps1 Integrate sourcelink - (#260) Aug 24, 2018


Xamarin.Essentials gives developers essential cross-platform APIs for their mobile applications.

iOS, Android, and UWP offer unique operating system and platform APIs that developers have access to, all in C# leveraging Xamarin. It is great that developers have 100% API access in C# with Xamarin, but these APIs are different per platform. This means developers have to learn three different APIs to access platform-specific features. With Xamarin.Essentials, developers have a single cross-platform API that works with any iOS, Android, or UWP application that can be accessed from shared code no matter how the user interface is created.

Gitter chat

Build Status

Build Server Type Platform Status
VSTS Build Windows VSTS Build Status
Jenkins Device Tests macOS Build Status
App Center Sample App Android Build status
App Center Sample App iOS Build status

Sample App

Try out Xamarin.Essentials on your device!


Xamarin.Essentials is available via:

  • NuGet Official Releases: NuGet

Please read our Getting Started with Xamarin.Essentials guide for full setup instructions.


Browse our full documentation for Xamarin.Essentials, including feature guides, on how to use each feature.

Supported Platforms

Xamarin.Essentials is focused on the following platforms:

  • iOS (10+)
  • Android (4.4+)
  • UWP (Fall Creators Update+)

API Documentation

The following cross-platform APIs are available in Xamarin.Essentials:


Please read through our Contribution Guide. We are not accepting new PRs for full features, however any issue that is marked as up for grabs are open for community contributions. We encourage creating new issues for bugs found during usage that the team will triage. Additionally, we are open for code refactoring suggestions in PRs.

Building Xamarin.Essentials

Xamarin.Essentials is built with the new SDK-style projects with multi-targeting enabled. This means that all code for iOS, Android, and UWP exist inside of the Xamarin.Essentials project.

If building on Visual Studio 2017, you will need the following SDKs and workloads installed:

Workloads need:

  • Xamarin
  • .NET Core
  • UWP

You will need the following SDKs

  • Android 9.0, 8.1, 8.0, 7.1, 7.0, & 6.0 SDK Installed
  • UWP 10.0.16299 SDK Installed

If using Visual Studio for Mac the project can be built at the command line with MSBuild. To change the project type that you are working with, simply edit Xamarin.Essentials.csproj and modify the TargetFrameworks for only the project type you want to use.

To build through the command line, navigate to where Xamarin.Essentials.csproj exists then run:

msbuild /restore Xamarin.Essentials.csproj


Here are some frequently asked questions about Xamarin.Essentials, but be sure to read our full FAQ on our Wiki.


Please see the License.

You can’t perform that action at this time.