Environment Checks

PDF for offline use

Let us know how you feel about this


This recipe shows how to make various environment checks from your code to handle different runtime environments.

Check Simulator vs. Device

You can detect whether you are running on the simulator or device by looking up the value of the ObjCRuntime.Runtime.Arch field. If the value is ARCH.Device, you are running on the physical hardware, otherwise you are running on the simulator.

Check the iOS Version

The iOS operating system version can be checked like this:

if (UIDevice.CurrentDevice.CheckSystemVersion (7,0))
   // Code that uses features from Xamarin.iOS 7.0 and later
} else {
   // Code to support earlier iOS versions

Check your Xamarin.iOS Version

The version of Xamarin.iOS is stored in the field ObjCRuntime.Constants.Version. This is a string, you can turn this into a Version object with code like this:

Version version = new Version (ObjCRuntime.Constants.Version);
if (version > new Version (7,0))
   // Code that uses features from Xamarin.iOS 7.0

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.