There are currently no items in your shopping cart.

User Panel

Forgot your password?.

iOS 13 & Swift 5 – The Complete iOS App Development Bootcamp

Getting Started with iOS 13 and Swift 5.1 :
Intro to the Course. What's coming up?
Download the Course Syllabus
How to Get All the Free Stuff
Download your Massive Bundle of Assets
Download the 12 Rules to Learn to Code eBook PDF
How does an App Work?
How to Make an App
How to Make the Most of the Bootcamp
How to Get Help When You're Stuck
The Giant List of Resources
Developing for iOS - Tools and Materials
Can I use Windows? (and other FAQs)
Getting set up with Xcode

Xcode Storyboards and Interface Builder :
The I am Rich App
Let's Create a Brand New Xcode Project
A Walkthrough of the Xcode Development Environment
Let's Design the User Interface!
Let's Incorporate Some Image Assets
How to Design and Add an App Icon
Run Your App on Your iPhone or Simulator
App Signing and Provisioning Profile problems? I got you fam.
Join the Student Community

Xcode Storyboard and Interface Builder Challenge :
What You Will Create
Step 1: Create a New Xcode Project
Step 2: Add a Label Element from the Object Library
Step 3: Add an Image View to the Storyboard
Step 4: Add an App Icon
Step 5: Run Your App
Step 6: Show off your work!

Swift Programming Basics - Collections, Constants & Variables :
What You'll Make by the End of This Module
Cloning from GitHub and How to Download the L.A.B. Project Stubs
How to Design Your App
Let's Link Our Design to Our Code
Responding to User Interactions with IBActions
[Swift Deep Dive] Naming Conventions, Commenting and String Interpolation
Storing Data using Variables and Arrays
[Swift Deep Dive] Variables
How to sign up and submit exercises on
[Swift Deep Dive] Arrays
How to Randomise the Dice Images
How to Solve the Error: "Maximum number of apps for free development reached"
[Swift Deep Dive] Constants, the Range Operator and Randomisation
Download the Completed App Project
Thread 1: signal SIGABRT and "Not Key Value Coding Compliant" - How to fix it
Do You Want This?

Swift Programming Basics Challenge :
What You Will Create
Step 1: Clone the Starting Project
Step 2: Design the User Interface
Step 3: Link Up the Design with Code
Step 4: Use Code to Change the 8 Ball Image
Step 5: Make the Ball Image Random
Step 6: Show off your work!
Download the Completed Project

Auto Layout and Responsive UIs :
Why do we need Auto Layout?
Size Classes Explained
Setting Constraints and working with the Safe Area
How to use Alignment and Pinning
Working with Containers and Subviews
Stack Views
Auto Layout (Optional) Boss Challenge
Download the Completed Project
Calculator Challenge Solution and Walkthrough

Using and Understanding Apple Documentation :
What You'll Make by the End of this Module
Setting up the Xylophone Project
The 5 Step Approach to Solve Any Programming Problem
[Swift Deep Dive] Functions and Scope
How to use
Linking Multiple Buttons to the Same IBAction
[Swift Deep Dive] Functions with Inputs and Type Inference
Playing Different Xylophone Sounds
Boss Challenge
Download the Completed App Project

Intermediate Swift Programming - Control Flow and Optionals :
What You'll Make by the End of this Module
Setting up the Egg Timer Project and Linking the Storyboard and ViewController
[Swift Deep Dive] If-Else Control Flow
[Swift Deep Dive] Switch Statements
Conditional Statements Challenge Solution
[Swift Deep Dive] Dictionaries
[Swift Deep Dive] Defining and Unwrapping Optionals
Dictionary Challenge Solution
Implementing a Countdown Timer Challenge
Egg Timer Challenge Solution
Showing the Timer to the User with a Progress View
Calculating the Progress Percentage
Using the 5 Step Approach to Debug our App
Download the Completed App Project

iOS App Design Patterns and Code Structuring :
What You'll Make by the End of this Module
Setting up the Quizzler Project and Showing the Questions
Checking Answers using 2-Dimensional Arrays
[Swift Deep Dive] Structures, Methods and Properties
Creating a Question Struct
Giving the User Feedback and working with a ProgressView
Understand the MVC Design Pattern
Implementing MVC and Understanding Parameter Names
[Swift Deep Dive] Functions with Outputs and Return Types
Refactoring to Implement the MVC Design Pattern
[Swift Deep Dive] Immutability
Using Mutating Functions to Track the Score
Download the Completed App Project

iOS App Design Pattern Challenge :
What You'll Create
Step 1: Clone the Starting Project
Step 2: Update the storyLabel and Button Titles
Step 3: Create a Structure
Step 4: Update the Story
Step 5: Apply MVC
Step 6: Make the StoryBrain more Scalable
Step 7: Show off your Work!
Download the Completed App Project

Advanced Swift Programming - Classes, Inheritance & Advanced Optionals :
What You'll Make by the End of this Module
Learn How to Use a UISlider
Using the UISliders to Calculate the BMI
[Swift Deep Dive] Classes and Inheritance
[Swift Deep Dive] Structs v.s. Classes
How to Use the Docs in Xcode and Create a Custom UIViewController Class
How to Create a UI Programatically and Pass Data between ViewControllers
Segues and Navigation for Multi-Screen Apps
Adopting MVC by Creating a CalculatorBrain
[Swift Deep Dive] Optional Binding, Chaining, and the Nil Coalescing Operator
Use Optionals in Practice and Add the Finishing Touches with Colour Literals
Download the Completed App Project

Advanced Swift Programming Challenge :
What You'll Make
Step 1: Clone the Starting Project
Step 2: Create IBActions and IBOutlets for the Calculator Screen
Step 3: Create IBActions and IBOutlets for the Results Screen
Step 4: Figure out how much Tip to Apply
Step 5: Figure out how Many People to Split the Bill Between
Step 6: Calculate the Bill
Step 7: Pass the Result to the ResultsViewController
Download the Completed App Project

Networking, JSON Parsing, APIs and Core Location :
What You'll Make by the End of This Module
Dark Mode and Working with Vector Assets
Learn to use the UITextField
[Swift Deep Dive] Protocols
The Delegate Design Pattern
An Example of Protocols and Delegates in Practice
Understanding the OpenWeather API and URL Parameters
Use the URLSession for Networking
[Swift Deep Dive] Closures
JSON Decoding
Create a WeatherModel and Understand Computed Properties
Typealiases and a Protocols and Delegate Challenge
[Swift Deep Dive] Internal and External Parameter Names
Method Naming Conventions and Error Handling
Updating the UI by Using the DispatchQueue
[Swift Deep Dive] Extensions and Default Implementations for Protocols
Using Extensions to Refactor the ViewController
Using CoreLocation to get Location Data
What is a Property List (.plist)?
Download the Completed App Project

Networking and API Challenge :
What You Will Make
Step 1: Clone the Starting Project
Step 2: UIPickerView Functionality
Step 3: Make the API Request
Step 4: Parse the JSON Data
Step 5: Update the User Interface Using the Delegate Pattern
Step 6: Refactor with Extensions
Download the Completed App Project

Firebase Cloud Firestore, TableViews and Cocoapod Dependencies :
What You'll Make by the End of this Module
Navigation Controller Stacks and Segues
Typing Animations, Timers and For Loops
[Swift Deep Dive] Loops
Loops Coding Exercise
1 question
Fibonacci Solution Code File
Introduction to 3rd Party Libaries
Cocoapods Installation Instructions
How to Install a Pod to your Project
Potential Problems with Pod Installation
How to use the CLTypingLabel Pod
How to Choose your Package Manager
Adding Firebase to your Project
Registering New Users
Logging in Existing Users
Logging Out Users
Using a Constants File and Understanding the static Keyword
How to use a UITableView and Create a Message Model
Customising Cells in a TableView using a .xib File
[Swift Deep Dive] Casting as? as! as is and understanding Any
Database setup and Saving Data to Firestore
Retrieving Data from Firestore
Listening for Updates on Firestore
How to Sort Data retrieved from Firestore
How to Manage the Keyboard and use the Swift Package Manager
Finishing Touches: UI and UX Improvements
The ViewController Lifecycle Explained
The App Lifecycle Methods Explained
No Such Module Error

The Command Line and Terminal :
Introduction to the Command Line
Command Line Shortcuts
Directory and File Manipulation Using the Command Line + Bonus

SwiftUI and Declarative Programming :
What is SwiftUI?
How to Build a SwiftUI App from Scratch
Download the Completed I am Rich SwiftUI Project
How to Create Complex Designs and Layouts using SwiftUI
Bug Alert! Text Not Displaying Correctly in Dark Mode
Download the Completed MiCard SwiftUI Project
SwiftUI Dicee Part 1 - Designing a Layout using Spacers and Subviews
SwiftUI Dicee Part 2 - Building in Functionality and Managing State
Download the Completed Dicee SwiftUI Project
H4X0R News Part 1 - Understanding the List and Identifiable Protocol
H4X0R News Part 2 - Networking in SwiftUI
H4X0R News Part 3 - The Observer Design Pattern
H4X0R News Part 4 - Using UIKit Components with SwiftUI
Bug Alert! List Only Shows 1 Line and Truncates Text
Download the Completed H4X0R News SwiftUI Project
Running your iOS App on a Mac with Project Catalyst

Local Data Persistance - User Defaults, Core Data and Realm :
The Clear App Clone that You'll Build by the End of this Module
Subclassing a UITableViewController
TableView Delegate Methods and Accessories
Creating a Textfield Inside UIAlert to Add New Items
Why Do We Need Persistent Local Data Storage?
Persistent Local Data Storage Using UserDefaults
UserDefaults Explained
[Advanced Swift] The Swift Singleton Object
A Quick Note About the Next Lesson
Creating a Custom Data Model
[Advanced Swift] The Swift Ternary Operator
Restructuring Our App with MVC
The Concept of iOS Sandboxing
Encoding Data with NSCoder
Decoding Data with NSCoder
Introduction to Databases
How to Setup and Configure Core Data
How to Save Data with Core Data (Create in CRUD)
How to View Your SQLite Database Backend for Core Data
Core Data Fundamentals
Reading Data from Core Data (Read in CRUD)
Updating Data with Core Data (Update in CRUD)
Removing Data from Core Data (Delete in CRUD)
How to Implement a UISearchBar and Querying with Core Data
How to Go Back to the Original List?
How to Create Relationship Graphs in Core Data
[Solution to Challenge] Setting Up CategoryViewController
Adding the Delegate Method
Introduction to Realm
How to Save Data Using Realm (Create in CRUD)
Fetching Data from Realm (Read in CRUD)
Updating Data with Realm (Update in CRUD)
Removing Data from Realm (Delete in CRUD)
A Quick Note About the Next Lesson
Querying Data Using Realm
Review of How Our App Uses Realm for Data Persistence
A Note About the Next Lecture
Making Our Cells Swipeable
Inheriting from SwipeTableViewController
[Solution to Challenge] Inheriting from SwipeTableViewController
Adding Colour to Our App
[Solution to Challenge] Persisting the Colour Property
Creating Gradient Flow Cells
A Quick Note About the Next Lesson
Updating the UI of the Navigation Bar
The Completed App Project

Git, GitHub and Version Control :
Introduction to Version Control and Git
Version Control Using Git and the Command Line
GitHub and Remote Repositories
GitHub Private Repos are now Free! ?
Cloning Repositories
Branching and Merging
Using Xcode for Source Control
Forking and Pull Requests
Optional Challenge

In-App Purchases and Apple StoreKit :
What You'll Need to Implement In-App Purchases
Download the Skeleton Project
Check out the Skeleton Project
Setup Your In-App Purchase on App Store Connect
Create an Inspirational Quotes App
Detecting When a User Wants to Make a Purchase
Implementing the In-App Purchase with Apple StoreKit
A Quick Note About the Next Lesson
Create Sandbox Users on the App Store to Test In-App Purchases for Free
Giving Users Access to Purchased Content
Restoring In-App Purchases
Download the Completed App Project

Advanced Swift Classroom - Part 1 :
Introduction to the Advanced Section
Advanced Swift Properties
A Quick Note About the Next Lesson
Computed Properties
Observed Properties
Advanced Properties Challenge

Advanced Swift Classroom - Part 2 :
What We'll Make - Calculator
Download the Skeleton Project
Accumulating Numbers in the Calculator
Swift Access Levels
Download the Access Levels Challenge Stub Code
Swift Access Levels Quiz
9 questions
Advanced Swift Optionals
Adding More Functionality to Our Calculator
Dealing with the Decimal Place
Refactoring with Computed Properties
Conforming to MVC
Swift Structs vs. Classes - The Theory
Swift Structs vs. Classes - In Practice
How to Turn Our Model into a Struct
Swift Tuples
Guard Let vs. If Let When to Use Which?
Download the Completed App Project

CoreML and Machine Learning :
Introduction to Machine Learning
Supervised Learning
Unsupervised Learning
Reinforcement Learning
What is CoreML?
What we'll be making
Download the Vision V3 Pre-Trained Machine Learning Model
How to Import the Image Recognition Model & Enable Camera Functionality
Getting Image Recognition Results Back from Our V3 Model
Hotdog or Not Hotdog?
Download the Completed App Project

Advanced CoreML - CoreML Tools & Converting Models :
What we'll be making
Installing CoremlTools using Python PIP
Converting a Caffe Model into MLModel
[Challenge] - Set up a UIImagePickerController
[Solution] - Setting up a UIImagePickerController
[Challenge] Getting Classifications from Our Model
[Solution] Getting Classifications from our Model
[Challenge] Adding Cocoapods to Our Project
[Solution] Adding Cocoapods to Our Project
[Challenge] Making HTTP GET requests to Wikipedia using Alamofire and REST
[Solution] Making HTTP GET requests to Wikipedia using Alamofire and REST
[Challenge] Parsing the JSON Result using SwiftyJSON
[Solution] Parsing the JSON Result using SwiftyJSON
Displaying Images From a URL using SDWebImage
[Bonus Lesson] Creating the App Icon From Scratch and Styling the App
Download the Completed App Project

CreateML - Building Your Own Machine Learning Model from Scratch :
Introduction to CreateML
How to Gather Data for Training
How to Train a Brand New Machine Learning Model
[Challenge] Build Your Own Machine Learning Model
Download the Completed Model

CreateML & Natural Language Processing (NLP) :
What We'll Make - Twitter Sentiment Analysis
Using CreateML for Natural Language Processing
How to Sign Up as a Twitter Developer
Setting Up the Swifter Framework
How to Fetch Live Twitter Data
Performing Sentiment Classification
Parsing Tweet Data in JSON
Making Batch Predictions
Updating the User Interface of Our App
Code Refactoring
Download the Completed App Project

ARKit & Augmented Reality Apps :
Introduction to Augmented Reality and ARKit
How to Setup and Configure Your Project for AR
How to Create a 3D Object in Augmented Reality
Bring the Moon into Your Living Room Using AR
How to Find and Import 3D Models for AR
How to Detect Horizontal Planes in the Real World
How to Detect Touch on Real World 3D Objects
How to Place Our Dice in 3D Using Touch
How to Animate 3D Objects in AR
How to Animate and Roll all the 3D Dice at Once
How to Remove Our 3D Objects from the AR Scene
[Optional Lesson] Refactoring Our Code for Better Readability
Download the Completed App Project

Advanced ARKit :
What We'll Make By the End of this Module
Detecting the Start and End Points of Our Measurement
Calculating the Distance Between Two 3D points
Creating 3D Text in the AR Scene
Resetting the Measurements
Download the Completed App Project

ARKit 2 and Live Tracking :
What We'll Make - Pokemon 3D
Adding Tracking Images
How to Add Plane to Card
Converting 3D Models to the New USDZ File Format
Adding 3D Pokemon Modes to Card Tracking
Tracking Multiple Pokemons
Download the Completed Project

ARKit 2 & Live Video :
What We'll Make - A Magical Newspaper
How to Source the Assets
[Challenge] Detecting Images in AR
Video Playback in AR
Download the Completed App Project

How to Submit Your App to the App Store :
How to Publish Your App on to the App Store
What is GitHub and How to Download the Stub Projects
Resources to Check Out When You're Ready to Publish
Useful Tools to Help You with App Submissions

What's Next? How to Become a Pro iOS Developer :
What Modules Do You Want to See?
Where to Go From Here?
Get the iOS 12 Legacy Course

Bonus: The Complete App Design Course :
Introduction to App Design
Why Design is Important for an App Entrepreneur
Designer vs. Non-Designer Thinking
Understanding the Mood of Your Colour Palette
How to Combine Colours to Create Colour Palettes
Tools for Designing with Colour
Further Reading on Designing with Colour
Introduction to Typography
The Serif Type Family - Origins and Use
The Sans-Serif Type Family - Origins and Use
How Typography Determines Readability
How to Combine Fonts Like a Pro
Further Reading on Typography
What is User Interface (UI) Design?
The Tour Guide Approach to UI Design
The Importance of Alignment
What is Good Practice in Interaction Design
Colour in User Interface Design
The Many Ways of Designing Text Overlays
How to Be an Attention Architect
Further Reading on User Interface Design
What is User Experience (UX) Design?
Asking for Permissions
User Profiling
Form vs. Function
Don't Make Me Think
Idiot Boxes
Further Reading on User Experience Design
Android vs. iOS Design
The Devil is in the Details
Differences in Icon Design
Flat Design vs. Material Design
Differences in Establishing Visual Hierarchy
iOS and Android Design Guidelines
Step1 - Design Patterns and Colour Palettes
Where to Find Design Patterns and Colour Palettes
Step 2 - How to Create a User Flow Diagram
Step 3 - How to Create Wireframes
Wireframing Resources
Step 4 - How to Create Professional Mockups
Tools for Creating Mockups
How to Use Sketch to Create Mockups
[Optional] Watch me Create a Mock up Using Sketch
How to Use Canva to Create Mockups
Your Turn to Create Your Own Mockups
Tools and Resources for Creating Mockups
Step 5 - How to Create an Animated App Prototype
Tools and Resources for Creating Prototypes
Prototyping with Keynote
Prototyping with Marvel
Your Turn to Create a Prototype
Where to Find Free-For-Commercial-Use Image Assets
Where to Find Free-For-Commercial-Use Icons
How to Keep Designing and Improving

Bonus: The Complete App Marketing Course :
The Importance of App Marketing
The Fallacy of Build it and They Will Come
The Importance of Idea Validation
1. The Simplest Way of Validating Your Idea - The Starbucks Method
2. Using Google Trends to Estimate the Size of Your Market
3. The Landing Page Validation Method
How to Create a Landing Page Website in Less than an Hour
4. Creating a Minimum Viable Product
5. Using Crowd-funding to Validate and Fund Your Idea
How to Monetise Your App on iOS vs. Android
When You Should Create a Paid App
When to use In-App Advertisements
How You Thought About These Alternative Monetisation Models?
How to Get an App icon Designed without Breaking the Bank
Split Testing for Super Success
What Makes a Good App Icon?
The Dos and Don'ts of Making App Screenshots
Tools for Building Screenshots
Your First 1000 Customers
Building an Email List
The All Important Landing Page
Blogging Your Way to Success
Content Marketing for App Downloads
How to Successfully Launch on Product Hunt
How to Launch on Beta List
How to Launch on Hacker News
If At First You Don't Succeed...
Cross Promotion
Social Referrals and Social Queuing
How to Make Social Media Work for You
Do I Need a PR Agency?
Not All Press is Created Equal
How to Craft Your Story
How to Craft Your Pitch
How to Figure Out Which Journalists to Pitch
How to Find Anyone's Email Address
How to Pitch a Journalist
Just-Add-Water Journalist Pitch Email
Establishing a Relationship with a Journalist
What if You Still Can't Get Anyone to Write About You?
Final Tips on Getting Press
How to Get Featured on the App Store?
"Only on the App Store"
Work with the Corporate Mindset
Native vs. Cross-Platform Apps
Tips and Tricks for Getting Featured
What is App Store Optimisation (ASO)?
Top Tips to Optimise Your App Store Listing
My Complete ASO Workflow
Using Apple Search Ads as a Research Tool
Early vs. Late Game Strategies
Differences Between Google Play and Apple App Store
When to use Paid Advertising or App Marketing
Always Test Before You Advertise
Which Platform to Advertise On?
How Much Does it Cost?
How to Setup Your Facebook Ad
Use Your Competitors' Ad Budget
Where Can I Find More Customers?
One Weird Trick to Get More Money from Apple
How to Get More 5 Star Ratings and Reviews
Use This Free Tools to Monitor Your App Reviews
How to use App Analytics to Increase User Retention
White Hat Techniques
Black Hat Techniques
A 5 Second Way of Building a Web Page for Your iOS App
How to Use Bootstrap to Build Your App Showcase Website

App Showcase and Monthly Tips :
Get Monthly Tips and Tools to Level Up as a Developer
It's Time to Work Out Your Marketing Strategy
Monthly Student-Built App Showcase

Bonus Module: Ask Angela Anything :
AAA 1 - How to Soak in Programming Concepts & much more
AAA 2 - Schedule for Learning to Code & much more
AAA 3 - How to Start Freelancing & much more

Bonus Module: How to Make an App from Beginning to End :
How to Make an App From Beginning to End