Xamarin iOS App Development Training (40539)

Level: Intermediate

During this official Microsoft Xamarin iOS App Development (40539) 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.

Key Features of this Xamarin iOS App Development Training:

  • Official Xamarin University content
  • After-course instructor coaching benefit

You Will Learn How To:

  • 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

Choose the Training Solution That Best Fits Your Individual Needs or Organizational Goals

LIVE, INSTRUCTOR-LED

In Class Training

  • 5-day instructor-led training course
  • One-on-one after course instructor coaching
  • Pay later by invoice -OR- at the time of checkout by credit card
View Course Details & Schedule

Standard $3190

Government $2833

RESERVE SEAT

PRODUCT #8511

TRAINING AT YOUR SITE

Team Training

  • Bring this or any training to your organization
  • Full - scale program development
  • Delivered when, where, and how you want it
  • Blended learning models
  • Tailored content
  • Expert team coaching

Customize Your Team Training Experience

CONTACT US

Save More On Training with FlexVouchers – A Unique Training Savings Account

Our FlexVouchers help you lock in your training budgets without having to commit to a traditional 1 voucher = 1 course classroom-only attendance. FlexVouchers expand your purchasing power to modern blended solutions and services that are completely customizable. For details, please call 888-843-8733 or chat live.

In Class Training

Guaranteed to Run

When you see the "Guaranteed to Run" icon next to a course event, you can rest assured that your course event — date, time, location — will run. Guaranteed.

Xamarin iOS App Development Course Information

  • Software Requirements

    • A Mac running on 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
  • Requirements

    • Basic knowledge of C# and six months of experience developing using .NET
  • Who should attend this course

    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.

Xamarin iOS App Development Course Outline

  • Module 1: Getting Started with Xamarin (XAM101)

    By the end of this module, you will be able to choose the Xamarin approach that is right for you. You will also set up your development machine and run an app on Windows, the iOS simulator, and an Android emulator.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Identify mobile development trends 
    • Identify the different approaches to mobile development 
    • Describe the Xamarin approach to development 
    • Set up and validate their development environment 
  • Module 2: Introduction to Xamarin.iOS (IOS101)

    This module takes you through the entire development process. You will create a new project in Visual Studio, code the user interface and behavior, build the project, and test it on an iPhone simulator. As you build your app, you will learn several iOS design patterns such as Model-View-Controller, protocols, and delegates.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Explore the IDE choices for iOS development
    • Create an app using the project templates
    • Navigate the development tools and create a new iOS application 
    • (De)constructing the application
    • Add views and behavior
    • Explore a new project
    • Explore iOS terminology
    • Create screens
    • Manage parent-child relationships
    • Position views
    • Add behavior
  • Module 3: Using the Xamarin.iOS Designer (IOS102)

    Use the Xamarin.iOS Storyboard Designer to design a responsive, multi-screen application.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Describe the uses of the iOS Designer
    • Identify controls and properties
    • Demonstrate the designer workflow
    • Lay out subviews on a ViewController
    • Describe the Auto Layout system
    • Identify and add constraints using the Designer
    • Associate a class for the UIViewController
    • Identify partial methods
    • Name views
    • Inspect outlets and actions
    • Present a view controller
    • Dismiss a view controller programmatically
    • Use segues to perform navigation
  • Module 4: TableViews in iOS (IOS110)

    During this module you will learn to use the UITableView to display a collection in your Xamarin.iOS app. You will use the built-in styles to visualize your data, learn to handle item-selection events and navigate the app to a new page. Finally, you will see how to configure cell reuse to reduce memory usage and boost performance.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Add a Table View to your UI
    • Fill the Table View with data
    • Use the built-in cell styles
    • Change the cell style
    • Add an accessory view
    • Respond to the accessory tap
    • Enable cell reuse in the designer
    • Enable cell reuse programmatically
  • Module 5: Customizing Table Views (IOS115)

    During this module you will define a custom cell manually in code and graphically using the UI Designer. You will also see how to display grouped data with headers/footers that delimit each group and an index to make the groups easy to navigate.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Describe the anatomy of a cell
    • Customize the default cell
    • Create a custom cell
    • Compare static and dynamic cells
    • Design a custom cell using the designer
    • Compare plain vs grouped table views
    • Create an index
    • Add headers and footers
    • Customize headers and footers
  • Module 6: Consuming REST-based Web Services (XAM150)

    In this module, you will learn to consume REST-based web services with HttpClient using both the managed networking stack and the platform-specific handlers that boost performance. You will also learn some common strategies for dealing with the unique challenges that mobile devices face when communicating over the network.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Determine if the device has a connection
    • Obtain the device’s connection type
    • Determine when network availability changes
    • Identify REST services
    • Utilize URLs in REST
    • Describe guidelines for using REST
    • Identify REST services
    • Utilize URLs in REST
    • Describe guidelines for using REST
    • Customize the HttpClient handler
    • Leverage platform network stacks
    • Use App Transport Security on iOS
  • Module 7: SQLite and Mobile Data (XAM160)

    During this module you will learn to identify the proper location for your database file and how to insert, update, retrieve, and delete data efficiently using asynchronous I/O calls.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Identify data storage options
    • Select a storage location
    • Get the storage path for each platform
    • Add a SQLite Portable Class Library to the project
    • Define SQLite table schema using attributes
    • Create and connect to a SQLite database
    • Perform basic CRUD operations
    • Refactor database connection to use SQLiteAsyncConnection
    • Refactor table creation to use Async counterparts
    • Refactor CRUD operations to use Async counterparts
  • Module 8: Navigation Patterns (IOS205)

    This course shows you how to implement three iOS navigation patterns: stack, tab, and master-detail. It also includes some guidelines to help you decide which pattern is appropriate for your app.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Create a Navigation Controller programmatically
    • Utilize the designer to create a Navigation Controller
    • Customize the Navigation Controller 
    • Create a Tab Bar Controller
    • Populate a Tab Bar Controller
    • Customize the Tab Bar Controller
    • Create a Split View Controller
    • Use a Split View Controller programmatically
    • Use the iOS Designer to define a Split View Controller
  • Module 9: Backgrounding Modes and File Transfers in iOS (IOS210)

    This module shows you how to register for notifications as your app transitions between the foreground and background and how to use the Finite-length Task API to ensure you have enough time to save application state.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Describe the application state
    • Distinguish Foreground vs Background
    • Discuss three ways to execute code in the background
    • Integrate a Finite-Length Task with the Application Lifecycle
    • Wrap a critical operation in a Finite-Length Task
  • Module 10: Editing TableViews (IOS215)

    This module shows you how to register for notifications as your app transitions between the foreground and background and how to use the Finite-length Task API to ensure you have enough time to save application state.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Enable interactive editing
    • Enable internal editing
    • Re-order rows
    • Add Table View Actions
    • Add Pull to refresh
    • Add a Search bar to a Table View
    • Limit search scope
  • Module 11: Maps and Location (IOS230)

    In this module you will use MKMapView to integrate a map into your UI. You will determine the user’s location, set the view port of the map, and add annotations to the display

    Lessons

    • 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

    After completing this module, students will be able to:

    • Add a Map View to your app
    • Configure the visual map
    • Control interactivity on the map
    • Work with the device's location
    • Handle privacy concerns
    • Show the current location on the map
    • Define the camera’s view
    • Set the camera’s properties
    • Show a region on the map
    • Add an annotation to the map
    • Change an annotation's data
    • Remove an annotation from the map
  • Module 12: Touch and Gestures (IOS240)

    In this module, you will use low-level touch events to create a multi-touch drawing application. You will also detect standard gestures to translate, rotate, and zoom an image.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Enable touch events on a view
    • Respond to touch events
    • Enable multi-touch on views
    • Respond to multi-touch events
    • Create and assign a gesture recognizer
    • Respond to a gesture's change in state
    • Use multiple gestures simultaneously
  • Module 13: AutoLayout in Xamarin.IOS (IOS300)

    This module shows you how to use Constraints and Size Classes to define a flexible UI. iOS uses your code and the runtime device’s screen properties to calculate the size and position of your views.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Use constraint inequalities and priorities to adaptively place views 
    • Recognize constraint issues in the designer 
    • Create constraints in code 
    • Update constraints at runtime 
    • Animate view property changes 
    • Animate constraint changes 
    • Change the size class in the designer 
    • Customize the UI for different screen sizes
  • Module 14: Diagnosing Memory Issues (XAM370)

    This module shows you how to use Constraints and Size Classes to define a flexible UI. iOS uses your code and the runtime device’s screen properties to calculate the size and position of your views.

    Lessons

    • 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

    After completing this module, students will be able to:

    • Find memory leaks in your code
    • Fix common leaks in managed code
  • Module 15: Preparing for Publishing (XAM220)

    Prepare your app for release through the App Store, Google Play, and Windows Marketplace.

    Lessons

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

    After completing this module, students will be able to:

    • Update your app for publishing
    • Choose a distribution strategy
    • Publish to a store
  • Module 16: iOS Publishing (IOS220)

    Build your app and submit it to the App Store.

    Lessons

    • Prepare an application for publishing
    • Sign an application
    • Publish an app to the App Store

    Lab: Implementing Automation

    • Configuring Automation accounts
    • Creating runbooks

    After completing this module, students will be able to:

    • Configure the build settings
    • Fill in the application metadata
    • Add application assets
    • Explore publishing types
    • Create publishing certificates
    • Sign an application
    • Provide application data for publishing
    • Submit an app to iTunes Connect

Team Training

Xamarin iOS App Development Training FAQs

  • What is Xamarin?

    Xamarin tools are used to write native Android, iOS and Windows apps with native user interfaces which can share code across platforms, including Windows and iOS.
  • Can I learn Xamarin iOS App Development online?

    Yes! We know your busy work schedule may prevent you from getting to one of our classrooms which is why we offer convenient online training to meet your needs.
  • What are the programming languages that support Xamarin development?

    C# programing is the language that supports Xamarin development.
  • What is the major advantage of Xamarin development?

    You can deliver native iOS, Android and Windows apps using existing Skills, teams and code. It has the added advantage over native apps of speeding up the process without compromising on cost

Questions about which training is right for you?

call 888-843-8733
chat Live Chat




100% Satisfaction Guaranteed

Your Training Comes with a 100% Satisfaction Guarantee!*

  • If you are not 100 % satisfied, you pay no tuition!
  • No advance payment required for most products.
  • Tuition can be paid later by invoice - OR - at the time of checkout by credit card.

*Partner-delivered courses may have different terms that apply. Ask for details.

Herndon, VA
Ottawa
New York
Herndon, VA
Ottawa
New York
Herndon, VA
Ottawa
New York
Herndon, VA
Ottawa
Preferred method of contact:
Chat Now

Please Choose a Language

Canada - English

Canada - Français