Get in Touch

Course Outline

Foundational Programming Concepts

  • Object-Oriented Programming (OOP) principles
  • Understanding what software is
  • Organized versus disorganized programming structures
  • The importance and purpose of software

Why Choose Apple and iOS?

  • The appeal of iOS
  • History of Apple
  • Evolution of iOS
  • Apple’s Unique Selling Proposition (USP)
  • What Apple is renowned for
  • Distinction between UX and UI

Development Environment Setup

  • Requirements for the development environment
  • Xcode and the iOS Software Development Kit (SDK)
  • Apple Developer Registration process
  • Common reasons for application rejections
  • Adhering to Human Interface Guidelines

Xcode and iOS Projects

  • Overview of Xcode
  • Creating an iOS project
  • Running applications on simulators and real devices

Swift Fundamentals

  • The transition from Objective-C to Swift
  • Key features and advantages of Swift
  • Variables
  • Constants
  • Hello World in Swift
  • Creating UILabels programmatically

Image Animation and Loading

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

Swift Classes and View Controllers

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

Life Cycle and Responder Chain

  • View Life Cycle
  • Application Life Cycle
  • Responder Chain: touchBegan, touchMoved, and other methods
  • Using NSTimer

Adaptive Layout Strategies

  • Storyboards versus XIB files
  • Support for multiple devices
  • Icon sizing and device orientation handling
  • Building User Interfaces using code
  • Outlets and Actions
  • Protocols: Required and Optional
  • 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 apps

iOS UI Components

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

Additional Basic Components in iOS

  • Groups and folders
  • Closures
  • Tuples
  • URL Session
  • 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 Handling

  • Buttons and handlers
  • Pan gesture recognition
  • Tap gesture recognition
  • Custom Table Views
  • Basics of Collection View

Multi-Screen Applications

  • Table Navigation
  • Tabbed Applications
  • Navigation Controllers
  • Presenting controllers and various presentation and push animations

Location Services

  • Position and Altitude
  • Compass Direction

Device Access and Storage Management

  • File Storage
  • Music Library Access
  • CoreData and SQLite in iOS
  • Key Chain
  • User Defaults
  • Property Lists (PLists)
  • NSSearchDomain
  • Directory concepts and app security within NSSearchDomain

Speech Framework

  • Speech to Text conversion
  • Text to Speech synthesis

Multipeer Connectivity Framework

  • Sending data between devices
  • Connecting multiple devices

Networking

  • Network Access
  • Serializing and Deserializing JSON
  • REST Web Services
  • Basics of XML Parsing

Uploading an App to the App Store

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

Practical Application Examples

  • Dots Game: https://itunes.apple.com/app/the-dots-free/id850315430
  • Notes App: Notes App
  • Contacts App
  • Developing an app that fetches data from an open API, displays it in a Table View with details, includes a Search Bar for search functionality, and uses Core Data for offline data storage
  • Creating a personal application based on your own idea

Requirements

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

 35 Hours

Testimonials (1)

Related Categories