Course Syllabus
IOS Applications development
Course objective: Building iOS 10 Applications class teaches attendees how to build iOS 10 native applications for iPhone and iPad using Objective-C and Apple's Cocoa Touch framework
Course Length:
40 training hours
Instructor: Jasty Saran
Methodology:
Lectures, class exercises and app development, class discussion, reading assignments and quizzes.
Course Outline:
Introduction
Xcode 8
o iPhone and iPad Device Anatomy
o iOS Architecture and SDK Frameworks o iOS and SDK Version Compatibility
o Apple iOS Developer Program
o Tour of the IDE
o Templates, Projects, and Workspaces of Creating a New Project
o LLVM and LLDB
o Debug Gauges
o Asset Management
o XCTest Testing Framework
o Continuous Integration and Bots
o Automatic Configuration
? Objective-C for Experienced Programmers
o Classes, Objects, and Methods
o Declared Properties
o Memory Management
o Automatic Reference Counting (ARC) o Categories and Extensions
o Formal and Informal Protocols o Blocks
? Application Patterns and Architecture
o Model View Controller (MVC) o IBOutlets and IBActions
o Subclassing and Delegation
? Views and Windows
o The View Hierarchy
o Containers
o Controls
o Text and Web Views
o Navigation View and Tab Bars o Alert Views and Action Sheets o Controlling Rotation Behavior o View Autosizing
o Autolayout
? Storyboards
o Adding Scenes
o Segues
o Transitions
o Using in a Tab Bar Application
? Table Views
o Static and Dynamic Table Views o Delegates and DataSources
o Table View Styles
o Custom Cells
? Navigation Based Applications
o Adding the Root View Controller
o Creating the Navigation Controller
o Controlling the Stack Navigation Programmatically
? UIPickerView and UIDatePicker
o Designing the UI
o Coding for the Data Picker o Hiding the Keyboard
o Memory Management
? Directories and Files
o NSFileManager, NSFileHandle, and NSData
o Problems Solved by ADO.NET Entity Framework o Pathnames in Objective-C
o Working with Directories
o Working with Files
o Reading and Writing from a File
o iCloud
o Key-V alue Data
o Archiving
? Working with Data
o SQLite Integration
o Using SQLite Directly o Overview of Core Data
o Managed Objects
o Persistent Store Coordinator
o Entity Descriptions
o Retrieving and Modifying Data
? Multitouch, Taps, and Gestures
o The Responder Chain
o Touch Notification Methods
o Enabling Multitouch on the View o Gesture Motions
o Gesture Recognizers
? Drawing
? Animation
o Core Graphics and Quartz 2D o Lines,Paths,andShapes
o Core Animation Blocks o Animation Curves
o Transformations
? Multitasking
o Application States
o Background Execution
o Background App Refresh in iOS 7 o State Restoration
? Notifications
o Local Notifications o Push Notifications
? Core Location Framework
o Location Accuracy
o Obtaining Location Information
o Calculating Distances
o MapKit Framework and MKMapView
? Concurrency
o Grand Central Dispatch (GCD) o Serial and Concurrent Queues o Main Dispatch Queue
o Completion Blocks
o Operation Queues
? Networking
o Reachability
o Synchronous Downloads
o Asynchronous Downloads
o Handling Timeouts
o Sending HTTP GET and POST Requests o Parsing JSON
o Parsing XML
o AirDrop
? Targeting Multiple Devices
o iPhone vs. iPad
o Universal Apps
o Multiple SDK Support
o Detecting Device Capabilities o Supporting iOS 6 and iOS 7
? Localization
o Resources
o Language and Region o NSLocale
o Text
o Dates
o Numbers
? Performance and Power Optimization
o Measuring Performance
o Instruments
o Responsiveness
o Memory Usage, Spikes, and Leaks o Networking and Power.