Choose your language:

France
Germany
Hong Kong

India
Ireland
Japan
Malaysia
Netherlands
New Zealand

Singapore

Sweden
United Kingdom
United States
Course Code

IN1448

Duration

5 Days

Prior knowledge of programming in an object oriented language such as C++, Java or C# is required. Knowledge of Objective-C is not required. Nearly a full day is spent on teaching Objective-C.
This iPhone training / iOS development training course teaches application development for the iOS platform. It covers iPhone, iPad and iPod Touch devices. This iPhone training / iOS development training course starts off by building a solid foundation in Objective-C. It then goes into details of application user interface development. After that the class teaches network access, SQL database, multimedia and graphics programming. After completing this iPhone application development training course, a participant will be able to build robust, high performing and compelling applications for iPhone and iPad.
This course is designed for developers and architects responsible for iOS application development.
Upon completion of this course, participants will learn:
  • User friendly GUI development
  • Network communication
  • Multi-tasking and multi-threading
  • Data storage in file system and database
  • Multi-media programming
  • Detecting memory leaks and resolving them
  • Performance tuning
CHAPTER 1. INTRODUCTION TO IOS AND XCODE
Introduction to iOS
The iPhone Hardware
The iOS Architecture
The Core Services Layer
The Media Services Layer
The Cocoa Touch Layer
Introduction to Xcode
Creating a Project in Xcode
Project Workspace
Adding Classes to a Project
Adding External Files to a Project
Organizing Files in a Project
Class Browsing
Code Completion
Building Code
Running Your Application
Debugging
Refactoring Code
References
Summary

CHAPTER 2. BASICS OF OBJECTIVE-C
A Brief History
Basic Application
Writing Functions
Native Data Types
struct - Custom Data Types
Conditional Execution - if
Conditional Execution - switch
Looping
Pointers
Why We Need Pointers
Pointer to struct
Stack Memory
Dynamic Memory
Array
String
Summary

CHAPTER 3. CLASSES AND OBJECTS
Principles of Object Oriented Programming
Class and Object
Defining a Class
Defining an Interface
Defining the Implementation
Using a Class
Defining a Method
Method Overloading
Accessing Variables and Calling Methods
The self and super Keywords
Constructors
Using Constructor
Destructor
Class Level Variables
Class Level Methods
The id Data Type
Encapsulation Through Member Variable Protection
Hidden Private Methods
Summary

CHAPTER 4. INHERITANCE AND POLYMORPHISM
Introduction
Simple Example
Using Inherited Behavior
Extending Behavior
Customizing Inherited Behavior
Using Customized Behavior
Late Binding and Polymorphism
Dynamic Type Checking
Summary

CHAPTER 5. CATEGORY, PROTOCOL AND PROPERTIES
Introduction to Category
Category Syntax
Category Details
Introduction to Protocol
Syntax for Protocol
Example – Define a Protocol and Conform
Example - Implement Protocol Methods
Polymorphism Using Protocol
Testing for Protocol Conformance
Optional Protocol Methods
Encapsulation Using Property
Property Syntax
Property Attributes
Property Variable
Custom Getter and Setter Methods
Selector
Summary

CHAPTER 6. MEMORY MANAGEMENT
Introduction
How Reference Count Works
Variables Going Out of Scope
Releasing Member Variables
Auto Release Pool
Creating and Draining Auto Release Pool
Alternate Allocation Methods
Cocoa and Autorelease
Object Referenced by a Property
Summary

CHAPTER 7. THE FOUNDATION FRAMEWORK
Introduction
NSString
String to Number Conversion
NSMutableString
NSNumber
NSMutableArray
NSMutableDictionary
Getting and Setting Data from Dictionary
Iteration Through the Dictionary
Summary

CHAPTER 8. IOS APPLICATION FUNDAMENTALS
Basics of an iOS Application
Creating an iOS Application
Choose Application Configuration
The Application and Its Delegate
Creating a Delegate Class
Application Lifecycle
Application State
The Suspended State
The Application Startup Sequence
Application Termination
Window and Views
The Key Players
Creating the Application Window
Testing and Debugging an Application
Summary

CHAPTER 9. MODEL VIEW CONTROLLER BASED APPLICATION
The Model View Controller (MVC) Pattern
Advantages of MVC
Model View Controller in iOS
Responsibilities of a iOS Controller
Example: Navigation Controller
Controller Hierarchy
Usage Pattern Based UI Design
iOS Controller Types
Custom Controller
The UIViewController Class
Creating a Custom Controller
Example Custom Controller Class
Designing the GUI Layout
Introduction to Interface Builder
Interface Builder GUI
The XIB File
A Typical XIB File
Adding Views to a Window
Setting View Attributes
Connections
Adding an Outlet Variable
Connecting an Outlet
Adding an Event Handler Method
Making an Event Connection
Using a Custom Controller
Application Default View Controller
Summary

CHAPTER 10. TAB BAR CONTROLLER
Introduction
The Anatomy of UITabBarController
The Child Controllers
Creating a Tab Bar Controller
Setting the Tab Icon and Label
Manipulating Tabs
Accessing All Tabs
Summary

CHAPTER 11. BASICS OF TABLE VIEW
Introduction
Styles of Table View
The Architecture
Creating a Table View Controller
A Closer Look at the Plain Style
Developing a Table View Controller Class
Example Table View Controller Class
Creating Cells and Reuse
Showing Information in a Cell
Cell Style
Setting Accessory Icon
Showing the Table View Controller
Handling Row Section Event
Grouped Style
Summary

CHAPTER 12. NAVIGATION CONTROLLER
Introduction
The Anatomy of Navigation Controller
Properties of UINavigationController
The Content Controller Stack
Creating a Navigation Controller
Creating Navigation Controller Using API
Showing Title and Prompt
Moving Forward
Moving Backward
Showing Button on Right Hand Side
Adding a Toolbar at the Bottom
Embedding Navigation Controller in a Tab
Summary

CHAPTER 13. STORYBOARD
Introduction
Creating a Storyboard
Defining the Screen Flow
Configuring Entry Point
Passing Data to A Launched Controller
Summary

CHAPTER 14. FILE SYSTEM SERVICES
Introduction
Home Directory Structure
Application Provisioning and Files
Paths of Standard Application Directories
Creating Directories
Listing Directory Contents
File Management
Bulk Read and Write
Granular Read and Write
Summary

CHAPTER 15. SQL DATABASE STORAGE
Introduction to SQLite
The SQLite API
Opening and Closing Database Connection
Defining the Schema
Creating a Table
Inserting or Updating Data
Retrieving Rows
Bundling Database With Application
Summary

CHAPTER 16. NETWORK PROGRAMMING
Introduction
The NSURL Class
Simple Content Download
Asynchronous HTTP Request
NSData to String Conversion
Making POST Request
Basic Authentication
Maintaining HTTP User Session
Parsing XML
Parsing Using NSXMLParser
The Delegate
Example Delegate Class
Summary

CHAPTER 17. MULTIMEDIA PROGRAMMING
Introduction
Playing Audio
Steps to Play Audio
Advanced Playback Control
Monitoring Audio Playback
Recording Audio
Preparing to Record
Control Recording
Playing Video
Prepare to Play a Movie
Start Playing
Removing the Player's View
Enabling Device Rotation
Summary

CHAPTER 18. CONCURRENT PROGRAMMING AND MULTI-TASKING
Introduction to Concurrent Programming
Starting Work in Background Thread
Auto Release Pool Issue
Updating the GUI
Running Code in a Thread Pool
Canceling Work
Running Code Briefly When Application is Backgrounded
Example: Continue Running Code in Background
Running an Application Indefinitely in Background
Checking if a Device Supports Background Execution
Guidelines for Background Execution
Notifying User While in Background
Presenting Local Notification on a Schedule
Presenting Notification Immediately
Outcome of Notification
Clearing a Notification
Summary

CHAPTER 19. SUPPORTING MULTIPLE DEVICES
The Problem
Development Strategy Options
Create a Device Specific Application
Creating Multiple Device Specific Targets in a Project
Create a Universal Application
Creating Device Specific View Controllers
Using Device Specific Views Layout from a Controller
Summary

CHAPTER 20. TESTING AND TUNING APPLICATIONS
What is Unit Testing?
Unit Testing in Xcode
Components of XCTest Framework
Anatomy of a Test Class
Indicating Test Outcome
Test Case Initialization and Clean Up
Running Tests in Xcode
Profiling Your Application
Detecting Memory Leaks
Detecting Heavy CPU Usage
Memory Tuning Tips
Network Tuning Tips
Disk I/O Tuning Tips
Summary

CHAPTER 21. APPLICATION PROVISIONING
Introduction to Provisioning
The Bundle or Application ID
iOS Developer Web Site
Introduction to Development Provisioning
Obtaining a Developer Certificate
Sharing Certificates
Create a Development Provisioning Profile
Set the Code Signing Certificate
Unit Testing Using a Device
Introduction to Ad-Hoc Provisioning
Creating a Certificate for Ad-Hoc Provisioning
Create an Ad-Hoc Provisioning Profile
Distributing the App to Beta Testers
Install the App in Beta Testers' Devices
Introduction to App Store Provisioning
Create an App Store Provisioning Profile
Preparing to Go Live
Uploading Application to App Store
Summary

Send Us a Message
First Name
*
Last Name
*
Company
*
Email
*
Address Line 1
*
Address Line 2
City
*
*
Zip Code
Telephone
*
*
Choose one
*
Comments