iPhone and iPad Application Development

This four day course explores the language, tools, and libraries required to build “native” iPhone/iPad applications with iOS 6. Assuming no prior iOS development experience, this course starts at the beginning of the development process, identifying what is needed to obtain the iOS SDK and continuing with a thorough exploration of Objective-C, the native programming language for iOS. After all of the necessary foundations are established, the iOS 6 SDK and its related development tools are introduced, providing a detailed examination of views, controls, view controllers, and the
event based lifecycle they participate in.

Throughout the course, concepts are reinforced through “hands-on” lab exercises. The culmination of these exercises result in an iPhone app that is intended to be used by attendees of a software development seminar (including a “master-detail” schedule of
sessions, attendee notes, map of the venue location, and display of a live website).

Learning Objectives

  • Build iPhone and iPad applications with the iOS 6 SDK
  • Master the underlying programming language, Objective-C
  • Discover the tools used to build dynamic user interfaces
  • Delve into the methods in which user input is collected
  • Explore techniques for debugging and profiling apps

Introduction to iOS Development

  • Introducing iOS Apple Developer
    Membership
  • iOS SDK
  •  Xcode
  • Interface Builder
  • iOS APIs
  • The iOS Simulator
  • Instruments
  • Documentation
  • Putting it Together

Objective-C: Basic Data Types and Object Creation

  • Introduction and Brief History
  • The Main Function
  • NSString Literal & NSLog
  • Primitive Data Types
  • Structs and Enumerated Data Types
  • Foundation Classes Overview
  • Object Creation & Messaging Overview
  • Object Creation: alloc / init
  • Object Creation: Basic Factory Methods

Objective-C: Common Foundation Classes & Control
Structures

  • Strings: NSString & NSMutableString
  • Collections: Arrays, Dictionaries, Sets and Literals
  • Wrappers: NSNumber and NSValue
  • Control Structures: Conditionals & Loops

Objective-C: Custom Classes

  • Custom Class Overview
  • Class Interface File
  • Import and the @class Directive
  • Inheritance and NSObject
  • Method Declarations
  • Class Implementation File
  • Method Definitions
  • Self and Super
  • Automatic Reference Counting (ARC)
  • Properties

Objective-C: Additional Topics

  • Protocols: Declaration and Implementation
  • Overriding NSObject Methods
  • Categories
  • Access Control
  • Basic Introspection
  • The “Address Of” Operator
  • Calling Back:
    Selectors, and Blocks

iOS Basics

  • Architecture of an App (The Main Run Loop)
  • Creating a Project
  • UIApplication and the App Delegate
  • UIKit Framework: Views and Controls
  • Storyboards, Scenes, and Segues
  • Build Actions (Run,Test, Profile, Analyze, Archive)
  • Debugging & Profiling
  • Frameworks
  • Xcode Tips

View Controllers: Connections and Flow

  • View Controller Overview
  • Life Cycle Methods
  • Modal Segues
  • IBOutlet and IBOutletCollection
  • IBAction
  • Delegates

View Controllers: Common Controllers

  • Navigation Controllers
  • Tab Bar Controllers
  • Table View Controllers: Static
  • Table View: Pull to Refresh (UIRefreshControl)
  • Table View Controllers: Prototype
  • Conditional Segues

Additional GUI Components

  • Image Views
  • Scroll Views
  • Web Views
  • Map Views
  • Internationalization (i18n)
  • Icons and the App
    Launch Image

Handling User Input

  • Alert Views and Action Sheets
  • Sliders, Switches, and Steppers
  • Pickers: Date and Custom
  • Text Fields, Keyboards, and “First Responders”
  • Gestures Device Rotation with
    Springs and Struts for iOS 5 and Earlier
  • Device Rotation with Autolayout for iOS 6

Appendix A: Basic Data Persistence

  • User Defaults
  • File System
  • iCloud Key/Value Pairs

Appendix B: Provisioning and Deployment

  • Digital Signatures and Assets
  • Development Build:Deploying to Your Own Device
  • Overview of the Provisioning Portal
  • Development and Distribution Certificates
  • Devices
  • App IDs
  • Provisioning Profiles
  • Targets, Configurations, and Schemes
  • Ad Hoc Build: Archiving and Distributing
  • Public Build: iTunes App Store
  • Exporting and Importing Assets

To Hire an AMS Subject Matter Expert who consults and teaches this iPhone and iPad Application Development class, call 800-798-3901 today!

Leave a Reply