iPhone & iPad (iOS) Application Development




iPhone & iPad (iOS) Application Development Training Class 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.

Prerequisites: Good working knowledge of Object-Oriented programming using Objective-C.

Class Length: 5 days

iPhone & iPad (iOS) Application Development Training Class 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
iPhone & iPad (iOS) Application Development Training Class 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