Get in Touch

Course Outline

Foundational Programming Concepts

  • Object-Oriented Programming (OOP) principles
  • Definition and role of software
  • Organized versus unorganized data structures in programming
  • The importance of software

Apple and the iOS Ecosystem

  • Rationale for choosing iOS
  • Apple's corporate history
  • Evolution of iOS
  • Apple's Unique Selling Proposition (USP)
  • Key areas of Apple's expertise
  • User Experience (UX) versus User Interface (UI)

Development Environment Setup

  • Hardware and software requirements for development
  • Xcode and the iOS Software Development Kit (SDK)
  • Registration as an Apple Developer
  • Common causes for application rejection
  • Apple Human Interface Guidelines

Xcode iOS Project Management

  • Xcode interface overview
  • Step-by-step iOS project creation
  • Testing on simulators and physical devices

Swift Fundamentals

  • Transitioning from Objective-C to Swift
  • Key features and advantages of Swift
  • Variables
  • Constants
  • Writing a 'Hello World' program in Swift
  • Creating UILabels programmatically

Image Animation and Loading Techniques

  • Utilizing UIImageView
  • Basic animations for UIView and UIImageView
  • Effective use of Playgrounds
  • Image lazy loading strategies
  • Implementing lazy properties

Swift Classes and Interface Scenes

  • Defining Swift classes
  • Principles of memory management
  • Distinguishing between strong and weak references
  • Constructors and destructors in Swift
  • Protocols, Hashable, and Printable conformance
  • Inheritance mechanisms
  • Designing Interface scenes
  • Implementing View Controllers
  • Practical Playground exercises

Application Life Cycle and Responder Chain

  • View life cycle management
  • Application life cycle events
  • Handling the responder chain, including touchBegan and touchMoved methods
  • Utilizing NSTimer

Adaptive Layout Strategies

  • Comparing Storyboards versus XIB files
  • Supporting multiple device types
  • Icon sizing and handling device orientation
  • Constructing user interfaces programmatically
  • Using Outlets and Actions
  • Understanding required and optional protocols
  • Advanced memory management techniques

Notifications and Localization

  • Implementing Push Notifications, including silent pushes
  • Localizing applications for different regions

Overview of Objective-C

  • Using properties
  • Extending classes with categories
  • Objective-C function syntax
  • Property attributes: readWrite versus readOnly

Social Media Integration in iOS:

  • Integrating Facebook
  • Integrating Twitter
  • Implementing Mail functionality
  • Interfacing with third-party applications

iOS UI Components:

  • UITextField
  • UITextView
  • UISegmentControl
  • UISlider
  • UISwitch
  • UIProgressBar
  • UIPageControl
  • UIStepper
  • UIScrollView
  • UIPicker
  • UIActionSheet
  • UIWebView
  • SearchBar

Additional Basic iOS Components and Utilities:

  • Managing groups and folders
  • Closures
  • Tuples
  • URLSession
  • URLRequest
  • UIAlertView
  • UIActivityIndicatorView
  • Access control: internal, public, and private
  • Guard statements
  • Handling Optionals

Threading in iOS:

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

User Interaction Handling

  • Buttons and event handlers
  • Pan gesture recognition
  • Tap gesture recognition
  • Customizing Table Views
  • Fundamentals of Collection Views

Developing Multi-Screen Applications

  • Table-based navigation
  • Tabbed application structures
  • Implementing Navigation Controllers
  • Presentation techniques and animation effects for controller transitions

Location Services Implementation

  • Acquiring position and altitude data
  • Determining compass direction

Device Access and Data Storage

  • File system storage
  • Accessing the music library
  • Using CoreData and SQLite in iOS
  • Secure key storage with Keychain
  • Utilizing User Defaults
  • Working with Property Lists (PLists)
  • NSSearchPath for document directories
  • Understanding directory structures and app security via NSSearchPath

Speech Framework Capabilities

  • Converting speech to text
  • Converting text to speech

Multipeer Connectivity Framework

  • Transmitting data between devices
  • Establishing connections among multiple devices

Networking Fundamentals

  • Establishing network access
  • Serializing and deserializing JSON data
  • Implementing REST Web Services
  • Basics of XML parsing

App Store Distribution Process

  • Navigating iTunes Connect
  • Managing provisioning profiles in the Developer Portal
  • Deployment and distribution strategies
  • Testing applications on real devices
  • Uploading applications to the App Store

Practical Application Projects

  • Dots Game: https://itunes.apple.com/app/the-dots-free/id850315430
  • Notes App: Notes App
  • Contacts App
  • Data Fetching Project: Retrieve data from an open API, populate a table view, display details, implement a search bar, and utilize CoreData for offline storage
  • Capstone Project: Develop 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 (1)

Upcoming Courses

Related Categories