iPhone & iPad (iOS) Application Development
Private Training

Course Summary

This course is aimed at developers wanting to learn how to create iPhone Apps. A solid foundation in Objective-C programming is recommended. Topics covered will include designing interfaces for iPhone Apps and exploration of the myriad GUI tools that come with Xcode – such as Buttons, Switches, Sliders, Page-Controllers, ImageViews, and many more. Students will gain an in-depth look at some of the built-in App Templates provided with Xcode – such as the Tab-Bar App, the Master-Detail (Drill-Down Menus) App, and the Page-Based (flip-book) App. In addition, students will get hands-on experience using the external libraries that provide additional functionality to Apps such as MapKit, Sqlite3, MediaPlayer and CoreLocation.

Audience
Developers and C-programmers.
Course Length
5 Days
Prerequisites
Good working knowledge of Object-Oriented programming using Objective-C.

Objectives

Write applications using the Objective C language and the Xcode IDE

Build and use Tab Bars

Use TableViews to display and manage lists of data

Write apps that handle screen rotation and different device sizes

Persist data using files and SQLite databases

Perform graphical transformations and animation

Write apps that interact with built-in iOS apps

Interface with external services like Twitter and Facebook via web services

Imbed maps and use location-based services in your apps

Enable and implement In-App Purchase functionality

Work with the iCloud

Interact with device sensors such as the accelerometer

Detailed Outline

  1. Creating the first App – “Hello World”
    • Exploring Xcode
    • Working with Interface Builder
    • The Objects Library
    • View Hierarchy
    • Creating a Custom Icon for your App
    • Creating a Custom Splash/Launch screen for your App
  2. Working with Outlets, Actions & Views
    • Understanding the difference between Outlets and Actions
    • Working with TextFields, Buttons, Labels, WebViews, PageControllers and more
    • Understanding Views and Subviews
    • Creating Views Purely from Code
    • Mixing Methodologies
  3. Understanding View-Controllers & Application Templates
    • The Single View template
    • Exploring the App Delegate
    • Creating and adding new View Controllers
    • Transitioning between Multiple View Controllers with Animations
    • Using the Tab-Bar Application Template
    • Using the Master-Detail Application Template
  4. Working with the Keyboard
    • Customizing the Keyboard for different Inputs
    • Customizing TextField Behaviors
    • Methods for Dismissing the Keyboard
    • Using the NotificationCenter to Detect Keyboard Activities
    • Using the ScrollView
    • Programmatically Responding to Keyboard Activities by Scrolling Views
  5. Device Considerations – iPhone vs. iPad
    • Detecting Device Hardware Programmatically
    • Dynamically Adjusting Graphical Layouts in Response to Device Type
    • Methods for Dealing with Multiple Devices
    • Creating Universal App
  6. Using TableViews
    • Understanding the UITableView and UITableViewCell Classes
    • The UITableView DataSource and Delegate
    • TableView/TableViewCell Properties: Header, Footer, Height, Fonts, Images, AccessoryTypes and more
    • The Master-Detail Template
    • Drill-Down Menus and Navigation to other Views
    • Data-Persistence using Property-Lists
    • Creating Multi-Section Tables
  7. Supporting & Responding to Screen Rotations
    • Handling Device Rotation
    • Landscape Mode vs. Portrait Mode
    • Setting Preferred Device Orientation, Imposing no-Rotations
    • Dynamically Adjusting Graphical Layouts in Response to Rotation
  8. Persisting Data with Files
    • Overview of the iOS Device File Structure
    • Reading and Writing Files to the Device
    • Creating and Modifying Property Lists
    • Bundling Files and Resources with Apps
    • Exporting Documents
  9. Working with Databases
    • Importing the sqlite3 Library
    • Creating a Database, writing Tables, Inserting Records into Tables
    • Bundling a Database with your App
    • Checking for Existence of Databases
    • Reading and Displaying Database Data in Apps
  10. Animations and Video
    • How to use the NSTimer Class
    • Moving Objects across the screen
    • Using Transformations – Rotations, Scaling, and Translation
    • Animating Arrays of Images
    • Playing Video in an App
  11. Accessing Built-In iOS Apps
    • Using the Email Program
    • Launching Safari
    • Sending SMS messages
    • Working with the Camera
    • Working with the Photo-Library
  12. Using Web-Services
    • Consuming a Web-Service in an App
    • Parsing XML
    • Consuming and Parsing JSON Web Services
    • Integrating Twitter
    • Integrating Facebook
  13. Working with Maps & Location Services
    • Using the MapKit and UIMapView
    • Getting & Displaying User Location
    • Getting Directional Information
    • Displaying Map Annotations
    • Displaying Disclosure Buttons on Annotations
    • Performing Reverse GeoCoding
  14. Working with iCloud
    • Storing Documents in iCloud
    • Setting Project Entitlements
    • Managing iCloud Documents – the UIDocument Class
    • Storing Docs in iCloud
    • Storing Key-Value files in iCloud
  15. Working with the Accelerometer
    • Using the Gyroscope and the Accelerometer
    • Outputting Sensor Data
    • Using the Shake API