Build iOS apps with C# and .NET using the Xamarin tools for Visual Studio

5 Day Course
Hands On
Official Curriculum
Code M40539

Book Now - 1 Delivery Method Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


During this course, C# .NET developers will learn how to build iOS applications using Visual Studio and Xamarin. Topics include the basics of mobile development, storing, retrieving, and displaying data in iOS, and building a responsive, native UI using the Xamarin.iOS designer to publish an app in the App store.


  • Build iOS applications with C# .NET using the Xamarin tools for Visual Studio.
  • Design multiscreen applications using the Storyboard designer and choose the appropriate navigation for larger applications.
  • Load and visualize data including accessing REST services and local SQLite databases.
  • Customize the visual presentation for collections of data using the ListView.

Target Audience

This course is intended for developers with at least basic C# knowledge with 6-12 months of .NET experience. Students should own and/or have used an iOS device and be familiar with the paradigms of the platform.

Additional Information


- A Mac running the latest OS, with Visual Studio for Mac and XCode installed

- For Windows development (optional): a Windows 10 PC with Visual Studio 2017 and the Mobile development with .NET workload installed

- An iOS device is highly recommended

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Hide all

Getting Started with Xamarin (9 topics)

  • Define the state of mobile technology today
  • Discuss mobile app trends
  • Identify approaches to development
  • Discover the Xamarin Approach
  • Set up your development environment
  • Lab: Building Cross Platform Applications with Xamarin
  • Demonstration - Cross Platform Applications with Xamarin
  • Demonstration - View a Xamarin.Forms Project
  • Setup Validation - Validate your development environment ready

Introduction to Xamarin.iOS (8 topics)

  • Introduce the development tools
  • (De)constructing the application
  • Add views and behavior
  • Lab: Create a Tip Calculator for iOS in Xamarin
  • Group Exercise: Create and run your first iOS application
  • Add a root view controller to the Tip Calculator
  • Create the UI for the Tip Calculator
  • Add logic to your Tip Calculator

Using the Xamarin.iOS Designer (9 topics)

  • Create a single screen application
  • Describe and use Auto Layout
  • Interact with designer-defined views programmatically
  • Navigate between view controllers
  • Lab: Use the iOS Designer to create a multi-screen application
  • Create the UI for a single view application
  • Add constraints to the fireworks app
  • Add a second screen to your app and code a button to navigate to it
  • Add segues to define the navigation

TableViews in iOS (10 topics)

  • Explore Table Views
  • Utilize built-in cell styles
  • Add selection behavior
  • Implement cell reuse
  • Lab: Use a Table View, populate it with data and perform basic customizations
  • Add a Table View to an application
  • Populate a Table View
  • Use built-in cell styles
  • Use the accessory styles and row selection
  • Implement cell reuse

Customizing Table Views (9 topics)

  • Customize table view cells in code
  • Customize table view cells in the designer
  • Group data in the table view
  • Lab: Customize table cells
  • Customize a default table cell
  • Create a custom table view cell in code
  • Create a prototype table view cell using the designer
  • Create static cells in the designer
  • Create a grouped table with an index

Consuming REST-based Web Services (7 topics)

  • Obtain the device's network capabilities
  • Introduce REST
  • Consume REST services with Xamarin
  • Lab: Use, consume and communicate with REST services
  • Determine the network connectivity
  • Communicate with a Book Service
  • Demonstration: Leverage the native platform network stack

SQLite and Mobile Data (8 topics)

  • Choose a data storage strategy
  • Store data locally with SQLite
  • Use SQLite asynchronously
  • Lab: Utilize SQLite to store and access data
  • Determine your database file path
  • Add SQLite.Net to your projects
  • Access a SQLite database with SQLite.Net
  • Access a SQLite database using asynchronous methods

Navigation Patterns (7 topics)

  • Progress through pages of data with stack-based navigation
  • Show different views of related data with tab navigation
  • Display hierarchical relationships with master/detail navigation
  • Lab: Implement Stack, Tab and Master/Detail navigation
  • Implement Stack Navigation
  • Implement Tab Navigation
  • Implement Master/Detail

Backgrounding Modes and File Transfers in iOS (5 topics)

  • Understand the iOS Backgrounding Model
  • Work with Finite-Length Tasks
  • Lab: Ensure important operations complete by allowing them to run in the background
  • Integrate a Finite-Length Task with the application lifecycle
  • Code a cancellable Finite-Length Task

Editing TableViews (9 topics)

  • Work with built-in editing operations
  • Add support for modern editing operations
  • Integrate a search bar
  • Lab: Create a Table view with advanced features
  • Turn on editing features on a Table View
  • Committing editing operations
  • Add support for swipe-gesture edit actions
  • Add support for the "pull-to-refresh" gesture
  • Add search support to a Table View Controller

Maps and Location (9 topics)

  • Explore iOS mapping options
  • Use location data
  • Adjust the viewport of the map
  • Add annotations to the map
  • Lab: Create an iOS map with markers, viewports and annotations
  • Group Exercise: Add a map and set the properties
  • Show the device's current location
  • Changing the map's viewport with the camera
  • Add an annotation to your map

Touch and Gestures (9 topics)

  • Respond to touch events
  • Handle multi-touch events
  • Utilize gestures
  • Lab: Implementing Automation
  • Group Exercise: Override touch methods
  • Drag and snap
  • Create the Xam Paint app
  • Add pan gestures
  • Add Multiple gestures to add scale and rotation

AutoLayout in Xamarin.IOS (9 topics)

  • Create adaptive UIs using the iOS Designer
  • Create and update constraints programmatically
  • Animate constraint changes
  • Use Size Classes to customize your UI for different screen sizes
  • Lab: Create a responsive UI using Size Classes and constraints
  • Use Auto Layout in the Designer
  • Update Constraints Programmatically
  • Animate Constraints
  • Update your UI based on the Size Class

Diagnosing Memory Issue (9 topics)

  • Identify and fix memory leaks in your code
  • Recognize and fix Xamarin.iOS specific memory problems
  • Recognize and fix Xamarin.Android specific memory problems
  • Lab: Track down and correct memory leaks in your Xamarin.Forms app
  • Using the Xamarin Profiler to monitor allocations
  • Finding and fixing delegate reference leaks
  • Identifying and breaking strong reference cycles
  • Watch out for peer promotions
  • Show ListView memory and performance with a custom adapter

Preparing for Publishing (3 topics)

  • Getting ready to publish your app
  • Understanding publishing styles
  • Publishing to a store

iOS Publishing (6 topics)

  • Prepare an application for publishing
  • Sign an application
  • Publish an app to the App Store
  • Lab: Implementing Automation
  • Configuring Automation accounts
  • Creating runbooks


Basic knowledge of C# and six months of experience developing using .NET.

Course PDF


Share this Course


Recommend this Course