Introduction to iPhone and iPad Development (5 days) (​with iOS9

 Introduction to iPhone and iPad Development (5 days) (​
with iOS9, Xcode 7, Objective C 2, and Swift 2) Course Description… This course is designed to help experienced developers get started in creating iOS applications for iPhones, iPads, and iPods. Students will explore the development environment and understand which tools, compilers, and frameworks are necessary and available for iOS development. Students will learn the basics of both Objective­C and Swift 2 while creating multiple applications which respond to user events. Students will test applications using the Simulator. Instructors provide lecture and hands­on training with the tools and concepts to ensure students are able to feel confident to meet the learning objectives. Classroom topics can be customized to your organization. Learning Objectives… ●
●
●
●
●
●
●
●
●
Understand the background and overall structure of iOS How to navigate and use Xcode Understand structure and usage of Objective­C 2.0 and Swift 2.0 Run and debug applications using Simulator Design user interfaces using various built­in ​
UIView​
elements Implement methods to respond to user interface controls Work with table views, navigation controllers Connect with web services and convert JSON data to objects Persist user data and application state Who should attend… Professional developers who want to be begin creating applications for iPhone and iPad Versions Used: This course is taught using iOS9 and Xcode 7 Prerequisites… This course is designed for software developers who are new to iOS development and need to create professional mobile applications. Experience with object­oriented programming is required to get the most from this course. Intro­iOS / 1 Rev 9­15
www.karmoxie.com Course Topics... 1.
Getting Started with iOS development ● Current State of iOS Development ○ Types of Apps ○ Methods for development, native versus web­based ○ Supporting older versions of iOS ○ Pricing Methods ○ Advertising ○ App Thinning ● iOS Human Interface Guidelines ● Setting Up Your Environment ○ Registering with Apple ○ Joining an iOS Developer Program ○ Downloading the SDK ● Getting familiar with Mac ○ Shortcut keys, Activity Monitor, Stopping Tasks ○ System Preferences, Finder, Spotlight 2.
Working with iOS Projects in Xcode 7 ● Overview of Xcode and iOS ○ Opening an existing Project ○ The main panes of Xcode ○ Running Code in Simulator ○ Debugging Code ○ Code completion ● Creating a new iOS application ○ Using Templates ○ Creating a new project 3.
Designing User Interfaces ●
●
●
●
●
Cocoa Touch Layer and UIKit Framework Managing Windows and Views Adding Buttons, Text Fields, Labels Creating user interfaces to target different devices and rotation Universal storyboards for adaptive layouts Intro­iOS / 2 Rev 9­15
www.karmoxie.com 4.
Programming in Objective­C ● Objective­C Syntax ○ Data Types and Variables ○ Using Expressions and Operators ○ Controlling Application Flow ○ Using Constants ● Foundation Framework ○ Representing Numbers, Strings and Collections ○ Allocating and initializing Objects ○ Using Literals ○ Sending Messages ● Declaring Custom Classes ○ Header and implementation files ○ Using #import and @class ○ Using @property and choosing appropriate parameters ○ Synthesizing Properties, using _ivars ● Memory Management in iOS 5.
Coordinating Interactions Using View Controllers ●
●
●
●
●
Customizing behavior by adopting Protocols Adding Outlets and Actions in Xcode Connecting Outlets and Actions to the User Interface Configuring view controllers as a delegates Adopting protocols and implementing required and optional methods 6.
Swift 2.0 ●
●
●
●
●
●
The Swift 2 Playground Creating Variables and Variable Types Modifying Strings Collections with Arrays and Dictionaries Conditionals and Looping Creating Classes, Methods, Objects and Subclasses 7.
Working with Data in iOS ●
●
●
●
●
Property Lists and ​
NSUserDefaults Using SQLite Creating and Reading Object Archives Working with Core Data Displaying Data in Tables Intro­iOS / 3 Rev 9­15
www.karmoxie.com 8.
Creating Apps with Multiple Screens ●
●
●
●
Using Tables to Navigate Creating Tabbed Applications Navigation Controllers Adding ViewControllers to Storyboards ○ Adding scenes ○ Configuring segues and transitions ● iPhone versus iPad Navigation 9.
Web Services ●
●
●
●
●
Networking and Web Services Connecting to servers and receiving data Using NSURLRequest and NSURLConnection Using REST, creating requests and getting data Serializing/deserializing data with JSON 10. Distributing Applications ● Checklist to avoid rejection ● Publish for Testing ● Publish to App Store Intro­iOS / 4 Rev 9­15
www.karmoxie.com