Autoplay
Autocomplete
Previous Lesson
Complete and Continue
iOS 12 App Development Video Tutorials
Section 1: Course Introduction
Introduction to the Course (6:22)
Updated for iOS 12!
How do Apps Work? (7:47)
How to Make an App From Beginning to End (8:36)
How to Make the Most of the Bootcamp (6:45)
The Massive List of Resources
How to Get help When You're Stuck (6:40)
Developing for iOS - Tools and Materials ⭐️ (12:17)
Download Instructions and Setting up Xcode for Development (4:13)
A Walkthrough of the Xcode Development Environment (20:28)
Join the London App Brewery Slack Channel
Here's Your Invite Code
How to Use Slack to Participate in the L.A.B. Community (5:10)
Do You Want This?
Section 2: I Am Rich App [Tutorial]
What Will We Make? (2:30)
Let's Create a Brand New Xcode Project ⭐️ (4:03)
What is a Bundle Identifier?
Let's Design the User Interface! ⭐️ (11:24)
Positioning User Interface (UI) Elements (3:05)
Let's Incorporate Some Image Assets ⭐️ (14:16)
Points vs. Pixels and How to Design Image Assets (5:51)
How to Create Your Own Assets (6:43)
Let's Run and Test Out Our App! ⭐️ (5:05)
Section 3: How to Download the App to Your Phone
What is Sideloading Why is it Important? (1:48)
A Note About Sideloading and Permissions
How to Sideload Your App onto Your iPhone ⭐️ (12:17)
How to Sideload Wirelessly (1:41)
Optional: Create a Professional Apple Developer Account
Section 4: I Am Poor App [Challenge]
What are Coding Challenges? (2:17)
What You Will Create (1:17)
What is GitHub and How to Download the L.A.B. Project Stubs? ⭐️ (6:26)
Step 1: Add a UILabel ⭐️
Step 2: Add and Arrange the ImageView ⭐️
Step: 3 Design Your App ⭐️
[Optional] Submit the App for Certification from the L.A.B. (4:28)
Section 5: Dicee App [Tutorial]
What Will We Make? (2:22)
How to Design Your App ⭐️ (15:47)
Let's Link Our Design to Our Code ⭐️ (12:07)
Common Errors: IBOutlets/IBActions [Debugging Practice] 🐞 (13:38)
How Do You Create Randomisation with Code? ⭐️ (22:44)
Data Types, Constants and Variables 🚩 (14:43)
⚠️ How to Solve the Error: "The maximum number of apps for free development profiles has been reached."
Let's Learn about Arrays and Programmatically Update the Image Views ⭐️ (12:09)
The DRY principle and Creating Functions [How to Become a Better Programmer] ⭐️ (9:56)
Shake it, shake it! How to Tap into the Motion Detectors in Your iPhone. ⭐️ (7:19)
Download the Completed App Project
Section 6: Magic 8 Ball App [Challenge]
What You Will Create (1:52)
Step 1: Create a New Xcode Project
Step 2: Download the Image Assets
Step 3: Add App Icons to Your Project
Step 4: Add the Ball Images
Step 5: Setup the Canvas
Step 6: Design the App
Step 7: Link the Design with Code
Step 8: Write Some Code to Change the Ball Image
Step 9: Make a Method
Step 10: Add Motion Detection
[Optional] Submit the App for Certification from the L.A.B.
Section 7: Programming in Swift for Beginners 🚩
Introduction to the Programming Modules (2:00)
Comments, Print Statements and the Console (9:27)
Data Types, Constants and Variables (13:04)
Functions: Part 1 - The Simple Function (8:41)
Functions: Part 2 - Functions With Inputs (12:32)
Functions: Part 3 - Functions With Outputs (9:22)
Conditional Statements (IF/ELSE) (15:52)
Make a BMI Calculator in Playgrounds [Challenge]
Download The Completed Swift Playgrounds
Introduction to Loops in Swift - The For-In Loop (11:33)
Using Loops in Your Programs (51:26)
Optional: A Brain Teaser with Loops and the Fibonacci Sequence (12:23)
Section 8: Xylophone App [Tutorial]
What Will We Make? (2:00)
How to Use Tags in the Storyboard ⭐️ (8:43)
How to Use the Apple Documentation [How to Become a Better Programmer] (26:03)
Let's Use AVFoundation to Play Sound in Our App (9:05)
Error Catching in Swift - The Do-Catch Statement 🚩 (7:05)
Create a Method to Contain All the Sound Playing Functionality (7:27)
Common Errors: Index Out of Range [Debugging Practice] 🐞 (4:34)
Make the App Play a Different Sound For Each Button (7:07)
The Importance of "Scope" in Programming 🚩 (9:41)
Download the Completed App Project
Section 9: Quizzler App [Tutorial]
What Will We Make? (1:53)
Setup the Project ⭐️ (11:18)
What is a Property List (.plist)?
Let's Create a Data Model ⭐️ (12:29)
Object-Oriented Programming - What are Objects and Classes? 🚩 (11:26)
Creating the Question Bank Class ⭐️ (9:23)
The Anatomy of an App (4:30)
The Model View Controller (MVC) Design Pattern and Why We Use it 🚩 (9:42)
Let's Initialise the First Question ⭐️ (14:29)
How Can We Progress Through the Question Bank? ⭐️ (8:09)
Using the Xcode debug console [Debugging Practice] 🐞 (6:42)
How to implement a UIAlertController to display a popup ⭐️ (11:26)
An Overview of How Our App Works and Code Refactoring ⭐️ (4:48)
How Can We Track the Progress and Score? ⭐️ (13:08)
Incorporating an Objective-C External Library to Give the User Feedback ⭐️ (11:40)
Background on the Trivia Questions
Download the Completed App Project
Section 10: Destini App [Challenge]
What You'll Create (2:18)
A Choose Your Own Adventure Game
Step 1: Download the Skeleton Project
Step 2: Make a Note of the Tag Properties of the Buttons
Step 3: Setup the Introductory Screen
Step 4: Take the Story One Step Further
Step 5: Keeping Track of State Using Variables
Step 6: Use Comparators to Let the User Choose Their Own Adventure
[Optional] Submit the App for Certification from the L.A.B.
Section 9: Learn about Auto Layout and Setting Constraints [Tutorial]
Why do we need Auto Layout? (3:13)
Positioning UI Elements Programmatically (9:15)
The Theory Behind Auto Layout (7:40)
Auto Layout in Practice - Setting Constraints for the Dicee App (20:59)
[Challenge] Use What You Just Learnt to Practice Auto Layout (1:28)
Stack Views - An Alternative Paradigm (20:22)
Section 12: Programming in Swift for Intermediates 🚩
Classes and Objects (2:03)
Creating a New Class from Scratch (10:53)
Creating Enums in Swift (6:24)
How to Create an Object from a Class (3:58)
Class Initialisation (8:10)
Designated and Convenience Initialisers (6:00)
Create a Method (4:02)
Class Inheritance - The Theory (8:29)
How to Override an Inherited Method (2:47)
Class Inheritance - Putting it into Practice (6:32)
What are Optionals? (10:45)
Optionals Explained (6:14)
Section 13: Clima App [Tutorial]
What You Will Make (1:47)
Setting up the Skeleton Project ⭐ (5:16)
What are Cocoapods and why do we need them? (1:59)
Install and Setup Cocoapods on Your System ⭐ (5:00)
Problems with Installing Cocoapods 🔴 (0:34)
Installing New Pods on Your Xcode Project ⭐ (8:41)
Fix for Those with a Version of Cocoapods Lower than 1.0.1 🔴 (0:48)
Completing the Pod Installation Process ⭐ (3:32)
Setting Up the Location Manager to Get GPS Coordinates of the iPhone ⭐ (12:00)
Ask the User for Location Permissions ⭐ (6:48)
Tapping into the GPS ⭐ (15:11)
What is Delegation? (4:24)
Dictionaries 🚩 (6:45)
What are APIs? (3:34)
Networking with Alamofire ⭐ (11:28)
Networking Explained (4:55)
JSON Parsing ⭐ (12:43)
Create a Weather Data Model ⭐ (14:43)
Update the User Interface ⭐ (2:15)
Segues (14:02)
Using Delegates and Protocols ⭐️ (12:33)
How to Pass Data Between View Controllers (22:15)
Delegates and Protocols Explained (16:49)
Request Weather Data Based on City Name ⭐️ (5:26)
Download the Completed App Project
The Command Line and Terminal
Introduction to the Command Line (6:53)
Command Line Shortcuts (12:52)
Directory and File Manipulation Using the Command Line (10:40)
Section 14: Bitcoin Ticker App [Challenge]
What You Will Make (1:55)
Step 1: Check Out the Stub Project
How to Setup and Use the UIPicker
Step 2: Make the API URL
Step 3: Set Up Your Cocoapods
Step 4: Make Some Networking Calls
Step 5: Parse the JSON
Step 6: Update the User Interface
Step 7 Are We Rich Yet?
[Optional] Submit your App for Certification from the L.A.B.
Section 15: Flash Chat App [Tutorial]
What You Will Make (1:50)
What is Firebase? (2:21)
Register for an Account on Firebase ⭐️ (1:56)
Set Up Firebase for Development ⭐️ (9:35)
Saving Data to Firebase ⭐️ (5:46)
Let's Register Some Users to our App ⭐️ (17:00)
Swift Closures [Advanced Swift] 🚩 (20:40)
The Event-Driven Nature of Apps (5:05)
What are Completion Handlers and How Do They Work? 🚩 (13:01)
How Do Navigation Controllers Work ⭐️ (7:42)
Let's Code Up the Login Screen ⭐️ (4:22)
What are TableViews and How to Set One Up ⭐️ (20:44)
Making a Custom Message Class ⭐️ (2:03)
Learn About UI Animations in iOS and Make Our Own ⭐️ (18:22)
Let's Send Some Messages! ⭐️ (10:13)
Observing for Database Changes ⭐️ (18:23)
Bug Fix - Where's the Historical Message Data? 🐞 (3:33)
Update the Security Setting of Your Database ⭐️ (1:45)
Let's Improve the UX - Add a Progress Spinner ⭐️ (3:43)
Improving the UI - Differentiating Between Different Users ⭐️ (6:40)
Download the Completed App Project
Git, GitHub and Version Control
Introduction to Version Control (2:35)
Version Control With Git and the Command Line (15:02)
GitHub and Remote Repositories (11:00)
Gitignore (12:02)
Cloning Repositories (5:05)
Branching and Merging (17:25)
Using Xcode for Source Control (19:39)
Forking and Making Pull Requests (17:08)
Section 16- Core Data, Realm, UserDefaults - Learn Local Data Persistence by Making a ToDo List App
The Clear App Clone that You'll Build By the End of this Module (2:58)
Subclassing a UITableViewController (16:29)
TableView Delegate Methods and Accessories (7:45)
Creating a Textfield inside a UIAlert (19:50)
Why Do We Need Persistent Data Storage (8:29)
Using UserDefaults to Persist Our Data (10:31)
UserDefaults Explained (8:36)
🚩Advanced Swift - Singletons (5:25)
Creating a Custom Data Model (17:35)
🚩Advanced Swift - Ternary Operator (3:05)
Restructuring Our App with MVC (5:26)
iOS Sandboxing (3:41)
Encoding Data with NSCoder (13:06)
Decoding Data with NSCoder (7:39)
Introduction to Databases (10:12)
How to Setup and Configure Core Data (18:55)
How to Save Data with Core Data (7:29)
How to View Your SQLite Database Backend (4:35)
Core Data Fundamentals (7:30)
Reading Data from Core Data (4:50)
Updating Data with Core Data (2:30)
Removing Data from Core Data (5:18)
How to Implement a UISearchBar and Querying Data with Core Data (26:07)
How to Go Back to the Original List (7:21)
How to Create Relationship Graphs in Core Data (13:55)
Solution to Challenge - Setting Up CategoryViewController (11:31)
Adding the Delegate Method (15:54)
Introduction to Realm (17:29)
How to Save Data Using Realm (15:29)
Fetching Data from Realm (20:20)
Updating Data with Realm (3:32)
Removing Data from Realm (2:35)
Querying Data Using Realm (11:04)
Review of How Our App uses Realm to Persist Data (11:28)
making Our Cells Swipeable (21:38)
Inheriting from SwipeTableViewController (17:03)
[Solution to Challenge] Inheriting from SwipeTableViewController (5:50)
Adding Colour to Our Cells (7:34)
[Solution to Challenge] Persisting the Colour Property (6:49)
Creating a Gradient TableView (20:12)
Updating the UI of the Navigation Bar (27:58)
Section 17 - In-App Purchases and Apple StoreKit
What You'll Need to Implement In-App Purchases (5:40)
Checkout the Skeleton Project (2:44)
Setup Your New In-App Purchase on App Store Connect (14:25)
Detecting When the User Wants to Make a Purchase (9:25)
Implementing the In-App Purchase Using Apple StoreKit (12:51)
Creating Sandbox Users and Testing In-App Purchases (12:03)
Giving Users Access to Purchased Content (11:33)
Restoring In-App Purchases (7:07)
Advanced Swift - Part 1
Introduction to the Advanced Section
Advanced Swift Properties (2:25)
Getters (8:31)
Setters (2:40)
Computed Properties (5:33)
Observed Properties (5:52)
Advanced Swift Properties Challenge (7:52)
Advanced Swift - Part2
What We'll Make (2:25)
Download the Skeleton Project
Accumulating Numbers in the Calculator (14:50)
Swift Access Levels (17:01)
Download the Access Levels Quiz Stub
Swift Access Levels Quiz
Swift Access Levels Answers
Advanced Swift Optionals (13:01)
Continued Calculator Functionality (4:27)
Dealing with the Decimal Place (5:30)
Refactoring with Computed Properties (6:58)
Conforming to MVC (17:54)
Swift Structs vs. Classes - The Theory (5:56)
Swift Structs vs. Classes - In Practice (25:05)
How to Turn Our Model into a Struct (12:17)
Swift Tuples (4:20)
Guard Let vs. If Let and Finalising the Calculator (18:42)
Machine Learning with iOS CoreML Framework
Introduction to Machine Learning (5:02)
Supervised Learning (14:09)
Unsupervised Learning (6:09)
Reinforcement Learning (7:14)
A Quick Note About Xcode and iOS Versions
What is CoreML? (6:51)
What we'll be making (2:21)
How to Import the Image Recognition Model & Enable Camera Functionality (21:55)
Getting Image Recognition Results Back from Our V3 Model (14:24)
Hotdog or Not Hotdog? (7:16)
Download the Completed App Project
[Optional] Machine Learning Using IBM Watson
What You'll Make by the End of This Module (2:16)
How to Install and Use Carthage as a Dependency Manager (10:07)
How to Implement the Camera and Photo Library Functionality in iOS (14:19)
How Use A Pre-Trained Neural Net from IBM to Classify Any Image (8:51)
How to Process the Data You Get Back from IBM Bluemix (10:04)
Let's Beautify Our App and Make it Look Like the Real Deal (19:02)
Download the Completed App Project
Advanced CoreML - How to Convert Pre-Trained Models Using CoreML Tools
What we'll be making (4:01)
Installing CoremlTools using Python PIP (9:18)
Converting a Caffe Model into MLModel (11:58)
[Challenge] - Set up a UIImagePickerController (1:41)
[Solution] - Setting up a UIImagePickerController (5:54)
[Challenge] Getting Classifications from Our Model (1:00)
[Solution] Getting Classifications from our Model (9:01)
[Challenge] Adding Cocoapods to Our Project (3:06)
[Solution] Adding Cocoapods to Our Project (1:48)
[Challenge] Making HTTP GET requests to Wikipedia using Alamofire and REST (6:14)
[Solution] Making HTTP GET requests to Wikipedia using Alamofire and REST (3:42)
[Challenge] Parsing the JSON Result using SwiftyJSON (2:09)
[Solution] Parsing the JSON Result using SwiftyJSON (5:56)
Displaying Images From a URL using SDWebImage (5:15)
[Bonus Lesson] Creating the App Icon From Scratch and Styling the App (6:47)
Download the Completed App Project
CreateML - Build Our Own Machine Learning Models
Introduction to CreateML (4:37)
How to Gather Data for Training (10:02)
How to Train a Brand New Machine Learning Model (12:59)
[Challenge] Build Your Own Machine Learning Model (6:48)
Download the Completed Model
Advanced CreateML - Build a Natural Language Processing (NLP) Model for Sentiment Analysis
What We're Making (6:13)
Using CreateML for Natural Language Processing (20:45)
How to Sign Up as a Twitter Developer (13:23)
Setting Up the Swifter Framework (17:11)
How to Fetch Live Twitter Data (13:18)
Performing Sentiment Classification (6:17)
Parsing Tweet Data in JSON (10:16)
Making Batch Predictions (10:20)
Updating the User Interface of Our App (8:05)
Code Refactoring (8:51)
Download the Completed App Project
ARKit - How to Make Augmented Reality Apps in iOS
Introduction to Augmented Reality and ARKit (8:06)
How to Setup and Configure Your Project for AR (11:58)
How to Create a 3D Object in Augmented Reality (9:24)
Bring the Moon into Your Living Room Using AR (3:43)
How to Find and Import 3D Models for AR (11:30)
How to Detect Horizontal Planes in the Real World (18:19)
How to Detect Touch on Real World 3D Objects (7:08)
How to Place Our Dice in 3D Using Touch (6:49)
How to Animate 3D Objects in AR (6:17)
How to Animate and Roll all the 3D Dice at Once (5:01)
How to Remove Our 3D Objects from the AR Scene (2:35)
[Optional Lesson] Refactoring Our Code for Better Readability (8:39)
Download the Completed App Project
Advanced ARKit - How to Measure Real World Dimensions in an ARKit app
What We'll Make By the End of this Module (0:33)
Detecting the Start and End Points of Our Measurement (12:20)
Calculating the Distance Between Two 3D points (15:05)
Creating 3D Text in the AR Scene (7:08)
Resetting the Measurements (5:12)
Download the Completed App Project
ARKit 2 - Image Recognition and Tracking in AR
What We'll Make - Pokemon 3D (4:36)
Adding Tracking Images (13:17)
How to Add Plane to Card (9:44)
Converting 3D Models to the New USDZ File Format (7:47)
Adding 3D Pokemon Modes to Card Tracking (11:11)
Tracking Multiple Pokemons (14:15)
Download the Completed Project
Advanced ARKit 2 - Video Playback in AR
What We'll Make - A Magical Newspaper (1:18)
How to Source the Assets (4:01)
[Challenge] Detecting Images in AR (12:26)
Video Playback in AR (8:35)
Download the Completed App Project
Submitting Your App to the App Store
How to Publish Your App on the App Store (10:54)
Useful Tools to Help You With App Submission (2:43)
Next Steps
Where to Go From Here? (12:23)
Monthly Student-Built App Showcase
Bonus Content
How to Make an App From Beginning to End [Full Talk] (51:01)
AAA 1 - How to Soak in Programming Concepts & much more (39:42)
AAA 2 - Schedule for Learning to Code & much more (39:08)
AAA 3 - How to Start Freelancing & much more (25:19)
Why do we need Auto Layout?
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock