iOS 7 Programming

Course Description

In this dynamic iOS Programming course you will learn how to create iPhone and iPad apps like the pros with guided instruction from top iOS consultant Mike Simpson. You will get hands-on coding experience that will give you the skills and confidence to create your first iOS app or improve your existing apps. Attending this course is a great way to come up to speed quickly on the latest iOS SDK and learn to build apps. This course covers iOS 5, iOS 6, and iOS 7.

The course begins with a brief refresher on Objective-C because Objective-C is the object-oriented programming language that you use to write iOS apps. The course then delves into an in-depth treatment of the iOS development environment and the iPhone SDK (software development kit) programming framework.

In This Course You Will Learn How To:

• Design, create and develop native applications in Objective-C for the iPhone or iPad using the Model-View-Controller (MVC) architecture.

• Connect your iOS application to the Internet.

• Save your iOS application's information using SQL databases or flat files.

• Take advantage of your iOS device's hardware sensors.

• Integrate your application into the iOS native environment.

• Prepare your iOS application for submission to the Apple App Store.


You need to have one year of ANSI C or C++ programming background, including a basic knowledge of pointers, functions and arrays and have taken the Objective-C Programming course. If you do not have this experience, we recommend the following courses:

• Introduction to C Programming Part 1

• Introduction to C Programming Part 2

• Objective-C Programming


Module 00: iOS 6 Programming - Course Introduction


Module 01: Preparation for iOS Development

• Downloading the iPhone SDK

• Installing the iPhone SDK

• Preparing your iOS Device

• Demo: Making Your Device Available for Development

• Exercise: Creating First Application


Module 02: Creating an iPhone App Part 1

• Objective-C Basics

• Objective-C Object Model and Syntax

• Creating an iPhone Project


Module 03: Creating an iPhone App Part 2

• Moving the Project to the iPhone

• Demo: Creating an iPhone Application

• Exercise: Creating and Running a First iOS Application


Module 04: Coding in Objective-C

• Declaring and Defining Classes

• Interfaces and Implementations

• Object Typing

• Properties

• Declaring and Calling Methods

• Memory Management


Module 05: Design Patterns

• iPhone Design Patterns: Model-View-Controller, Delegate, DataSource

• Demo: iPhone Coding in Objective-C

• Exercise: Writing Code in Objective-C for the iPhone


Module 06: Table-View-Based Applications – Part 1

• Refactoring Template Code

• Creating a Table View

• Building a Model

• Connecting the Controller to the Model

• Demo: Alert Window Mockup


Module 07: Table-View-Based Applications – Part 2

• Adding Navigation Controls to the Model

• Adding Views

• Demo: Compiling and Running the Header File Test

• Exercise: Creating a Table-View Based Application


Module 08: Other View Controllers

• Two-screen Utility Applications

• Building a "FlipView" Application

• Demo: Building a Flip View Application

• Multiple-view Tab Bar Applications

• Building a Tab Bar Application

• Demo: Building a Tab Bar Application


Module 09: Modal View

• Modal View Controllers

• Building a Modal Application

• Demo: Building a Modal Application

• Using the ImagePicker View Controller to Select Images

• Demo: Adding Image Support

• Exercise: Working with View Controllers


Module 10: Connecting to the Network

• Detecting Network Status

• Adding a Web Browser to your Application

• Getting Data from a Web Browser View

• Sending Email

• Getting Data From the Internet

• Demo: Collecting Information from the Internet

• Exercise: Getting Data From the Internet


Module 11: Handling Data

• Data Entry

• Parsing XML

• Parsing JavaScript Object Notation (JSON)

• Working with Regular Expressions


Module 12: Storing Data – Part 1

• Storing Information: Flat Files

• File Management using NSFileManager


Module 13: Storing Data – Part 2

• Storing Information in SQL Database

• Storing Information in Core Data

• Demo: Parsing and Storing Data

• Exercise: Handling Data


Module 14: Distributing Your Application

• Adding an Icon and a Launch Image

• Building and Signing your Application

• Submitting your Application to the App Store

• Demo: Building and Signing your Application

• Exercise: Distributing Your Application

Module 15: Using Sensors Part 1

• Overview of Sensor Hardware Support

• Using the Camera

• Core Location Framework

• Using the Accelerometer

• Demo: Creating an Accelerometer Application


Module 16: Using Sensors Part 2

• Using the Digital Compass

• Accessing the Proximity Sensor

• Using Vibration

• Exercise: Using Sensors


Module 17: Geolocation and Mapping

• User Location

• Annotating Maps

• Demo: Working with Geolocation

• Exercise: Geolocation and Mapping


Module 18: Integrating Your Application with the Native Environment – Part 1

• Working with application Preferences

• Best practices

• Synchronizing

• Saving, Reading and Updating

• Domains and Domain Qualifiers


Module 19: Integrating Your Application with the Native Environment – Part 2

• Working with Media Playback

• Using the Address Book

• Demo: Application Integration

• Exercise: Application Integration


Module 20: FutureProofing Your Application

• Cocoa and Objective-C

• iPhone SDK

• Web Applications

• Core Data

• In-App Purchases

• Core Animation

• Hardware Accessories

• Writing Games

• Look and Feel


Module 21: What's New in iOS 6

New Applications:

• Maps

• Siri

• Passbook

• Reminders

• FaceTime

Improved Applications:

• Mail

• Safari

• AppStore / iTunes Store

• Accessibility


Module 22: What’s New in iOS 7

• Appearance

• Navigation

• Multitasking

• Sharing

• Camera and Photos

• Safari


Module 23: New Programming Features of iOS 7

• Coding Background Data Fetch

• Updating Applications to work with iCloud

• Updating Applications to Work with KeyChains

• Updating Applications to Work with Background Modes