Application Fundamentals

Core Application Concepts

PDF for offline use

Let us know how you feel about this

Translation Quality


This section provides a guide on some of the more common things tasks or concepts that developers need to be aware of when developing Xamarin.iOS (formerly MonoTouch) applications.

Events, Protocols, and Delegates

This article presents the key iOS technologies used to receive callbacks and to populate user interface controls with data. These technologies are events, protocols, and delegates; this article explains what each of these is and how each is used from C#. It demonstrates how Xamarin.iOS uses iOS controls to expose familiar .NET events, as well as how Xamarin.iOS provides support for Objective-C concepts such as protocols and delegates (Objective-C delegates should not be confused with C# delegates). This article also provides examples that show how protocols are used both as the basis for Objective-C delegates and in non-delegate scenarios.

In-App Purchasing

iOS applications can sell digital products and services using the Store Kit APIs. Products are created and managed in the iTunes Connect portal. Apple manages the transaction processing and approves all products before they can be sold, and charges a fee for each transaction (currently 30%). Apple requires that you use the in-app purchasing for any digital sales in your app, but you cannot use it for sales of physical goods or non-digital services. Apps that offer alternate payment options for digital products and services are likely to be rejected. This document explains how to configure your application to use Store Kit and provides Xamarin.iOS examples of the most common in-app purchasing scenarios.


This article discusses threading in a Xamarin.iOS application, and talks a bit about the the .NET thread pool, responsive applications, and garbage collection. 

Working with Images

This article examines how to use images in Xamarin.iOS, both application support images (such as icons, loading images, etc.) and images within applications (such as images applied to controls). It also covers how to use Xamarin Studio to incorporate images as well as how to interact with images from code.

Working with the File System

Xamarin.iOS can use the same System.IO classes to work with files and directories in iOS that you would use in any .NET application. However, despite the familiar classes and methods, iOS implements some restrictions on the files that can be created or accessed and also provides special features for certain directories. This article outlines these restrictions and features, and demonstrates how file access works in a Xamarin.iOS application.

Graphics and Animation in iOS

This article discusses the Core Graphics and Core Animation iOS frameworks. It shows how to use Core Graphics to draw geometry, images and PDFs. It then examines Core Animation, showing how it enables high performance, fluid animations in UIKit, as well as how to use it directly for lower-level animation control.

Walkthrough - Using CoreGraphics and CoreAnimation

This article demonstrates step by step how to create an application that uses Core Graphics and Core Animation. It shows how to draw on the screen in response to user touch as well as how to animate an image to travel along a path.

Creating iOS Applications in Code

This article examines how to create iOS applications entirely in code using Visual Studio and Xamarin Studio. It shows how to start from an empty project template to build an application screen in a controller by creating a hierarchy of views from UIKit. Then, it discusses how to create custom views that can be loaded in a controller.

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.