Get in Touch

Course Outline

Foundational Programming Concepts

  • Object-Oriented Programming (OOP) principles
  • Definition of software
  • Concept of organized versus unorganized code structures
  • The importance of software

The Apple Ecosystem and iOS

  • Reasons to choose iOS
  • Apple's history
  • iOS history
  • Apple's Unique Selling Proposition (USP)
  • What Apple is renowned for
  • UI versus UX

Development Environment Setup

  • Requirements for the development environment
  • Xcode and the iOS SDK
  • Apple Developer program registration
  • Common reasons for application rejections
  • Human Interface Guidelines

Xcode iOS Projects

  • Xcode overview
  • Creating an iOS project
  • Testing on the simulator and real devices

Swift Fundamentals

  • Transitioning from Objective-C to Swift
  • Key features of Swift
  • Variables
  • Constants
  • Writing "Hello World" in Swift
  • Creating a UILabel programmatically

Image Handling and Animation

  • UIImageView
  • Basic UIView and UIImageView animations
  • Using Playgrounds
  • Lazy loading of images
  • Lazy properties

Swift Classes and View Controllers

  • Creating Swift classes
  • Memory management strategies
  • Strong and weak references
  • Initializers and deinitializers in Swift
  • Protocols, Hashable, and Printable
  • Inheritance
  • Creating View Controllers
  • Implementing View Controllers
  • Using Playgrounds

Life Cycle and Event Handling

  • View life cycle
  • Application life cycle
  • Responder chain - handling touchBegan, touchMoved, etc.
  • NSTimer

Adaptive Layouts

  • Storyboards versus XIB files
  • Supporting multiple device types
  • Icon sizing and device orientation
  • Building user interfaces programmatically
  • Outlets and Actions
  • Protocols - Required and optional methods
  • Memory management

Notifications and Localization

  • Push Notifications - Silent and standard
  • Localization techniques

Overview of Objective-C

  • Properties
  • Categories
  • Function syntax
  • Property attributes: readWrite and readOnly

Social Media Integration in iOS:

  • Facebook integration
  • Twitter integration
  • Mail integration
  • Integrating third-party applications

UI Components in iOS:

  • UITextField
  • UITextView
  • UISegmentedControl
  • UISlider
  • UISwitch
  • UIProgressBar
  • UIPageControl
  • UIStepper
  • UIScrollView
  • UIPickerView
  • UIActionSheet
  • UIWebView
  • SearchBar

Additional Core Components in iOS:

  • Groups and folders
  • Closures
  • Tuples
  • URLSession
  • URLRequest
  • UIAlertView
  • UIActivityIndicatorView
  • Access modifiers: internal, public, private
  • Guard statements
  • Optionals

Threading in iOS:

  • Grand Central Dispatch (GCD)
  • NSOperationQueue
  • Main Thread and Background Threads

User Interaction

  • Buttons and action handlers
  • Pan gesture recognition
  • Tap gesture recognition
  • Custom Table Views
  • CollectionView fundamentals

Multi-Screen Applications

  • Table navigation
  • Tabbed applications
  • Navigation Controllers
  • Presenting controllers and animations during presentation and pushing of controllers

Location Services

  • Position and altitude
  • Compass direction

Device Access and Data Storage

  • File storage
  • Music library access
  • CoreData and SQLite in iOS
  • Keychain
  • User Defaults
  • Property Lists (PLists)
  • NSSearchDomain
  • Directory concepts and app security regarding NSSearchDomain

Speech Framework

  • Speech to text conversion
  • Text to speech conversion

Multipeer Connectivity Framework

  • Transmitting data between devices
  • Connecting multiple devices

Networking

  • Network access
  • JSON serialization and deserialization
  • REST Web Services
  • XML parsing basics

Submitting App to the App Store:

  • iTunes Connect
  • Developer Portal - Provisioning profiles
  • Deployment and distribution strategies
  • Running the app on real devices
  • Uploading the app to the App Store

Practical Applications:

  • Dots Game: https://itunes.apple.com/app/the-dots-free/id850315430
  • Notes app: Notes App
  • Contacts App
  • Retrieving data from an open API server, creating a table view to display details, implementing a search bar, and using Core Data for offline storage
  • Developing an application based on your own concept

Requirements

Participants must have prior experience with at least one programming language.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories