iOS 12 App Development Video Tutorials
Learn to program iOS 12 apps using Swift 4.2 and Xcode 10
Watch Promo
Course Description
Our complete iOS 12 app development course teaches you how to program in Swift and build beautiful iOS apps. It was developed and refined through years of in-person teaching. It's composed of a combination of guided tutorials and challenges. By the end of the 15 module course, you will be fluently programming in Swift 4.2 and understand the fundamentals of designing iOS apps in Xcode 10.
What you will learn
- Xcode IDE: Xcode is key for making an app. Students learn to set up projects, use the Storyboard and Interface Builder, integrate third party libraries and CocoaPods into projects, and debug their apps based on compiler warnings and error reports in the console.
- App Design: Students learn to customise the appearance of an app using the Interface Builder, arrange UI (user interface) elements on screen, and learn to use constraints and auto layout to make an app fit different screen sizes and screen orientations for a good user experience. Students also learn to use modal views and make custom .xib files to modify the native designs.
- App Behaviour: How to connect UI elements to code using IBOutlets and IBActions and modify how they appear on screen. How to navigate between different screens and pass data between them using segues and delegates.
- Key Cocoa classes: How to work with key aspects of iOS such as ViewControllers, NavigationControllers, the AppDelegate, TableViews and Core Location.
- Concepts of Object Oriented Programming (OOP): The type system, variables, functions and methods, inheritance, classes, delegates and protocols.
- Swift Programming: Understanding key concepts in Apple's new programming language. Including in-depth explanations of optionals, optional binding, force unwrapping, optional chaining, enums, delegation.
- Control Structures: Using If-else clauses, Switch statements and logic to control the flow of execution.
- Data Structures: How to work with collections, such as arrays and dictionaries.
- Software Design: How to organise and format code for readability and how to implement the Model-View-Controller (MVC) design pattern.
- Networking: How to make asynchronous API calls, store and retrieve data from the cloud, and use the JSON format for server communication.
- Data Storage: How to setup a cloud based database using Firebase 4.0, understanding how to store, query data from the cloud and authenticate users.
Requirements
- A computer capable of running Xcode 10. Check out the system requirements.
Reviews
"A well structured and comprehensive course aimed at giving you the fundamentals to app building and to learn by doing. I really benefited from the welcoming environment of the course and felt Angela and Phillip helped us to bond as a group. I am new to coding and loved being able to have working apps at the end of the week, it was a real confidence booster. I would recommend this course to anyone who is keen to build their own apps or wants to start their own business using mobile tech." - Sian Cleary
"This course was truly inspiring, as a person who had no experience of coding whatsoever, Angela and Phillip made the experience pain free (well as pain free as it can be when your code keeps breaking). With a course book especially designed by them, its a unique experience that can't compare to other places which are often just code-along boot camps.
They both integrate group teaching and individual work seamlessly, allowing you to learn at your own rate, something rare in any classroom taught course.
Angela and Phillip are charming and knowledgeable. I completed the full week course and as a person having had some experience in both marketing and with a business master's degree, I did not have such expectations for the app marketing seminar, as typically marketing lectures regurgitate the same information. However, I was very very pleasantly surprised. Both seminars on app marketing and UI were motivating and informative. All the information I was receive was relevant and useful.
If you are looking for course for your staff on iOS app programming or simply wanting to carry out some personal development this is a fantastic course to take. Also, with the level of one-to-one teaching and genuine enthusiasm for the subject you receive, it is very very reasonably priced.
Highly recommended!" - Emma Burton
"This was the best introduction to app development anybody could ask for, The course is very practical and quickly gets you on board with the language so you can start coding straightaway, though still challenging enough to leave you with plenty of homework. Philipp and Angela are really enthusiastic about their craft, and explain things so well, that even as a complete beginner you are able to understand. Definitely recommend!" - Shakhnoza Muradova
Read more at www.londonappbrewery.com
Course Curriculum
-
StartIntroduction to the Course (6:22)
-
StartUpdated for iOS 12!
-
StartHow do Apps Work? (7:47)
-
StartHow to Make an App From Beginning to End (8:36)
-
StartHow to Make the Most of the Bootcamp (6:45)
-
StartThe Massive List of Resources
-
StartHow to Get help When You're Stuck (6:40)
-
StartDeveloping for iOS - Tools and Materials ⭐️ (12:17)
-
StartDownload Instructions and Setting up Xcode for Development (4:13)
-
StartA Walkthrough of the Xcode Development Environment (20:28)
-
StartWhat Will We Make? (2:30)
-
StartLet's Create a Brand New Xcode Project ⭐️ (4:03)
-
StartWhat is a Bundle Identifier?
-
StartLet's Design the User Interface! ⭐️ (11:24)
-
StartPositioning User Interface (UI) Elements (3:05)
-
StartLet's Incorporate Some Image Assets ⭐️ (14:16)
-
StartPoints vs. Pixels and How to Design Image Assets (5:51)
-
StartHow to Create Your Own Assets (6:43)
-
StartLet's Run and Test Out Our App! ⭐️ (5:05)
-
StartWhat are Coding Challenges? (2:17)
-
StartWhat You Will Create (1:17)
-
StartWhat is GitHub and How to Download the L.A.B. Project Stubs? ⭐️ (6:26)
-
StartStep 1: Add a UILabel ⭐️
-
StartStep 2: Add and Arrange the ImageView ⭐️
-
StartStep: 3 Design Your App ⭐️
-
Start[Optional] Submit the App for Certification from the L.A.B. (4:28)
-
StartWhat Will We Make? (2:22)
-
StartHow to Design Your App ⭐️ (15:47)
-
StartLet's Link Our Design to Our Code ⭐️ (12:07)
-
StartCommon Errors: IBOutlets/IBActions [Debugging Practice] 🐞 (13:38)
-
StartHow Do You Create Randomisation with Code? ⭐️ (22:44)
-
StartData Types, Constants and Variables 🚩 (14:43)
-
Start⚠️ How to Solve the Error: "The maximum number of apps for free development profiles has been reached."
-
StartLet's Learn about Arrays and Programmatically Update the Image Views ⭐️ (12:09)
-
StartThe DRY principle and Creating Functions [How to Become a Better Programmer] ⭐️ (9:56)
-
StartShake it, shake it! How to Tap into the Motion Detectors in Your iPhone. ⭐️ (7:19)
-
StartDownload the Completed App Project
-
StartWhat You Will Create (1:52)
-
StartStep 1: Create a New Xcode Project
-
StartStep 2: Download the Image Assets
-
StartStep 3: Add App Icons to Your Project
-
StartStep 4: Add the Ball Images
-
StartStep 5: Setup the Canvas
-
StartStep 6: Design the App
-
StartStep 7: Link the Design with Code
-
StartStep 8: Write Some Code to Change the Ball Image
-
StartStep 9: Make a Method
-
StartStep 10: Add Motion Detection
-
Start[Optional] Submit the App for Certification from the L.A.B.
-
StartIntroduction to the Programming Modules (2:00)
-
StartComments, Print Statements and the Console (9:27)
-
StartData Types, Constants and Variables (13:04)
-
StartFunctions: Part 1 - The Simple Function (8:41)
-
StartFunctions: Part 2 - Functions With Inputs (12:32)
-
StartFunctions: Part 3 - Functions With Outputs (9:22)
-
StartConditional Statements (IF/ELSE) (15:52)
-
StartMake a BMI Calculator in Playgrounds [Challenge]
-
StartDownload The Completed Swift Playgrounds
-
StartIntroduction to Loops in Swift - The For-In Loop (11:33)
-
StartUsing Loops in Your Programs (51:26)
-
StartOptional: A Brain Teaser with Loops and the Fibonacci Sequence (12:23)
-
StartWhat Will We Make? (2:00)
-
StartHow to Use Tags in the Storyboard ⭐️ (8:43)
-
StartHow to Use the Apple Documentation [How to Become a Better Programmer] (26:03)
-
StartLet's Use AVFoundation to Play Sound in Our App (9:05)
-
StartError Catching in Swift - The Do-Catch Statement 🚩 (7:05)
-
StartCreate a Method to Contain All the Sound Playing Functionality (7:27)
-
StartCommon Errors: Index Out of Range [Debugging Practice] 🐞 (4:34)
-
StartMake the App Play a Different Sound For Each Button (7:07)
-
StartThe Importance of "Scope" in Programming 🚩 (9:41)
-
StartDownload the Completed App Project
-
StartWhat Will We Make? (1:53)
-
StartSetup the Project ⭐️ (11:18)
-
StartWhat is a Property List (.plist)?
-
StartLet's Create a Data Model ⭐️ (12:29)
-
StartObject-Oriented Programming - What are Objects and Classes? 🚩 (11:26)
-
StartCreating the Question Bank Class ⭐️ (9:23)
-
StartThe Anatomy of an App (4:30)
-
StartThe Model View Controller (MVC) Design Pattern and Why We Use it 🚩 (9:42)
-
StartLet's Initialise the First Question ⭐️ (14:29)
-
StartHow Can We Progress Through the Question Bank? ⭐️ (8:09)
-
StartUsing the Xcode debug console [Debugging Practice] 🐞 (6:42)
-
StartHow to implement a UIAlertController to display a popup ⭐️ (11:26)
-
StartAn Overview of How Our App Works and Code Refactoring ⭐️ (4:48)
-
StartHow Can We Track the Progress and Score? ⭐️ (13:08)
-
StartIncorporating an Objective-C External Library to Give the User Feedback ⭐️ (11:40)
-
StartBackground on the Trivia Questions
-
StartDownload the Completed App Project
-
StartWhat You'll Create (2:18)
-
StartA Choose Your Own Adventure Game
-
StartStep 1: Download the Skeleton Project
-
StartStep 2: Make a Note of the Tag Properties of the Buttons
-
StartStep 3: Setup the Introductory Screen
-
StartStep 4: Take the Story One Step Further
-
StartStep 5: Keeping Track of State Using Variables
-
StartStep 6: Use Comparators to Let the User Choose Their Own Adventure
-
Start[Optional] Submit the App for Certification from the L.A.B.
-
StartWhy do we need Auto Layout? (3:13)
-
StartPositioning UI Elements Programmatically (9:15)
-
StartThe Theory Behind Auto Layout (7:40)
-
StartAuto Layout in Practice - Setting Constraints for the Dicee App (20:59)
-
Start[Challenge] Use What You Just Learnt to Practice Auto Layout (1:28)
-
StartStack Views - An Alternative Paradigm (20:22)
-
StartClasses and Objects (2:03)
-
StartCreating a New Class from Scratch (10:53)
-
StartCreating Enums in Swift (6:24)
-
StartHow to Create an Object from a Class (3:58)
-
StartClass Initialisation (8:10)
-
StartDesignated and Convenience Initialisers (6:00)
-
StartCreate a Method (4:02)
-
StartClass Inheritance - The Theory (8:29)
-
StartHow to Override an Inherited Method (2:47)
-
StartClass Inheritance - Putting it into Practice (6:32)
-
StartWhat are Optionals? (10:45)
-
StartOptionals Explained (6:14)
-
StartWhat You Will Make (1:47)
-
StartSetting up the Skeleton Project ⭐ (5:16)
-
StartWhat are Cocoapods and why do we need them? (1:59)
-
StartInstall and Setup Cocoapods on Your System ⭐ (5:00)
-
StartProblems with Installing Cocoapods 🔴 (0:34)
-
StartInstalling New Pods on Your Xcode Project ⭐ (8:41)
-
StartFix for Those with a Version of Cocoapods Lower than 1.0.1 🔴 (0:48)
-
StartCompleting the Pod Installation Process ⭐ (3:32)
-
StartSetting Up the Location Manager to Get GPS Coordinates of the iPhone ⭐ (12:00)
-
StartAsk the User for Location Permissions ⭐ (6:48)
-
StartTapping into the GPS ⭐ (15:11)
-
StartWhat is Delegation? (4:24)
-
StartDictionaries 🚩 (6:45)
-
StartWhat are APIs? (3:34)
-
StartNetworking with Alamofire ⭐ (11:28)
-
StartNetworking Explained (4:55)
-
StartJSON Parsing ⭐ (12:43)
-
StartCreate a Weather Data Model ⭐ (14:43)
-
StartUpdate the User Interface ⭐ (2:15)
-
StartSegues (14:02)
-
StartUsing Delegates and Protocols ⭐️ (12:33)
-
StartHow to Pass Data Between View Controllers (22:15)
-
StartDelegates and Protocols Explained (16:49)
-
StartRequest Weather Data Based on City Name ⭐️ (5:26)
-
StartDownload the Completed App Project
-
StartWhat You Will Make (1:55)
-
StartStep 1: Check Out the Stub Project
-
StartHow to Setup and Use the UIPicker
-
StartStep 2: Make the API URL
-
StartStep 3: Set Up Your Cocoapods
-
StartStep 4: Make Some Networking Calls
-
StartStep 5: Parse the JSON
-
StartStep 6: Update the User Interface
-
StartStep 7 Are We Rich Yet?
-
Start[Optional] Submit your App for Certification from the L.A.B.
-
StartWhat You Will Make (1:50)
-
StartWhat is Firebase? (2:21)
-
StartRegister for an Account on Firebase ⭐️ (1:56)
-
StartSet Up Firebase for Development ⭐️ (9:35)
-
StartSaving Data to Firebase ⭐️ (5:46)
-
StartLet's Register Some Users to our App ⭐️ (17:00)
-
StartSwift Closures [Advanced Swift] 🚩 (20:40)
-
StartThe Event-Driven Nature of Apps (5:05)
-
StartWhat are Completion Handlers and How Do They Work? 🚩 (13:01)
-
StartHow Do Navigation Controllers Work ⭐️ (7:42)
-
StartLet's Code Up the Login Screen ⭐️ (4:22)
-
StartWhat are TableViews and How to Set One Up ⭐️ (20:44)
-
StartMaking a Custom Message Class ⭐️ (2:03)
-
StartLearn About UI Animations in iOS and Make Our Own ⭐️ (18:22)
-
StartLet's Send Some Messages! ⭐️ (10:13)
-
StartObserving for Database Changes ⭐️ (18:23)
-
StartBug Fix - Where's the Historical Message Data? 🐞 (3:33)
-
StartUpdate the Security Setting of Your Database ⭐️ (1:45)
-
StartLet's Improve the UX - Add a Progress Spinner ⭐️ (3:43)
-
StartImproving the UI - Differentiating Between Different Users ⭐️ (6:40)
-
StartDownload the Completed App Project
-
StartIntroduction to Version Control (2:35)
-
StartVersion Control With Git and the Command Line (15:02)
-
StartGitHub and Remote Repositories (11:00)
-
StartGitignore (12:02)
-
StartCloning Repositories (5:05)
-
StartBranching and Merging (17:25)
-
StartUsing Xcode for Source Control (19:39)
-
StartForking and Making Pull Requests (17:08)
-
StartThe Clear App Clone that You'll Build By the End of this Module (2:58)
-
StartSubclassing a UITableViewController (16:29)
-
StartTableView Delegate Methods and Accessories (7:45)
-
StartCreating a Textfield inside a UIAlert (19:50)
-
StartWhy Do We Need Persistent Data Storage (8:29)
-
StartUsing UserDefaults to Persist Our Data (10:31)
-
StartUserDefaults Explained (8:36)
-
Start🚩Advanced Swift - Singletons (5:25)
-
StartCreating a Custom Data Model (17:35)
-
Start🚩Advanced Swift - Ternary Operator (3:05)
-
StartRestructuring Our App with MVC (5:26)
-
StartiOS Sandboxing (3:41)
-
StartEncoding Data with NSCoder (13:06)
-
StartDecoding Data with NSCoder (7:39)
-
StartIntroduction to Databases (10:12)
-
StartHow to Setup and Configure Core Data (18:55)
-
StartHow to Save Data with Core Data (7:29)
-
StartHow to View Your SQLite Database Backend (4:35)
-
StartCore Data Fundamentals (7:30)
-
StartReading Data from Core Data (4:50)
-
StartUpdating Data with Core Data (2:30)
-
StartRemoving Data from Core Data (5:18)
-
StartHow to Implement a UISearchBar and Querying Data with Core Data (26:07)
-
StartHow to Go Back to the Original List (7:21)
-
StartHow to Create Relationship Graphs in Core Data (13:55)
-
StartSolution to Challenge - Setting Up CategoryViewController (11:31)
-
StartAdding the Delegate Method (15:54)
-
StartIntroduction to Realm (17:29)
-
StartHow to Save Data Using Realm (15:29)
-
StartFetching Data from Realm (20:20)
-
StartUpdating Data with Realm (3:32)
-
StartRemoving Data from Realm (2:35)
-
StartQuerying Data Using Realm (11:04)
-
StartReview of How Our App uses Realm to Persist Data (11:28)
-
Startmaking Our Cells Swipeable (21:38)
-
StartInheriting from SwipeTableViewController (17:03)
-
Start[Solution to Challenge] Inheriting from SwipeTableViewController (5:50)
-
StartAdding Colour to Our Cells (7:34)
-
Start[Solution to Challenge] Persisting the Colour Property (6:49)
-
StartCreating a Gradient TableView (20:12)
-
StartUpdating the UI of the Navigation Bar (27:58)
-
StartWhat You'll Need to Implement In-App Purchases (5:40)
-
StartCheckout the Skeleton Project (2:44)
-
StartSetup Your New In-App Purchase on App Store Connect (14:25)
-
StartDetecting When the User Wants to Make a Purchase (9:25)
-
StartImplementing the In-App Purchase Using Apple StoreKit (12:51)
-
StartCreating Sandbox Users and Testing In-App Purchases (12:03)
-
StartGiving Users Access to Purchased Content (11:33)
-
StartRestoring In-App Purchases (7:07)
-
StartWhat We'll Make (2:25)
-
StartDownload the Skeleton Project
-
StartAccumulating Numbers in the Calculator (14:50)
-
StartSwift Access Levels (17:01)
-
StartDownload the Access Levels Quiz Stub
-
StartSwift Access Levels Quiz
-
StartSwift Access Levels Answers
-
StartAdvanced Swift Optionals (13:01)
-
StartContinued Calculator Functionality (4:27)
-
StartDealing with the Decimal Place (5:30)
-
StartRefactoring with Computed Properties (6:58)
-
StartConforming to MVC (17:54)
-
StartSwift Structs vs. Classes - The Theory (5:56)
-
StartSwift Structs vs. Classes - In Practice (25:05)
-
StartHow to Turn Our Model into a Struct (12:17)
-
StartSwift Tuples (4:20)
-
StartGuard Let vs. If Let and Finalising the Calculator (18:42)
-
StartIntroduction to Machine Learning (5:02)
-
StartSupervised Learning (14:09)
-
StartUnsupervised Learning (6:09)
-
StartReinforcement Learning (7:14)
-
StartA Quick Note About Xcode and iOS Versions
-
StartWhat is CoreML? (6:51)
-
StartWhat we'll be making (2:21)
-
StartHow to Import the Image Recognition Model & Enable Camera Functionality (21:55)
-
StartGetting Image Recognition Results Back from Our V3 Model (14:24)
-
StartHotdog or Not Hotdog? (7:16)
-
StartDownload the Completed App Project
-
StartWhat You'll Make by the End of This Module (2:16)
-
StartHow to Install and Use Carthage as a Dependency Manager (10:07)
-
StartHow to Implement the Camera and Photo Library Functionality in iOS (14:19)
-
StartHow Use A Pre-Trained Neural Net from IBM to Classify Any Image (8:51)
-
StartHow to Process the Data You Get Back from IBM Bluemix (10:04)
-
StartLet's Beautify Our App and Make it Look Like the Real Deal (19:02)
-
StartDownload the Completed App Project
-
StartWhat we'll be making (4:01)
-
StartInstalling CoremlTools using Python PIP (9:18)
-
StartConverting a Caffe Model into MLModel (11:58)
-
Start[Challenge] - Set up a UIImagePickerController (1:41)
-
Start[Solution] - Setting up a UIImagePickerController (5:54)
-
Start[Challenge] Getting Classifications from Our Model (1:00)
-
Start[Solution] Getting Classifications from our Model (9:01)
-
Start[Challenge] Adding Cocoapods to Our Project (3:06)
-
Start[Solution] Adding Cocoapods to Our Project (1:48)
-
Start[Challenge] Making HTTP GET requests to Wikipedia using Alamofire and REST (6:14)
-
Start[Solution] Making HTTP GET requests to Wikipedia using Alamofire and REST (3:42)
-
Start[Challenge] Parsing the JSON Result using SwiftyJSON (2:09)
-
Start[Solution] Parsing the JSON Result using SwiftyJSON (5:56)
-
StartDisplaying Images From a URL using SDWebImage (5:15)
-
Start[Bonus Lesson] Creating the App Icon From Scratch and Styling the App (6:47)
-
StartDownload the Completed App Project
-
StartWhat We're Making (6:13)
-
StartUsing CreateML for Natural Language Processing (20:45)
-
StartHow to Sign Up as a Twitter Developer (13:23)
-
StartSetting Up the Swifter Framework (17:11)
-
StartHow to Fetch Live Twitter Data (13:18)
-
StartPerforming Sentiment Classification (6:17)
-
StartParsing Tweet Data in JSON (10:16)
-
StartMaking Batch Predictions (10:20)
-
StartUpdating the User Interface of Our App (8:05)
-
StartCode Refactoring (8:51)
-
StartDownload the Completed App Project
-
StartIntroduction to Augmented Reality and ARKit (8:06)
-
StartHow to Setup and Configure Your Project for AR (11:58)
-
StartHow to Create a 3D Object in Augmented Reality (9:24)
-
StartBring the Moon into Your Living Room Using AR (3:43)
-
StartHow to Find and Import 3D Models for AR (11:30)
-
StartHow to Detect Horizontal Planes in the Real World (18:19)
-
StartHow to Detect Touch on Real World 3D Objects (7:08)
-
StartHow to Place Our Dice in 3D Using Touch (6:49)
-
StartHow to Animate 3D Objects in AR (6:17)
-
StartHow to Animate and Roll all the 3D Dice at Once (5:01)
-
StartHow to Remove Our 3D Objects from the AR Scene (2:35)
-
Start[Optional Lesson] Refactoring Our Code for Better Readability (8:39)
-
StartDownload the Completed App Project
-
StartWhat We'll Make By the End of this Module (0:33)
-
StartDetecting the Start and End Points of Our Measurement (12:20)
-
StartCalculating the Distance Between Two 3D points (15:05)
-
StartCreating 3D Text in the AR Scene (7:08)
-
StartResetting the Measurements (5:12)
-
StartDownload the Completed App Project
-
StartWhat We'll Make - Pokemon 3D (4:36)
-
StartAdding Tracking Images (13:17)
-
StartHow to Add Plane to Card (9:44)
-
StartConverting 3D Models to the New USDZ File Format (7:47)
-
StartAdding 3D Pokemon Modes to Card Tracking (11:11)
-
StartTracking Multiple Pokemons (14:15)
-
StartDownload the Completed Project