Enterprise iPhone and iPad Programming using iOS 7

Request more details:

submit request
Description:
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 student will be able to build robust, high performing and compelling applications for iPhone and iPad.
Prerequisites:
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.
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
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
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
Inheritance and Polymorphism:
Introduction
Simple Example
Using Inherited Behavior
Extending Behavior
Customizing Inherited Behavior
Using Customized Behavior
Late Binding and Polymorphism
Dynamic Type Checking
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
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
The Foundation Framework:
Introduction
NSString
String to Number Conversion
NSMutableString
NSNumber
NSMutableArray
NSMutableDictionary
Getting and Setting Data from Dictionary
Iteration Through the Dictionary
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
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
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
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
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
Storyboard:
Introduction
Creating a Storyboard
Defining the Screen Flow
Configuring Entry Point
Passing Data to A Launched Controller
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
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
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
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
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
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
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
Application ProvisioningApplication 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