This 5-day course will guide students through the entire process of developing an iPhone application from designing to developing, testing and releasing iPhone and iPad applications. The goal is to get you past the initial learning curve to help you to understand the way iPhone and iPad applications work and how they are built.

NOTE: All participants should bring their own Mac Machines. If participants want to use their own Mac, they need to install the latest iOS SDK and xCode in their computers prior to the training.

This workshop is intended for Programmers and Designers with programming abilities who are interested in developing applications for iPhone and iPad supporting popular iOS applications.


All participants should bring their own Mac Book for the class and need to have basic competency in at least one object-oriented programming language (such as C++/C#/Java, Javascript). Participants are also required to register as an Apple iOS Developer (Free) at:


The ICAD Certification Exam duration is 2 hours, consisting of 60 Multiple Choice Questions, with a Passing Score of 70%. You will receive a professional ICAD Certification upon passing the exam.

Day 1: Fundamentals

Getting started with xCode

  • Introduction & getting started
  • Register to the Apple Developer Program
  • Getting other iOS Simulator
  • Interface
  • ToolBar
  • Navigation Area
  • Editor Area
  • Utility Area
  • Testing application in your device

Swift 3 Language

  • Introduction
  • Files
  • Coding practice
  • Basic Variables & Swift Data Type
  • Operation
  • Optional and Optional Binding
  • Class Declaration
  • OPP in Swift
  • Methods calling
  • Basic Design Pattern
  • MVC Diagram
  • Target-Action
  • Protocol & Delegate
  • Selectors
  • Protocol

Overview of iOS 10 & iOS 11

  • iOS Architecture
  • iOS10 SDK Features
  • iOS11 SDK Features
  • Using NSFoundation and UIKit
  • App Designing Process
  • Latest UI/UX Design trend
  • Introduction to Prototyping tool
  • App Design Case study
  • Debugging Tools Instruments

Creating a Single View Application

  • Understanding different templates in xCode
  • Programming UI Elements UIButton, UITextField, UISwitch, UISlider
  • Using Assets management in xCode
  • Multiple Screen Development with Size Class and Autolayout
Day 2: Creating Interfaces

Creating an application Interface

Mobile app Development Lifecycle

  • Understanding Different App Development Lifecycle
  • Product Roadmap and versioning
  • UI/UX Trend
  • Design Principle in Mobile application
  • Application Prototyping

Create View

  • UINavigationBar Controller
  • Nested navigation Controller
  • UITabBarController
  • Multi Views

Storyboard & Segue

  • Introduction
  • Views
  • Dynamic & Static Table
  • Collection View
  • Creating Custom Cells

Multi Views

  • Segue Elements
  • Passing Data diagram
  • Passing Data
  • Sample passing data code

Debugging Application

  • Using breakpoint
  • Understanding common mistake by developer
  • Using print function
Day 4: Devices Features

Core Location

  • Overview
  • Accuracy
  • Basic Setup
  • Reverse Geocoding

Map using MapKit Framework

  • Overview
  • Placing point
  • Annotation Details
  • Step-by-Step

Creating Camera Functionality

  • Overview
  • Code
  • Check Camera Availability
  • Getting Image from Photo Library
  • Check support video


Gestures Adding

  • Overview
  • UI Tap Gesture Recognizer
  • Motion gestures

Social Framework

  • Adding Facebook to your App
  • Adding Twitter to your App

Mini Project

Delivery includes:

  • User flow documentation
  • Analyzing Technical requirement
  • Mobile application (End product)
Day 3: Creating Data

PList (Local) Property List

  • Introduction
  • Retrieving data
  • Plist to Table App using NSUserDefault
  • App settings
  • NSUserDefaults
  • + Introduction
  • + Store Data code
  • + Retrieve data code

JSON (Remote)

  • Introduction
  • Frameworks
  • Step-by-Step

Core Data (Local)

  • Overview
  • Introduction
  • Core Data vs SQLite
  • Step-by-Step

Remote Data

  • Introduction
  • NSAppTransport Security
  • Integrate with Remote API and Web service
  • Parsing JSON Data
Day 5: Multimedia, Localization and Beyond the Basic

UIWeb View

  • Display live dynamic web pages

Making Multimedia Audio & Video

  • Movie Formats
  • Audio Formats
  • Frameworks
  • Overview

App Localization Internationalize       Your App

  • Why Localization?
  • What can be localized?
  • NSLocalizedstring
  • App name how?
  • Changing Language
  • Common Potfalls

Coding Best Practices:

  • Test driven development: Unit testing and automation testing
  • Working in team: Code style
  • Code documentation using HeaderDoc
  • Best practice of implementing Security in application

Beyond The Basics

  • Dependency Management with Cocopods
  • Using third party library
  • Understanding BaaS

App Submission Process

  • Checklist
  • App Review Guidelines
  • Human Interface Guidelines
  • Considerations before uploading
  • Managing Alpha and Beta Testing with Testflight
  • App submission
  • Acquisition strategy: Introduction to App Store Optimization
  • Flow


International Certification CourseĀ in partnership with iTrain Asia

iOS Certified Associate Developer

This 5-day course will guide students through the entire process of developing an iPhone application from designing to developing, testing and releasing iPhone and iPad applications...

Android Certified Associate Developer

This workshop is a hands-on guide to designing and building mobile applications using Google's Android open-source platform. The course explains what Android is, the Android SDK, all essential features...

Certified Data Science Specialist

Our lives are flooded by large amounts of information, but not all of them are useful data. Therefore it is essential for us to learn how to apply data science to every aspect of our daily life from personal finances...

Ready to Learn?