iOS Development Training with Objective-C and Xcode

About the Training

The iOS Development Training with Objective-C and Xcode teaches how to use the Objective-C programming language and Apple’s Xcode integrated development environment (IDE) to develop iOS applications. This training covers the essential topics that participants will need throughout the iOS app development process.

The course introduces the basic structures of the Objective-C language, including data types, functions, control structures, object-oriented programming (OOP) principles, debugging, and other key concepts. Participants develop Objective-C coding skills through examples and projects.

The training also covers how to use Apple’s Xcode development environment to build iOS applications. Participants will learn about Xcode’s user interface, build processes, debugging tools, and other features. Additionally, they will explore the core features of the iOS SDK, which provides the tools needed to develop applications for various iOS platforms.

The iOS Development Training with Objective-C and Xcode covers the entire iOS app development process. Participants gain the essential skills required before starting to develop apps for iOS platforms. Through examples, practical applications, and projects, the training helps participants start building iOS applications.

The training program begins with the fundamentals of Objective-C programming. Participants learn basic programming concepts such as variables, data types, operators, loops, and control flow. Additionally, detailed lessons are provided to understand object-oriented programming principles in Objective-C, including classes, objects, and methods. These form the foundation that participants will need during the iOS app development process.

The course also focuses on the core features and libraries of the iOS SDK. This equips participants with the ability to leverage the various capabilities and services of the iOS platform. Topics include creating user interfaces (UI), working with documents and data, sending network requests and processing the received data, and utilizing device features (such as the camera, GPS, etc.).

Lastly, we provide guidance on how to upload and publish an app on the App Store. This process covers performing final testing on the app, creating its listing and metadata, and submitting it. This knowledge helps participants successfully publish their apps on the App Store.

What Will You Learn?

During the iOS Development Training with Objective-C and Xcode, you will learn the following:
  • The basic features and usage of the Objective-C language
  • How to use and navigate the Xcode development environment
  • Designing iOS applications and developing user interfaces (UI)
  • Data structures and database usage
  • Networking concepts and connecting to web services
  • Debugging and application testing techniques
  • The process of publishing applications to the Apple App Store
This training covers not only iOS application development topics but also the fundamental features of the Objective-C language and Xcode, allowing you to gain the skills needed to develop functional and impressive applications on the iOS platform.

Prerequisites

There are no specific prerequisites for the iOS Development Training with Objective-C and Xcode, but the following can be beneficial:
  • Programming experience: Understanding basic programming concepts and having prior experience with programming languages can make the training more effective.
  • Computer knowledge: Familiarity with the hardware and software required for development may be helpful.
  • English proficiency: The training materials and development environment are usually provided in English.
These prerequisites are not mandatory, and anyone can start developing for iOS. However, having prior experience and knowledge in these areas can make the training easier and more productive.

Who Should Attend?

The following individuals can participate in the iOS Development Training with Objective-C and Xcode:
  • Individuals interested in programming: Anyone who wants to gain the skills to develop applications on the iOS platform may be suitable for the training.
  • Mobile app developers: Mobile developers who want to gain a deeper understanding of iOS application development and enhance their skills are well-suited for the training.
  • Business and technology professionals: Business and tech professionals who want to learn about the design, development, and distribution of iOS applications may also find the training suitable.
The training is appropriate for anyone with programming experience and is beneficial for those who want to acquire the skills to develop functional and impressive applications on the iOS platform.

Outline

Introduction
Getting Started
  • Intro to Obj-C
  • Data Types, Variables & Constants
  • Strings, Numbers, Bools
  • Literals
  • Type Casting
  • nil
Unit Testing
  • Introduction
  • XCTest Framework
  • Asserts
  • Performance Testing
  • Xcode Service
More Objective-C: Flow Control
  • Loops
  • Switch
  • Logical Operators
UI with Interface Builder
  • Introduction
  • View Controllers
  • Views
  • Outlets
  • Actions
More Objective-C: Functions
  • Parameters
  • Return Values
  • Blocks
  • Completion Handler
Debugging
  • Introduction
  • Breakpoints
  • Debug Gauges
More Objective-C: Objects and Memory
  • Properties
  • Dot Notation
  • Automatic Reference Counting (ARC)
  • Object Initialization
Windows and Views
  • View Types
  • Responder Chain
  • View Resizing
  • Screen Size Considerations
  • Autosizing
  • Auto Layout
More Objective-C: Collections
  • Arrays
  • Sets
  • Dictionaries
  • Enumerations
Asset Management
  • Asset Catalogs
  • App Icon
More Objective-C: Beyond Basics
  • Protocols
  • Categories
  • Blocks
Application Patterns
  • Model-View-Controller (MVC)
  • Model-View-Presenter (MVP)
  • Model-View-View-Model (MVVM)
  • Target-Action Pattern
  • Subclassing
  • Delegation
  • Protocol Oriented Programming (POP)
Storyboards
  • Introduction
  • Scenes
  • Segues
  • Moving Data Between Controllers
Navigation Controller
  • Introduction
  • Root View Controller
  • Navigation
  • Segues and Passing Data
UI Design
  • Constraints
  • Missing/Insufficient Constraints
  • Misplaced Views
  • Conflicting Constraints
  • Content Hugging, Compression Resistance
Table Views
  • Overview
  • Delegates and Data Sources
  • Table Styles
  • Cell Styles
  • Prototype View Cells
  • Navigation
  • Static Table Views
Universal Apps
  • Introduction
  • UI Considerations
  • Full Screen
  • UI Variants
UIPicker View
  • Directories and Files
  • Introduction
  • Obj-C Classes
  • Pathnames
  • Directories
  • Files
  • File I/O
  • UserDefaults
CoreData
  • Introduction
  • Entities
  • Relationships
  • Code Generation
Multitouch, Taps and Gestures
  • Touches
  • Gestures
  • Gesture Recognizers
Drawing
  • Introduction
  • Points, Coordinates, Pixels
Animation
  • CoreAnimation
  • Animation Blocks
  • Transformations
App States
  • Introduction
  • AppDelegate
  • Considerations and Limitations
  • Background Execution
Notifications
  • Overview
  • Permission
  • Local Notifications
  • Push Notifications
  • Notification Center
CoreLocation
  • Basics
  • Location Accuracy
  • Distance Filter
  • Location Updates
  • Calculating Distances
MapKit
  • Introduction
  • MKMapView
  • Regions
  • Map Type
  • Location
  • Annotations
Concurrency
  • Introduction
  • Grand Central Dispatch (GCD)
Networking
  • Reachability
  • Synchronous Downloads
  • Asynchronous Downloads
  • GET and POST Requests
  • JSON
Localization
  • Introduction
  • Resources
  • Language and Region
  • Translation Considerations
Running on a Physical Device
  • Developer Account
  • Development Certificate
  • Registering the Device
  • Build for Device
Performance and Power Optimization
  • Introduction
  • Measuring Performance
  • Memory Considerations
  • Networking Considerations
Deployment
  • Icons and Launch Storyboard
  • Archiving
  • Distribution
  • iTunes Connect
Debugging
  • LLDB and Custom Breakpoints
  • Stack Trace
  • Thread Inspection
  • View Hierarchy Debugger
API Design
  • Server calls
  • Completion Blocks
  • User Feedback
  • Handling UI Updates
  • Notification Center
Instruments
  • Leaks
  • CPU/Performance
Threading
  • Operation subclassing
  • Concurrent Queues
  • Serial Queues
  • OperationQueue vs GCD
  • Semaphore-based Locking
Swift and Obj-C
  • Interoperability
  • Bridging Header
  • Swift from Obj-C
  • Obj-C from Swift

Training Request Form