Get in Touch

Course Outline

Foundational Programming Concepts

  • Object-Oriented Programming (OOPS) principles
  • Definition and purpose of software
  • Concepts of organized versus unorganized programming structures
  • The importance of software

The Apple Ecosystem and iOS

  • Why choose iOS?
  • History of Apple
  • Evolution of iOS
  • Apple’s Unique Selling Proposition (USP)
  • What Apple is renowned for
  • User Experience (UX) versus User Interface (UI)

Development Environment Setup

  • Hardware and software requirements
  • Xcode and the iOS Software Development Kit (SDK)
  • Apple Developer Program registration
  • Common reasons for application rejection
  • Human Interface Guidelines

Creating iOS Projects in Xcode

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

Swift Fundamentals

  • Transition from Objective-C to Swift
  • Key features and advantages of Swift
  • Variables
  • Constants
  • Your first 'Hello World' in Swift
  • Creating a UILabel programmatically

Image Animation and Loading

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

Swift Classes and Interface Builder

  • Creating Swift classes
  • Memory management techniques
  • Understanding strong and weak references
  • Constructors and destructors in Swift
  • Protocols, Hashable, and Printable
  • Inheritance
  • Creating Storyboards
  • Implementing View Controllers
  • Using Playgrounds

Application Lifecycle and Event Handling

  • View lifecycle
  • Application lifecycle
  • Responder chain – touchBegan, touchMoved, and other touch methods
  • NSTimer

Adaptive Layout Design

  • Storyboards versus XIB files
  • Support for multiple device sizes
  • Icon sizing and device orientation
  • Building user interfaces programmatically
  • Outlets and Actions
  • Protocols: Required versus optional
  • Memory management strategies

Notifications and Localization

  • Push Notifications: Silent and Active
  • Localization techniques

Overview of Objective-C

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

Social Media Integration in iOS

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

iOS UI Components

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

Additional Core Components in iOS

  • Groups and folders
  • Closures
  • Tuples
  • URL Session
  • URLRequest
  • UIAlertView
  • UIActivityIndicatorView
  • Access control: internal, public, private
  • Guard statements
  • Optionals

Threading in iOS

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

User Interaction

  • Buttons and event handlers
  • Pan gesture recognition
  • Tap gesture recognition
  • Customizing Table Views
  • Introduction to Collection Views

Multi-Screen Applications

  • Table-based navigation
  • Tabbed application structures
  • Navigation Controllers
  • Presenting controllers with various presentation and push animations

Location Services

  • Position and altitude tracking
  • Compass direction

Device Access and Data Storage

  • File storage
  • Accessing the Music Library
  • CoreData and SQLite in iOS
  • Keychain storage
  • User Defaults
  • PLists
  • NSSearchPathDirectory
  • Directory concepts and app security within NSSearchPathDirectory

Speech Framework

  • Speech-to-text capabilities
  • Text-to-speech functionality

Multipeer Connectivity Framework

  • Transmitting data between devices
  • Connecting multiple devices

Networking

  • Network access
  • JSON serialization and deserialization
  • RESTful web services
  • Basics of XML parsing

Uploading Your App to the App Store

  • Using iTunes Connect
  • Developer Portal – Provisioning profiles
  • Deployment and distribution
  • Running apps on real devices
  • Submitting your app to the App Store

Sample Applications

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

Requirements

Previous experience with at least one programming language is required.

 35 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories