Welcome to the Complete iOS App Development Bootcamp. With over 39,000 5 star ratings and a 4.8 average my iOS course is the HIGHEST RATED iOS Course in the history of Udemy! At 55+ hours, this iOS 13 course is the most comprehensive iOS development course online!
iOS & Swift - The Complete iOS App Development Bootcamp
This Swift 5.1 course is based on our in-person app development bootcamp in London, where we've perfected the curriculum over 4 years of in-person teaching.
Our complete app development bootcamp teaches you how to code using Swift 5.1 and build beautiful iOS 13 apps for iPhone and iPad. Even if you have ZERO programming experience.
I'll take you step-by-step through engaging and fun video tutorials and teach you everything you need to know to succeed as an iOS app developer.
The course includes 55+ hours of HD video tutorials and builds your programming knowledge while making real world apps. e.g. Pokemon Go, Whatsapp, QuizUp and Yahoo Weather.
The curriculum has been completely revamped for iOS 13 and Xcode 11. Including comprehensive modules on Apple's latest technology - SwiftUI iOS, iPadOS and macOS app interface design, ARKit for making Augmented Reality apps as well as CoreML & CreateML for making intelligent apps with Machine Learning. You'll be building 3D augmented reality apps that look like Pokemon Go and Harry Potter's magical newspapers!
By the end of this course, you will be fluently programming in Swift 5.1 and be ready to make your own apps or start a freelancing job as an iOS 13 developer.
You'll also have a portfolio of over 25 apps that you can show off to any potential employer.
Sign up today, and look forwards to:
Over 55 hours of HD 1080p video content, everything you'll ever need to succeed as a iOS developer.
Building over 25 fully-fledged apps including ones that use machine learning and augmented reality
All the knowledge you need to start building any app you want
A giant bundle of design assets
Our best selling 12 Rules to Learn to Code eBook
$8000+ app development bootcamp course materials and curriculum
From Beginner to iOS 13 App Developer with Just One Course
We know that you're here because you value your time. If you wanted to watch someone program for hours and hours without explaining what they're doing, you'd be on YouTube.
By getting this course, you can be rest assured that the course is carefully thought out and edited. There are beautiful animations that explain all the difficult concepts and the videos are fully up to date with the latest versions of Swift and Xcode.
So by the end of the course, you'll completely understand:
Concepts of Object Oriented Programming (OOP): The type system, variables, functions and methods, inheritance, structures, classes and protocols.
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, Apple's favourite delegation pattern and the publisher pattern.
Networking: How to make asynchronous API calls, store and retrieve data from the cloud, and use the JSON format for server communication.
Persistent Local Data Storage: How to use Core Data, Realm, Codable and User Defaults to store your app data locally.
How to Implement In-App Purchases with Apple StoreKit
Machine Learning: How to make artificially intelligent apps and build your own machine learning models using iOS 13's new CoreML2 and CreateML frameworks.
Augmented Reality: How to create 3D objects in augmented reality and create incredible 3D animations and real-life interactions using Apple's latest ARKit2 framework.
SwiftUI: How to use Apple's brand new UI framework to create user interfaces programmatically that look good across all Apple products.
Don’t waste your time
Don't waste another minute of your precious life on poor quality videos on YouTube. Or instructors who you can't understand. Or teachers who have no real world in-person teaching experience. Your time is precious. Take this course and find out why everybody is raving about it and why over 39,000 students rated it 5 stars!
Don't waste your money
Inside this course, you're getting exactly the same course materials and curriculum as our 12 week in-person programming bootcamp. Instead of spending $8000 dollars and taking time off work, save loads of money by getting this course and do it at your own pace!
Don't just take my word for it, see what my past students had to say about the course:
"You will not find a better teacher than Angela. She does a wonderful job of encouraging you to learn swift the right way. I want to encourage everyone thinking about taking this class to get it, as it is the BEST Swift programming class I've seen on anywhere and I've tried more than a few of them. If you are looking for an excellent swift programming course, stop there here because you have found it. You will learn Swift from the very beginning of programming all the way through making your own apps that you can upload to the App store." - Ian Hopjins
"SO GOOD!!! Retention rate is incredible because Angela does a great job in explaining and teaching every aspect of what we are doing. Most of the other instructors on Udemy put code on the screen and pretend nothing happened. This course is amazing! 5/5" - Muhammad Ibrahim
"Angela is a spectacular teacher!" - Marco Zanirato
"This course was terrific. Only after taking a few more courses from others that I realized how good this course was. This course taught me more than I was expecting, it provided great instructions and a lot of hands-on tasks to drill-in the concept." - Marc
"Best use of your money! I was a complete beginner but Angela made me a pro in weeks." - Burak Tunçbilek
"IT IS #1!!!!!!!!! Absolutely Amazing. The best iOS course i have ever taken. Angela explains everything the way it needs to be explained, so everything is easily understood. The concept of this course is built to make you learn, not just watch and repeat. Angela is highly educated and it is very much noticeable during the entire course. Again, it is fantastic. Thank you. Please create more courses!!!!!" - Eduard Khachian
Are you trying to choose between all the different iOS courses on Udemy? Take a look at what students on my course had to say about this:
I have revamped my expectation for what a 5 star course should be for Udemy. Angela, you're awesome! I already rated the course as 5 stars early on (at about 20% completion), but after completing roughly 70% of the course, I can say this is my favourite Udemy course as of today. Brilliant course Angela! - Alberto L
"I took a lot of courses on Udemy and elsewhere and non of them were as clear and perfectly paced as this one! Angelas approach is really awesome, deep and clear." - Žan Fras
"I have taken several iOS courses, so far this course had the best explanation on swift and xcode documentation. The lecturer is kinda humorous sometimes which make this course even more enjoyable." - Bryan Pukanda
"I have taken lots of courses on udemy and elsewhere for self learning and i can tell you with all the honesty this is one course which i did not want it to end. It is like one of those movies that you wish keeps going. Whatever concepts are covered were covered very beautifully and made learning quite simple. I got so many answers to Why? in this course like how closures work and why they work that way... why delegates work that way. Thank you so much for this course." - Arun Lakhera
"I compare this to another top iOS class on Udemy, but I think that this one beats it. The reason? Angela doesn't show you a plethora of material and then say that we will discuss this later, or say "just do this. You will see why later." She goes into the reason for doing something before doing it." - Clyde Addison
Requirements:
- No programming experience needed - I'll teach you everything you need to know
- A Mac computer running macOS 10.15 (Catalina) or a PC running macOS.
- No paid software required - all apps will be created in Xcode 11 (which is free to download)
- I'll walk you through, step-by-step how to get Xcode installed and set up
Who this course is for:
- If you are an absolute beginner to coding, then take this course.
- If you are a seasoned programmer, then take this course to to get up to speed quickly with Swift 5.1 and native app development. Start with the Xcode walkthrough lesson and we'll get you familiar with iOS development in no time!
- If you are switching from Objective-C to Swift then this is a fast-track way of doing it. You can get started straight away with the Intermediate Swift Language module.
- If you are a pro iOS developer and want to quickly get up to date with Apple's latest technology, then start with the modules on SwiftUI, ARKit and CoreML.
What you'll learn:
- Be able to build any app you want
- Start your own app based business
- Create a portfolio of apps to apply for junior developer jobs at a technology company
- Become a digital nomad by working as a freelance iOS developer
- Learn to work with Apple's latest UI Framework - SwiftUI
- Master creating Augmented Reality apps using Apple’s new ARKit
- Create apps that use Machine Learning using Apple’s new CoreML
- Master app design so you'll know how to wireframe, mockup and prototype your app idea
- Master app marketing so you can publish your apps and generate downloads
About the Author: Udemy
Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.
Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.
Watch Online 428 lessons
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Intro to the Course. What's coming up? Demo | 04:08 | |
| 2 | How does an App Work? | 07:48 | |
| 3 | How to Make an App | 08:37 | |
| 4 | How to Get All the Free Stuff | 01:10 | |
| 5 | How to Make the Most of the Bootcamp | 06:46 | |
| 6 | How to Get Help When You're Stuck | 06:41 | |
| 7 | Developing for iOS - Tools and Materials | 10:28 | |
| 8 | Getting set up with Xcode | 03:46 | |
| 9 | The I am Rich App | 02:58 | |
| 10 | Let's Create a Brand New Xcode Project | 06:31 | |
| 11 | A Walkthrough of the Xcode Development Environment | 14:13 | |
| 12 | Let's Design the User Interface! | 16:40 | |
| 13 | Let's Incorporate Some Image Assets | 10:36 | |
| 14 | How to Design and Add an App Icon | 09:10 | |
| 15 | Run Your App on Your iPhone or Simulator | 13:04 | |
| 16 | How to Ace this Course | 01:25 | |
| 17 | Tip from Angela - Habit Building with the Calendar Trick | 02:53 | |
| 18 | What You'll Make by the End of This Module | 02:00 | |
| 19 | Cloning from GitHub and How to Download the L.A.B. Project Stubs | 08:48 | |
| 20 | How to Design Your App | 09:35 | |
| 21 | Let's Link Our Design to Our Code | 22:53 | |
| 22 | Responding to User Interactions with IBActions | 08:31 | |
| 23 | [Swift Deep Dive] Naming Conventions, Commenting and String Interpolation | 09:21 | |
| 24 | Storing Data using Variables and Arrays | 16:55 | |
| 25 | [Swift Deep Dive] Variables | 07:51 | |
| 26 | [Swift Deep Dive] Arrays | 06:17 | |
| 27 | How to Randomise the Dice Images | 14:39 | |
| 28 | [Swift Deep Dive] Constants, the Range Operator and Randomisation | 14:57 | |
| 29 | Tip from Angela - Dealing with Distractions | 02:29 | |
| 30 | Tip from Angela - Nothing Easy is Worth Doing! | 03:36 | |
| 31 | Why do we need Auto Layout? | 02:59 | |
| 32 | Size Classes Explained | 06:35 | |
| 33 | Setting Constraints and working with the Safe Area | 09:00 | |
| 34 | How to use Alignment and Pinning | 05:53 | |
| 35 | Working with Containers and Subviews | 06:50 | |
| 36 | Stack Views | 10:28 | |
| 37 | Calculator Challenge Solution and Walkthrough | 09:59 | |
| 38 | Tip from Angela - How to Deal with Procrastination | 04:09 | |
| 39 | What You'll Make by the End of this Module | 02:20 | |
| 40 | Setting up the Xylophone Project | 04:47 | |
| 41 | The 5 Step Approach to Solve Any Programming Problem | 24:42 | |
| 42 | [Swift Deep Dive] Functions and Scope | 10:48 | |
| 43 | Linking Multiple Buttons to the Same IBAction | 10:11 | |
| 44 | [Swift Deep Dive] Functions with Inputs and Type Inference | 09:55 | |
| 45 | Playing Different Xylophone Sounds | 04:31 | |
| 46 | Tip from Angela - Building a Programming Habit | 02:47 | |
| 47 | What You'll Make by the End of this Module | 00:48 | |
| 48 | Setting up the Egg Timer Project and Linking the Storyboard and ViewController | 09:36 | |
| 49 | [Swift Deep Dive] If-Else Control Flow | 12:29 | |
| 50 | [Swift Deep Dive] Switch Statements | 07:28 | |
| 51 | Conditional Statements Challenge Solution | 04:54 | |
| 52 | [Swift Deep Dive] Dictionaries | 03:56 | |
| 53 | [Swift Deep Dive] Defining and Unwrapping Optionals | 10:59 | |
| 54 | Dictionary Challenge Solution | 06:18 | |
| 55 | Egg Timer Challenge Solution | 08:13 | |
| 56 | Showing the Timer to the User with a Progress View | 05:40 | |
| 57 | Calculating the Progress Percentage | 07:40 | |
| 58 | Using the 5 Step Approach to Debug our App | 11:09 | |
| 59 | Tip from Angela - Set Your Expectations | 02:36 | |
| 60 | What You'll Make by the End of this Module | 01:18 | |
| 61 | Setting up the Quizzler Project and Showing the Questions | 11:03 | |
| 62 | Checking Answers using 2-Dimensional Arrays | 12:29 | |
| 63 | [Swift Deep Dive] Structures, Methods and Properties | 23:02 | |
| 64 | Creating a Question Struct | 07:56 | |
| 65 | Giving the User Feedback and working with a ProgressView | 10:17 | |
| 66 | Understand the MVC Design Pattern | 07:58 | |
| 67 | Implementing MVC and Understanding Parameter Names | 09:48 | |
| 68 | [Swift Deep Dive] Functions with Outputs and Return Types | 05:54 | |
| 69 | Refactoring to Implement the MVC Design Pattern | 08:42 | |
| 70 | [Swift Deep Dive] Immutability | 07:30 | |
| 71 | Using Mutating Functions to Track the Score | 09:28 | |
| 72 | Tip from Angela - The 20 Minute Method | 02:40 | |
| 73 | Tip from Angela - Retrieval is How You Learn | 02:53 | |
| 74 | What You'll Make by the End of this Module | 01:24 | |
| 75 | Learn How to Use a UISlider | 14:40 | |
| 76 | Using the UISliders to Calculate the BMI | 06:43 | |
| 77 | [Swift Deep Dive] Classes and Inheritance | 22:06 | |
| 78 | [Swift Deep Dive] Structs v.s. Classes | 13:12 | |
| 79 | How to Use the Docs in Xcode and Create a Custom UIViewController Class | 07:10 | |
| 80 | How to Create a UI Programatically and Pass Data between ViewControllers | 13:08 | |
| 81 | Segues and Navigation for Multi-Screen Apps | 24:59 | |
| 82 | Adopting MVC by Creating a CalculatorBrain | 11:04 | |
| 83 | [Swift Deep Dive] Optional Binding, Chaining, and the Nil Coalescing Operator | 13:53 | |
| 84 | Use Optionals in Practice and Add the Finishing Touches with Colour Literals | 22:02 | |
| 85 | Tip from Angela - Learning Before you Eat | 02:07 | |
| 86 | Tip from Angela - Dealing with Lack of Progress | 03:09 | |
| 87 | What You'll Make by the End of This Module | 01:44 | |
| 88 | Dark Mode and Working with Vector Assets | 11:42 | |
| 89 | Learn to use the UITextField | 20:06 | |
| 90 | [Swift Deep Dive] Protocols | 19:53 | |
| 91 | The Delegate Design Pattern | 11:52 | |
| 92 | An Example of Protocols and Delegates in Practice | 17:40 | |
| 93 | Understanding the OpenWeather API and URL Parameters | 16:59 | |
| 94 | Use the URLSession for Networking | 18:17 | |
| 95 | [Swift Deep Dive] Closures | 20:45 | |
| 96 | JSON Decoding | 21:36 | |
| 97 | Create a WeatherModel and Understand Computed Properties | 15:34 | |
| 98 | Typealiases and a Protocols and Delegate Challenge | 10:55 | |
| 99 | [Swift Deep Dive] Internal and External Parameter Names | 02:30 | |
| 100 | Method Naming Conventions and Error Handling | 05:46 | |
| 101 | Updating the UI by Using the DispatchQueue | 06:57 | |
| 102 | [Swift Deep Dive] Extensions and Default Implementations for Protocols | 18:54 | |
| 103 | Using Extensions to Refactor the ViewController | 06:30 | |
| 104 | Using CoreLocation to get Location Data | 26:05 | |
| 105 | Tip from Angela - Mixing Knowledge | 02:21 | |
| 106 | Introducing coinapi.io | 03:15 | |
| 107 | Tip from Angela - Dealing with Frustration | 02:32 | |
| 108 | What You'll Make by the End of this Module | 02:29 | |
| 109 | Navigation Controller Stacks and Segues | 14:10 | |
| 110 | Typing Animations, Timers and For Loops | 10:53 | |
| 111 | [Swift Deep Dive] Loops | 17:25 | |
| 112 | Introduction to 3rd Party Libaries | 05:55 | |
| 113 | Cocoapods Installation Instructions | 08:39 | |
| 114 | How to Install a Pod to your Project | 07:22 | |
| 115 | Potential Problems with Pod Installation | 09:11 | |
| 116 | How to use the CLTypingLabel Pod | 08:26 | |
| 117 | How to Choose your Package Manager | 05:07 | |
| 118 | Adding Firebase to your Project | 09:54 | |
| 119 | Registering New Users | 15:21 | |
| 120 | Logging in Existing Users | 08:13 | |
| 121 | Logging Out Users | 09:44 | |
| 122 | Using a Constants File and Understanding the static Keyword | 11:04 | |
| 123 | How to use a UITableView and Create a Message Model | 17:52 | |
| 124 | Customising Cells in a TableView using a .xib File | 13:25 | |
| 125 | [Swift Deep Dive] Casting as? as! as is and understanding Any | 24:49 | |
| 126 | Database setup and Saving Data to Firestore | 17:18 | |
| 127 | Retrieving Data from Firestore | 15:15 | |
| 128 | Listening for Updates on Firestore | 04:51 | |
| 129 | How to Sort Data retrieved from Firestore | 07:44 | |
| 130 | How to Manage the Keyboard and use the Swift Package Manager | 14:23 | |
| 131 | Finishing Touches: UI and UX Improvements | 26:07 | |
| 132 | The ViewController Lifecycle Explained | 10:53 | |
| 133 | The App Lifecycle Methods Explained | 10:47 | |
| 134 | Tip from Angela - Sleep is My Secret Weapon | 03:49 | |
| 135 | Introduction to the Command Line | 06:54 | |
| 136 | Command Line Shortcuts | 12:53 | |
| 137 | Directory and File Manipulation Using the Command Line + Bonus | 10:41 | |
| 138 | What is SwiftUI? | 09:01 | |
| 139 | How to Build a SwiftUI App from Scratch | 13:58 | |
| 140 | How to Create Complex Designs and Layouts using SwiftUI | 31:25 | |
| 141 | SwiftUI Dicee Part 1 - Designing a Layout using Spacers and Subviews | 13:08 | |
| 142 | SwiftUI Dicee Part 2 - Building in Functionality and Managing State | 07:32 | |
| 143 | H4X0R News Part 1 - Understanding the List and Identifiable Protocol | 12:37 | |
| 144 | H4X0R News Part 2 - Networking in SwiftUI | 11:44 | |
| 145 | H4X0R News Part 3 - The Observer Design Pattern | 09:48 | |
| 146 | H4X0R News Part 4 - Using UIKit Components with SwiftUI | 15:07 | |
| 147 | Running your iOS App on a Mac with Project Catalyst | 05:06 | |
| 148 | Tip from Angela - How to Solidify Your Knowledge | 02:56 | |
| 149 | Introduction to Version Control and Git | 02:36 | |
| 150 | Version Control Using Git and the Command Line | 15:03 | |
| 151 | GitHub and Remote Repositories | 11:01 | |
| 152 | Gitignore | 12:03 | |
| 153 | Cloning Repositories | 05:06 | |
| 154 | Branching and Merging | 17:26 | |
| 155 | Using Xcode for Source Control | 19:40 | |
| 156 | Forking and Pull Requests | 17:09 | |
| 157 | Tip from Angela - Spaced Repetition | 04:02 | |
| 158 | The Clear App Clone that You'll Build by the End of this Module | 03:00 | |
| 159 | Subclassing a UITableViewController | 16:06 | |
| 160 | TableView Delegate Methods and Accessories | 07:46 | |
| 161 | Creating a Textfield Inside UIAlert to Add New Items | 17:41 | |
| 162 | Why Do We Need Persistent Local Data Storage? | 08:30 | |
| 163 | Persistent Local Data Storage Using UserDefaults | 09:01 | |
| 164 | UserDefaults Explained | 08:38 | |
| 165 | [Advanced Swift] The Swift Singleton Object | 05:26 | |
| 166 | Creating a Custom Data Model | 17:52 | |
| 167 | [Advanced Swift] The Swift Ternary Operator | 03:06 | |
| 168 | Restructuring Our App with MVC | 04:53 | |
| 169 | The Concept of iOS Sandboxing | 03:42 | |
| 170 | Encoding Data with NSCoder | 13:07 | |
| 171 | Decoding Data with NSCoder | 07:40 | |
| 172 | Introduction to Databases | 10:14 | |
| 173 | How to Set up and Configure Core Data | 18:34 | |
| 174 | How to Save Data with Core Data (Create in CRUD) | 07:30 | |
| 175 | How to View Your SQLite Database Backend for Core Data | 04:36 | |
| 176 | Core Data Fundamentals | 07:31 | |
| 177 | Reading Data from Core Data (Read in CRUD) | 04:51 | |
| 178 | Updating Data with Core Data (Update in CRUD) | 02:31 | |
| 179 | Removing Data from Core Data (Delete in CRUD) | 05:19 | |
| 180 | How to Implement a UISearchBar and Querying with Core Data | 26:08 | |
| 181 | How to Go Back to the Original List? | 07:22 | |
| 182 | How to Create Relationship Graphs in Core Data | 13:56 | |
| 183 | [Solution to Challenge] Setting Up CategoryViewController | 12:10 | |
| 184 | Adding the Delegate Method | 15:55 | |
| 185 | Introduction to Realm | 15:42 | |
| 186 | How to Save Data Using Realm (Create in CRUD) | 15:30 | |
| 187 | Fetching Data from Realm (Read in CRUD) | 20:21 | |
| 188 | Updating Data with Realm (Update in CRUD) | 03:33 | |
| 189 | Removing Data from Realm (Delete in CRUD) | 02:37 | |
| 190 | Querying Data Using Realm | 11:05 | |
| 191 | Review of How Our App Uses Realm for Data Persistence | 11:29 | |
| 192 | Making Our Cells Swipeable | 21:22 | |
| 193 | Inheriting from SwipeTableViewController | 17:04 | |
| 194 | [Solution to Challenge] Inheriting from SwipeTableViewController | 05:51 | |
| 195 | Adding Colour to Our App | 08:13 | |
| 196 | [Solution to Challenge] Persisting the Colour Property | 06:50 | |
| 197 | Creating Gradient Flow Cells | 20:13 | |
| 198 | Updating the UI of the Navigation Bar | 20:23 | |
| 199 | Tip from Angela - Location, Location, Location! | 01:41 | |
| 200 | What You'll Need to Implement In-App Purchases | 05:41 | |
| 201 | Check out the Skeleton Project | 02:45 | |
| 202 | Setup Your In-App Purchase on App Store Connect | 14:26 | |
| 203 | Create an Inspirational Quotes App | 08:23 | |
| 204 | Detecting When a User Wants to Make a Purchase | 09:26 | |
| 205 | Implementing the In-App Purchase with Apple StoreKit | 12:52 | |
| 206 | Create Sandbox Users on the App Store to Test In-App Purchases for Free | 12:04 | |
| 207 | Giving Users Access to Purchased Content | 11:34 | |
| 208 | Restoring In-App Purchases | 07:08 | |
| 209 | Tip from Angela - Use Accountability in your Favour | 02:57 | |
| 210 | Advanced Swift Properties | 02:26 | |
| 211 | Getters | 08:32 | |
| 212 | Setters | 02:41 | |
| 213 | Computed Properties | 05:34 | |
| 214 | Observed Properties | 05:53 | |
| 215 | Advanced Properties Challenge | 07:53 | |
| 216 | Tip from Angela - When Life Gives You Lemons | 06:02 | |
| 217 | What We'll Make - Calculator | 02:26 | |
| 218 | Accumulating Numbers in the Calculator | 14:51 | |
| 219 | Swift Access Levels | 17:02 | |
| 220 | Advanced Swift Optionals | 13:02 | |
| 221 | Adding More Functionality to Our Calculator | 04:28 | |
| 222 | Dealing with the Decimal Place | 05:31 | |
| 223 | Refactoring with Computed Properties | 06:59 | |
| 224 | Conforming to MVC | 17:55 | |
| 225 | Swift Structs vs. Classes - The Theory | 05:57 | |
| 226 | Swift Structs vs. Classes - In Practice | 25:06 | |
| 227 | How to Turn Our Model into a Struct | 12:18 | |
| 228 | Swift Tuples | 04:21 | |
| 229 | Guard Let vs. If Let When to Use Which? | 18:43 | |
| 230 | Tip from Angela - Find All the Hard Working People | 02:02 | |
| 231 | Introduction to Machine Learning | 05:03 | |
| 232 | Supervised Learning | 14:10 | |
| 233 | Unsupervised Learning | 06:10 | |
| 234 | Reinforcement Learning | 07:15 | |
| 235 | What is CoreML? | 06:52 | |
| 236 | What we'll be making | 02:22 | |
| 237 | How to Import the Image Recognition Model & Enable Camera Functionality | 21:56 | |
| 238 | Getting Image Recognition Results Back from Our V3 Model | 14:25 | |
| 239 | Hotdog or Not Hotdog? | 07:17 | |
| 240 | Tip from Angela - Daily Routines | 02:35 | |
| 241 | What we'll be making | 04:02 | |
| 242 | Installing CoremlTools using Python PIP | 09:19 | |
| 243 | Converting a Caffe Model into MLModel | 11:59 | |
| 244 | [Challenge] - Set up a UIImagePickerController | 01:42 | |
| 245 | [Solution] - Setting up a UIImagePickerController | 05:55 | |
| 246 | [Challenge] Getting Classifications from Our Model | 01:01 | |
| 247 | [Solution] Getting Classifications from our Model | 09:01 | |
| 248 | [Challenge] Adding Cocoapods to Our Project | 03:06 | |
| 249 | [Solution] Adding Cocoapods to Our Project | 01:49 | |
| 250 | [Challenge] Making HTTP GET requests to Wikipedia using Alamofire and REST | 06:15 | |
| 251 | [Solution] Making HTTP GET requests to Wikipedia using Alamofire and REST | 03:43 | |
| 252 | [Challenge] Parsing the JSON Result using SwiftyJSON | 02:10 | |
| 253 | [Solution] Parsing the JSON Result using SwiftyJSON | 05:57 | |
| 254 | Displaying Images From a URL using SDWebImage | 05:16 | |
| 255 | [Bonus Lesson] Creating the App Icon From Scratch and Styling the App | 06:48 | |
| 256 | Tip from Angela - Deep Work | 03:02 | |
| 257 | Introduction to CreateML | 04:38 | |
| 258 | How to Gather Data for Training | 10:03 | |
| 259 | How to Train a Brand New Machine Learning Model | 13:00 | |
| 260 | [Challenge] Build Your Own Machine Learning Model | 06:49 | |
| 261 | Tip from Angela - One Step at a Time | 02:55 | |
| 262 | What We'll Make - Twitter Sentiment Analysis | 06:14 | |
| 263 | Using CreateML for Natural Language Processing | 20:46 | |
| 264 | How to Sign Up as a Twitter Developer | 13:24 | |
| 265 | Setting Up the Swifter Framework | 17:12 | |
| 266 | How to Fetch Live Twitter Data | 13:19 | |
| 267 | Performing Sentiment Classification | 06:18 | |
| 268 | Parsing Tweet Data in JSON | 10:17 | |
| 269 | Making Batch Predictions | 10:21 | |
| 270 | Updating the User Interface of Our App | 08:06 | |
| 271 | Code Refactoring | 08:52 | |
| 272 | Tip from Angela - Discipline Breeds Discipline | 02:21 | |
| 273 | Introduction to Augmented Reality and ARKit | 08:07 | |
| 274 | How to Setup and Configure Your Project for AR | 11:59 | |
| 275 | How to Create a 3D Object in Augmented Reality | 09:25 | |
| 276 | Bring the Moon into Your Living Room Using AR | 03:44 | |
| 277 | How to Find and Import 3D Models for AR | 11:31 | |
| 278 | How to Detect Horizontal Planes in the Real World | 18:20 | |
| 279 | How to Detect Touch on Real World 3D Objects | 07:09 | |
| 280 | How to Place Our Dice in 3D Using Touch | 06:50 | |
| 281 | How to Animate 3D Objects in AR | 06:18 | |
| 282 | How to Animate and Roll all the 3D Dice at Once | 05:02 | |
| 283 | How to Remove Our 3D Objects from the AR Scene | 02:36 | |
| 284 | [Optional Lesson] Refactoring Our Code for Better Readability | 08:40 | |
| 285 | Tip from Angela - Dealing with Limitations | 05:23 | |
| 286 | What We'll Make By the End of this Module | 00:34 | |
| 287 | Detecting the Start and End Points of Our Measurement | 12:21 | |
| 288 | Calculating the Distance Between Two 3D points | 15:06 | |
| 289 | Creating 3D Text in the AR Scene | 07:09 | |
| 290 | Resetting the Measurements | 05:13 | |
| 291 | What We'll Make - Pokemon 3D | 04:37 | |
| 292 | Adding Tracking Images | 13:18 | |
| 293 | How to Add Plane to Card | 09:45 | |
| 294 | Converting 3D Models to the New USDZ File Format | 07:48 | |
| 295 | Adding 3D Pokemon Modes to Card Tracking | 11:12 | |
| 296 | Tracking Multiple Pokemons | 14:16 | |
| 297 | Tip from Angela - Imposter Syndrome | 02:07 | |
| 298 | What We'll Make - A Magical Newspaper | 01:19 | |
| 299 | How to Source the Assets | 04:02 | |
| 300 | [Challenge] Detecting Images in AR | 12:27 | |
| 301 | Video Playback in AR | 08:36 | |
| 302 | Tip from Angela - How to Become a Freelancer | 01:38 | |
| 303 | How to Publish Your App on to the App Store | 10:55 | |
| 304 | Useful Tools to Help You with App Submissions | 02:44 | |
| 305 | Tip from Angela - How to Build Your Own Products | 02:15 | |
| 306 | Tip from Angela - How to Get a Job as a Developer | 02:07 | |
| 307 | Where to Go From Here? | 12:24 | |
| 308 | Introduction to App Design | 01:42 | |
| 309 | Why Design is Important for an App Entrepreneur | 01:33 | |
| 310 | Designer vs. Non-Designer Thinking | 03:34 | |
| 311 | Understanding the Mood of Your Colour Palette | 06:03 | |
| 312 | How to Combine Colours to Create Colour Palettes | 04:09 | |
| 313 | Tools for Designing with Colour | 02:48 | |
| 314 | Introduction to Typography | 00:45 | |
| 315 | The Serif Type Family - Origins and Use | 04:41 | |
| 316 | The Sans-Serif Type Family - Origins and Use | 01:39 | |
| 317 | How Typography Determines Readability | 02:40 | |
| 318 | How to Combine Fonts Like a Pro | 06:01 | |
| 319 | What is User Interface (UI) Design? | 00:43 | |
| 320 | The Tour Guide Approach to UI Design | 03:12 | |
| 321 | The Importance of Alignment | 02:51 | |
| 322 | What is Good Practice in Interaction Design | 08:26 | |
| 323 | Colour in User Interface Design | 02:17 | |
| 324 | The Many Ways of Designing Text Overlays | 03:23 | |
| 325 | How to Be an Attention Architect | 04:47 | |
| 326 | What is User Experience (UX) Design? | 04:12 | |
| 327 | Usability | 05:18 | |
| 328 | Asking for Permissions | 03:15 | |
| 329 | User Profiling | 02:31 | |
| 330 | Form vs. Function | 02:19 | |
| 331 | Consistency | 02:58 | |
| 332 | Simplicity | 04:18 | |
| 333 | Don't Make Me Think | 07:28 | |
| 334 | Onboarding | 02:35 | |
| 335 | Idiot Boxes | 03:44 | |
| 336 | Android vs. iOS Design | 03:12 | |
| 337 | Navigation | 03:09 | |
| 338 | The Devil is in the Details | 01:10 | |
| 339 | Differences in Icon Design | 00:36 | |
| 340 | Flat Design vs. Material Design | 02:33 | |
| 341 | Differences in Establishing Visual Hierarchy | 00:45 | |
| 342 | iOS and Android Design Guidelines | 02:57 | |
| 343 | Step1 - Design Patterns and Colour Palettes | 03:30 | |
| 344 | Step 2 - How to Create a User Flow Diagram | 07:57 | |
| 345 | Step 3 - How to Create Wireframes | 10:34 | |
| 346 | Step 4 - How to Create Professional Mockups | 05:08 | |
| 347 | How to Use Sketch to Create Mockups | 15:29 | |
| 348 | [Optional] Watch me Create a Mock up Using Sketch | 46:11 | |
| 349 | How to Use Canva to Create Mockups | 03:40 | |
| 350 | Your Turn to Create Your Own Mockups | 02:04 | |
| 351 | Step 5 - How to Create an Animated App Prototype | 03:38 | |
| 352 | Prototyping with Keynote | 08:04 | |
| 353 | Prototyping with Marvel | 05:27 | |
| 354 | Your Turn to Create a Prototype | 01:17 | |
| 355 | How to Keep Designing and Improving | 01:11 | |
| 356 | Tip from Angela - Step Up to Challenges | 01:15 | |
| 357 | The Importance of App Marketing | 01:05 | |
| 358 | The Fallacy of Build it and They Will Come | 05:28 | |
| 359 | The Importance of Idea Validation | 05:44 | |
| 360 | 1. The Simplest Way of Validating Your Idea - The Starbucks Method | 07:21 | |
| 361 | 2. Using Google Trends to Estimate the Size of Your Market | 05:28 | |
| 362 | 3. The Landing Page Validation Method | 16:02 | |
| 363 | How to Create a Landing Page Website in Less than an Hour | 03:30 | |
| 364 | 4. Creating a Minimum Viable Product | 08:01 | |
| 365 | 5. Using Crowd-funding to Validate and Fund Your Idea | 06:34 | |
| 366 | How to Monetise Your App on iOS vs. Android | 03:24 | |
| 367 | When You Should Create a Paid App | 08:34 | |
| 368 | When to use In-App Advertisements | 06:28 | |
| 369 | How You Thought About These Alternative Monetisation Models? | 06:50 | |
| 370 | How to Get an App icon Designed without Breaking the Bank | 04:24 | |
| 371 | Split Testing for Super Success | 06:07 | |
| 372 | What Makes a Good App Icon? | 01:10 | |
| 373 | The Dos and Don'ts of Making App Screenshots | 02:59 | |
| 374 | Tools for Building Screenshots | 01:18 | |
| 375 | Your First 1000 Customers | 03:33 | |
| 376 | Building an Email List | 02:37 | |
| 377 | The All Important Landing Page | 07:57 | |
| 378 | Blogging Your Way to Success | 05:05 | |
| 379 | Content Marketing for App Downloads | 03:15 | |
| 380 | How to Successfully Launch on Product Hunt | 09:23 | |
| 381 | How to Launch on Beta List | 01:29 | |
| 382 | How to Launch on Hacker News | 02:26 | |
| 383 | If At First You Don't Succeed... | 02:40 | |
| 384 | Cross Promotion | 01:17 | |
| 385 | Social Referrals and Social Queuing | 03:49 | |
| 386 | How to Make Social Media Work for You | 04:51 | |
| 387 | Do I Need a PR Agency? | 00:51 | |
| 388 | Not All Press is Created Equal | 00:41 | |
| 389 | How to Craft Your Story | 04:57 | |
| 390 | How to Craft Your Pitch | 01:39 | |
| 391 | How to Figure Out Which Journalists to Pitch | 02:45 | |
| 392 | How to Find Anyone's Email Address | 01:34 | |
| 393 | How to Pitch a Journalist | 04:37 | |
| 394 | Establishing a Relationship with a Journalist | 01:07 | |
| 395 | What if You Still Can't Get Anyone to Write About You? | 03:55 | |
| 396 | Final Tips on Getting Press | 02:02 | |
| 397 | How to Get Featured on the App Store? | 01:09 | |
| 398 | "Only on the App Store" | 01:37 | |
| 399 | Work with the Corporate Mindset | 01:05 | |
| 400 | Native vs. Cross-Platform Apps | 02:07 | |
| 401 | Tips and Tricks for Getting Featured | 03:08 | |
| 402 | What is App Store Optimisation (ASO)? | 01:01 | |
| 403 | Top Tips to Optimise Your App Store Listing | 02:06 | |
| 404 | My Complete ASO Workflow | 05:00 | |
| 405 | Using Apple Search Ads as a Research Tool | 02:06 | |
| 406 | Early vs. Late Game Strategies | 01:20 | |
| 407 | Differences Between Google Play and Apple App Store | 02:25 | |
| 408 | When to use Paid Advertising or App Marketing | 00:53 | |
| 409 | Always Test Before You Advertise | 03:51 | |
| 410 | Which Platform to Advertise On? | 00:34 | |
| 411 | How Much Does it Cost? | 01:39 | |
| 412 | How to Setup Your Facebook Ad | 02:29 | |
| 413 | Use Your Competitors' Ad Budget | 02:17 | |
| 414 | Where Can I Find More Customers? | 00:57 | |
| 415 | One Weird Trick to Get More Money from Apple | 01:40 | |
| 416 | How to Get More 5 Star Ratings and Reviews | 04:10 | |
| 417 | Use This Free Tools to Monitor Your App Reviews | 01:02 | |
| 418 | How to use App Analytics to Increase User Retention | 03:09 | |
| 419 | White Hat Techniques | 03:04 | |
| 420 | Black Hat Techniques | 04:21 | |
| 421 | A 5 Second Way of Building a Web Page for Your iOS App | 01:48 | |
| 422 | How to Use Bootstrap to Build Your App Showcase Website | 09:53 | |
| 423 | Tip from Angela - Decision Fatigue | 01:26 | |
| 424 | AAA 1 - How to Soak in Programming Concepts & much more | 39:43 | |
| 425 | AAA 2 - Schedule for Learning to Code & much more | 39:09 | |
| 426 | AAA 3 - How to Start Freelancing & much more | 25:20 | |
| 427 | AAA 4 - The Live AMA | 59:53 | |
| 428 | How to Make an App From Beginning to End | 51:02 |
Get instant access to all 427 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionCourse content
428 lessons · 59h 45m 35sShow all 428 lessons
- 1 Intro to the Course. What's coming up? 04:08
- 2 How does an App Work? 07:48
- 3 How to Make an App 08:37
- 4 How to Get All the Free Stuff 01:10
- 5 How to Make the Most of the Bootcamp 06:46
- 6 How to Get Help When You're Stuck 06:41
- 7 Developing for iOS - Tools and Materials 10:28
- 8 Getting set up with Xcode 03:46
- 9 The I am Rich App 02:58
- 10 Let's Create a Brand New Xcode Project 06:31
- 11 A Walkthrough of the Xcode Development Environment 14:13
- 12 Let's Design the User Interface! 16:40
- 13 Let's Incorporate Some Image Assets 10:36
- 14 How to Design and Add an App Icon 09:10
- 15 Run Your App on Your iPhone or Simulator 13:04
- 16 How to Ace this Course 01:25
- 17 Tip from Angela - Habit Building with the Calendar Trick 02:53
- 18 What You'll Make by the End of This Module 02:00
- 19 Cloning from GitHub and How to Download the L.A.B. Project Stubs 08:48
- 20 How to Design Your App 09:35
- 21 Let's Link Our Design to Our Code 22:53
- 22 Responding to User Interactions with IBActions 08:31
- 23 [Swift Deep Dive] Naming Conventions, Commenting and String Interpolation 09:21
- 24 Storing Data using Variables and Arrays 16:55
- 25 [Swift Deep Dive] Variables 07:51
- 26 [Swift Deep Dive] Arrays 06:17
- 27 How to Randomise the Dice Images 14:39
- 28 [Swift Deep Dive] Constants, the Range Operator and Randomisation 14:57
- 29 Tip from Angela - Dealing with Distractions 02:29
- 30 Tip from Angela - Nothing Easy is Worth Doing! 03:36
- 31 Why do we need Auto Layout? 02:59
- 32 Size Classes Explained 06:35
- 33 Setting Constraints and working with the Safe Area 09:00
- 34 How to use Alignment and Pinning 05:53
- 35 Working with Containers and Subviews 06:50
- 36 Stack Views 10:28
- 37 Calculator Challenge Solution and Walkthrough 09:59
- 38 Tip from Angela - How to Deal with Procrastination 04:09
- 39 What You'll Make by the End of this Module 02:20
- 40 Setting up the Xylophone Project 04:47
- 41 The 5 Step Approach to Solve Any Programming Problem 24:42
- 42 [Swift Deep Dive] Functions and Scope 10:48
- 43 Linking Multiple Buttons to the Same IBAction 10:11
- 44 [Swift Deep Dive] Functions with Inputs and Type Inference 09:55
- 45 Playing Different Xylophone Sounds 04:31
- 46 Tip from Angela - Building a Programming Habit 02:47
- 47 What You'll Make by the End of this Module 00:48
- 48 Setting up the Egg Timer Project and Linking the Storyboard and ViewController 09:36
- 49 [Swift Deep Dive] If-Else Control Flow 12:29
- 50 [Swift Deep Dive] Switch Statements 07:28
- 51 Conditional Statements Challenge Solution 04:54
- 52 [Swift Deep Dive] Dictionaries 03:56
- 53 [Swift Deep Dive] Defining and Unwrapping Optionals 10:59
- 54 Dictionary Challenge Solution 06:18
- 55 Egg Timer Challenge Solution 08:13
- 56 Showing the Timer to the User with a Progress View 05:40
- 57 Calculating the Progress Percentage 07:40
- 58 Using the 5 Step Approach to Debug our App 11:09
- 59 Tip from Angela - Set Your Expectations 02:36
- 60 What You'll Make by the End of this Module 01:18
- 61 Setting up the Quizzler Project and Showing the Questions 11:03
- 62 Checking Answers using 2-Dimensional Arrays 12:29
- 63 [Swift Deep Dive] Structures, Methods and Properties 23:02
- 64 Creating a Question Struct 07:56
- 65 Giving the User Feedback and working with a ProgressView 10:17
- 66 Understand the MVC Design Pattern 07:58
- 67 Implementing MVC and Understanding Parameter Names 09:48
- 68 [Swift Deep Dive] Functions with Outputs and Return Types 05:54
- 69 Refactoring to Implement the MVC Design Pattern 08:42
- 70 [Swift Deep Dive] Immutability 07:30
- 71 Using Mutating Functions to Track the Score 09:28
- 72 Tip from Angela - The 20 Minute Method 02:40
- 73 Tip from Angela - Retrieval is How You Learn 02:53
- 74 What You'll Make by the End of this Module 01:24
- 75 Learn How to Use a UISlider 14:40
- 76 Using the UISliders to Calculate the BMI 06:43
- 77 [Swift Deep Dive] Classes and Inheritance 22:06
- 78 [Swift Deep Dive] Structs v.s. Classes 13:12
- 79 How to Use the Docs in Xcode and Create a Custom UIViewController Class 07:10
- 80 How to Create a UI Programatically and Pass Data between ViewControllers 13:08
- 81 Segues and Navigation for Multi-Screen Apps 24:59
- 82 Adopting MVC by Creating a CalculatorBrain 11:04
- 83 [Swift Deep Dive] Optional Binding, Chaining, and the Nil Coalescing Operator 13:53
- 84 Use Optionals in Practice and Add the Finishing Touches with Colour Literals 22:02
- 85 Tip from Angela - Learning Before you Eat 02:07
- 86 Tip from Angela - Dealing with Lack of Progress 03:09
- 87 What You'll Make by the End of This Module 01:44
- 88 Dark Mode and Working with Vector Assets 11:42
- 89 Learn to use the UITextField 20:06
- 90 [Swift Deep Dive] Protocols 19:53
- 91 The Delegate Design Pattern 11:52
- 92 An Example of Protocols and Delegates in Practice 17:40
- 93 Understanding the OpenWeather API and URL Parameters 16:59
- 94 Use the URLSession for Networking 18:17
- 95 [Swift Deep Dive] Closures 20:45
- 96 JSON Decoding 21:36
- 97 Create a WeatherModel and Understand Computed Properties 15:34
- 98 Typealiases and a Protocols and Delegate Challenge 10:55
- 99 [Swift Deep Dive] Internal and External Parameter Names 02:30
- 100 Method Naming Conventions and Error Handling 05:46
- 101 Updating the UI by Using the DispatchQueue 06:57
- 102 [Swift Deep Dive] Extensions and Default Implementations for Protocols 18:54
- 103 Using Extensions to Refactor the ViewController 06:30
- 104 Using CoreLocation to get Location Data 26:05
- 105 Tip from Angela - Mixing Knowledge 02:21
- 106 Introducing coinapi.io 03:15
- 107 Tip from Angela - Dealing with Frustration 02:32
- 108 What You'll Make by the End of this Module 02:29
- 109 Navigation Controller Stacks and Segues 14:10
- 110 Typing Animations, Timers and For Loops 10:53
- 111 [Swift Deep Dive] Loops 17:25
- 112 Introduction to 3rd Party Libaries 05:55
- 113 Cocoapods Installation Instructions 08:39
- 114 How to Install a Pod to your Project 07:22
- 115 Potential Problems with Pod Installation 09:11
- 116 How to use the CLTypingLabel Pod 08:26
- 117 How to Choose your Package Manager 05:07
- 118 Adding Firebase to your Project 09:54
- 119 Registering New Users 15:21
- 120 Logging in Existing Users 08:13
- 121 Logging Out Users 09:44
- 122 Using a Constants File and Understanding the static Keyword 11:04
- 123 How to use a UITableView and Create a Message Model 17:52
- 124 Customising Cells in a TableView using a .xib File 13:25
- 125 [Swift Deep Dive] Casting as? as! as is and understanding Any 24:49
- 126 Database setup and Saving Data to Firestore 17:18
- 127 Retrieving Data from Firestore 15:15
- 128 Listening for Updates on Firestore 04:51
- 129 How to Sort Data retrieved from Firestore 07:44
- 130 How to Manage the Keyboard and use the Swift Package Manager 14:23
- 131 Finishing Touches: UI and UX Improvements 26:07
- 132 The ViewController Lifecycle Explained 10:53
- 133 The App Lifecycle Methods Explained 10:47
- 134 Tip from Angela - Sleep is My Secret Weapon 03:49
- 135 Introduction to the Command Line 06:54
- 136 Command Line Shortcuts 12:53
- 137 Directory and File Manipulation Using the Command Line + Bonus 10:41
- 138 What is SwiftUI? 09:01
- 139 How to Build a SwiftUI App from Scratch 13:58
- 140 How to Create Complex Designs and Layouts using SwiftUI 31:25
- 141 SwiftUI Dicee Part 1 - Designing a Layout using Spacers and Subviews 13:08
- 142 SwiftUI Dicee Part 2 - Building in Functionality and Managing State 07:32
- 143 H4X0R News Part 1 - Understanding the List and Identifiable Protocol 12:37
- 144 H4X0R News Part 2 - Networking in SwiftUI 11:44
- 145 H4X0R News Part 3 - The Observer Design Pattern 09:48
- 146 H4X0R News Part 4 - Using UIKit Components with SwiftUI 15:07
- 147 Running your iOS App on a Mac with Project Catalyst 05:06
- 148 Tip from Angela - How to Solidify Your Knowledge 02:56
- 149 Introduction to Version Control and Git 02:36
- 150 Version Control Using Git and the Command Line 15:03
- 151 GitHub and Remote Repositories 11:01
- 152 Gitignore 12:03
- 153 Cloning Repositories 05:06
- 154 Branching and Merging 17:26
- 155 Using Xcode for Source Control 19:40
- 156 Forking and Pull Requests 17:09
- 157 Tip from Angela - Spaced Repetition 04:02
- 158 The Clear App Clone that You'll Build by the End of this Module 03:00
- 159 Subclassing a UITableViewController 16:06
- 160 TableView Delegate Methods and Accessories 07:46
- 161 Creating a Textfield Inside UIAlert to Add New Items 17:41
- 162 Why Do We Need Persistent Local Data Storage? 08:30
- 163 Persistent Local Data Storage Using UserDefaults 09:01
- 164 UserDefaults Explained 08:38
- 165 [Advanced Swift] The Swift Singleton Object 05:26
- 166 Creating a Custom Data Model 17:52
- 167 [Advanced Swift] The Swift Ternary Operator 03:06
- 168 Restructuring Our App with MVC 04:53
- 169 The Concept of iOS Sandboxing 03:42
- 170 Encoding Data with NSCoder 13:07
- 171 Decoding Data with NSCoder 07:40
- 172 Introduction to Databases 10:14
- 173 How to Set up and Configure Core Data 18:34
- 174 How to Save Data with Core Data (Create in CRUD) 07:30
- 175 How to View Your SQLite Database Backend for Core Data 04:36
- 176 Core Data Fundamentals 07:31
- 177 Reading Data from Core Data (Read in CRUD) 04:51
- 178 Updating Data with Core Data (Update in CRUD) 02:31
- 179 Removing Data from Core Data (Delete in CRUD) 05:19
- 180 How to Implement a UISearchBar and Querying with Core Data 26:08
- 181 How to Go Back to the Original List? 07:22
- 182 How to Create Relationship Graphs in Core Data 13:56
- 183 [Solution to Challenge] Setting Up CategoryViewController 12:10
- 184 Adding the Delegate Method 15:55
- 185 Introduction to Realm 15:42
- 186 How to Save Data Using Realm (Create in CRUD) 15:30
- 187 Fetching Data from Realm (Read in CRUD) 20:21
- 188 Updating Data with Realm (Update in CRUD) 03:33
- 189 Removing Data from Realm (Delete in CRUD) 02:37
- 190 Querying Data Using Realm 11:05
- 191 Review of How Our App Uses Realm for Data Persistence 11:29
- 192 Making Our Cells Swipeable 21:22
- 193 Inheriting from SwipeTableViewController 17:04
- 194 [Solution to Challenge] Inheriting from SwipeTableViewController 05:51
- 195 Adding Colour to Our App 08:13
- 196 [Solution to Challenge] Persisting the Colour Property 06:50
- 197 Creating Gradient Flow Cells 20:13
- 198 Updating the UI of the Navigation Bar 20:23
- 199 Tip from Angela - Location, Location, Location! 01:41
- 200 What You'll Need to Implement In-App Purchases 05:41
- 201 Check out the Skeleton Project 02:45
- 202 Setup Your In-App Purchase on App Store Connect 14:26
- 203 Create an Inspirational Quotes App 08:23
- 204 Detecting When a User Wants to Make a Purchase 09:26
- 205 Implementing the In-App Purchase with Apple StoreKit 12:52
- 206 Create Sandbox Users on the App Store to Test In-App Purchases for Free 12:04
- 207 Giving Users Access to Purchased Content 11:34
- 208 Restoring In-App Purchases 07:08
- 209 Tip from Angela - Use Accountability in your Favour 02:57
- 210 Advanced Swift Properties 02:26
- 211 Getters 08:32
- 212 Setters 02:41
- 213 Computed Properties 05:34
- 214 Observed Properties 05:53
- 215 Advanced Properties Challenge 07:53
- 216 Tip from Angela - When Life Gives You Lemons 06:02
- 217 What We'll Make - Calculator 02:26
- 218 Accumulating Numbers in the Calculator 14:51
- 219 Swift Access Levels 17:02
- 220 Advanced Swift Optionals 13:02
- 221 Adding More Functionality to Our Calculator 04:28
- 222 Dealing with the Decimal Place 05:31
- 223 Refactoring with Computed Properties 06:59
- 224 Conforming to MVC 17:55
- 225 Swift Structs vs. Classes - The Theory 05:57
- 226 Swift Structs vs. Classes - In Practice 25:06
- 227 How to Turn Our Model into a Struct 12:18
- 228 Swift Tuples 04:21
- 229 Guard Let vs. If Let When to Use Which? 18:43
- 230 Tip from Angela - Find All the Hard Working People 02:02
- 231 Introduction to Machine Learning 05:03
- 232 Supervised Learning 14:10
- 233 Unsupervised Learning 06:10
- 234 Reinforcement Learning 07:15
- 235 What is CoreML? 06:52
- 236 What we'll be making 02:22
- 237 How to Import the Image Recognition Model & Enable Camera Functionality 21:56
- 238 Getting Image Recognition Results Back from Our V3 Model 14:25
- 239 Hotdog or Not Hotdog? 07:17
- 240 Tip from Angela - Daily Routines 02:35
- 241 What we'll be making 04:02
- 242 Installing CoremlTools using Python PIP 09:19
- 243 Converting a Caffe Model into MLModel 11:59
- 244 [Challenge] - Set up a UIImagePickerController 01:42
- 245 [Solution] - Setting up a UIImagePickerController 05:55
- 246 [Challenge] Getting Classifications from Our Model 01:01
- 247 [Solution] Getting Classifications from our Model 09:01
- 248 [Challenge] Adding Cocoapods to Our Project 03:06
- 249 [Solution] Adding Cocoapods to Our Project 01:49
- 250 [Challenge] Making HTTP GET requests to Wikipedia using Alamofire and REST 06:15
- 251 [Solution] Making HTTP GET requests to Wikipedia using Alamofire and REST 03:43
- 252 [Challenge] Parsing the JSON Result using SwiftyJSON 02:10
- 253 [Solution] Parsing the JSON Result using SwiftyJSON 05:57
- 254 Displaying Images From a URL using SDWebImage 05:16
- 255 [Bonus Lesson] Creating the App Icon From Scratch and Styling the App 06:48
- 256 Tip from Angela - Deep Work 03:02
- 257 Introduction to CreateML 04:38
- 258 How to Gather Data for Training 10:03
- 259 How to Train a Brand New Machine Learning Model 13:00
- 260 [Challenge] Build Your Own Machine Learning Model 06:49
- 261 Tip from Angela - One Step at a Time 02:55
- 262 What We'll Make - Twitter Sentiment Analysis 06:14
- 263 Using CreateML for Natural Language Processing 20:46
- 264 How to Sign Up as a Twitter Developer 13:24
- 265 Setting Up the Swifter Framework 17:12
- 266 How to Fetch Live Twitter Data 13:19
- 267 Performing Sentiment Classification 06:18
- 268 Parsing Tweet Data in JSON 10:17
- 269 Making Batch Predictions 10:21
- 270 Updating the User Interface of Our App 08:06
- 271 Code Refactoring 08:52
- 272 Tip from Angela - Discipline Breeds Discipline 02:21
- 273 Introduction to Augmented Reality and ARKit 08:07
- 274 How to Setup and Configure Your Project for AR 11:59
- 275 How to Create a 3D Object in Augmented Reality 09:25
- 276 Bring the Moon into Your Living Room Using AR 03:44
- 277 How to Find and Import 3D Models for AR 11:31
- 278 How to Detect Horizontal Planes in the Real World 18:20
- 279 How to Detect Touch on Real World 3D Objects 07:09
- 280 How to Place Our Dice in 3D Using Touch 06:50
- 281 How to Animate 3D Objects in AR 06:18
- 282 How to Animate and Roll all the 3D Dice at Once 05:02
- 283 How to Remove Our 3D Objects from the AR Scene 02:36
- 284 [Optional Lesson] Refactoring Our Code for Better Readability 08:40
- 285 Tip from Angela - Dealing with Limitations 05:23
- 286 What We'll Make By the End of this Module 00:34
- 287 Detecting the Start and End Points of Our Measurement 12:21
- 288 Calculating the Distance Between Two 3D points 15:06
- 289 Creating 3D Text in the AR Scene 07:09
- 290 Resetting the Measurements 05:13
- 291 What We'll Make - Pokemon 3D 04:37
- 292 Adding Tracking Images 13:18
- 293 How to Add Plane to Card 09:45
- 294 Converting 3D Models to the New USDZ File Format 07:48
- 295 Adding 3D Pokemon Modes to Card Tracking 11:12
- 296 Tracking Multiple Pokemons 14:16
- 297 Tip from Angela - Imposter Syndrome 02:07
- 298 What We'll Make - A Magical Newspaper 01:19
- 299 How to Source the Assets 04:02
- 300 [Challenge] Detecting Images in AR 12:27
- 301 Video Playback in AR 08:36
- 302 Tip from Angela - How to Become a Freelancer 01:38
- 303 How to Publish Your App on to the App Store 10:55
- 304 Useful Tools to Help You with App Submissions 02:44
- 305 Tip from Angela - How to Build Your Own Products 02:15
- 306 Tip from Angela - How to Get a Job as a Developer 02:07
- 307 Where to Go From Here? 12:24
- 308 Introduction to App Design 01:42
- 309 Why Design is Important for an App Entrepreneur 01:33
- 310 Designer vs. Non-Designer Thinking 03:34
- 311 Understanding the Mood of Your Colour Palette 06:03
- 312 How to Combine Colours to Create Colour Palettes 04:09
- 313 Tools for Designing with Colour 02:48
- 314 Introduction to Typography 00:45
- 315 The Serif Type Family - Origins and Use 04:41
- 316 The Sans-Serif Type Family - Origins and Use 01:39
- 317 How Typography Determines Readability 02:40
- 318 How to Combine Fonts Like a Pro 06:01
- 319 What is User Interface (UI) Design? 00:43
- 320 The Tour Guide Approach to UI Design 03:12
- 321 The Importance of Alignment 02:51
- 322 What is Good Practice in Interaction Design 08:26
- 323 Colour in User Interface Design 02:17
- 324 The Many Ways of Designing Text Overlays 03:23
- 325 How to Be an Attention Architect 04:47
- 326 What is User Experience (UX) Design? 04:12
- 327 Usability 05:18
- 328 Asking for Permissions 03:15
- 329 User Profiling 02:31
- 330 Form vs. Function 02:19
- 331 Consistency 02:58
- 332 Simplicity 04:18
- 333 Don't Make Me Think 07:28
- 334 Onboarding 02:35
- 335 Idiot Boxes 03:44
- 336 Android vs. iOS Design 03:12
- 337 Navigation 03:09
- 338 The Devil is in the Details 01:10
- 339 Differences in Icon Design 00:36
- 340 Flat Design vs. Material Design 02:33
- 341 Differences in Establishing Visual Hierarchy 00:45
- 342 iOS and Android Design Guidelines 02:57
- 343 Step1 - Design Patterns and Colour Palettes 03:30
- 344 Step 2 - How to Create a User Flow Diagram 07:57
- 345 Step 3 - How to Create Wireframes 10:34
- 346 Step 4 - How to Create Professional Mockups 05:08
- 347 How to Use Sketch to Create Mockups 15:29
- 348 [Optional] Watch me Create a Mock up Using Sketch 46:11
- 349 How to Use Canva to Create Mockups 03:40
- 350 Your Turn to Create Your Own Mockups 02:04
- 351 Step 5 - How to Create an Animated App Prototype 03:38
- 352 Prototyping with Keynote 08:04
- 353 Prototyping with Marvel 05:27
- 354 Your Turn to Create a Prototype 01:17
- 355 How to Keep Designing and Improving 01:11
- 356 Tip from Angela - Step Up to Challenges 01:15
- 357 The Importance of App Marketing 01:05
- 358 The Fallacy of Build it and They Will Come 05:28
- 359 The Importance of Idea Validation 05:44
- 360 1. The Simplest Way of Validating Your Idea - The Starbucks Method 07:21
- 361 2. Using Google Trends to Estimate the Size of Your Market 05:28
- 362 3. The Landing Page Validation Method 16:02
- 363 How to Create a Landing Page Website in Less than an Hour 03:30
- 364 4. Creating a Minimum Viable Product 08:01
- 365 5. Using Crowd-funding to Validate and Fund Your Idea 06:34
- 366 How to Monetise Your App on iOS vs. Android 03:24
- 367 When You Should Create a Paid App 08:34
- 368 When to use In-App Advertisements 06:28
- 369 How You Thought About These Alternative Monetisation Models? 06:50
- 370 How to Get an App icon Designed without Breaking the Bank 04:24
- 371 Split Testing for Super Success 06:07
- 372 What Makes a Good App Icon? 01:10
- 373 The Dos and Don'ts of Making App Screenshots 02:59
- 374 Tools for Building Screenshots 01:18
- 375 Your First 1000 Customers 03:33
- 376 Building an Email List 02:37
- 377 The All Important Landing Page 07:57
- 378 Blogging Your Way to Success 05:05
- 379 Content Marketing for App Downloads 03:15
- 380 How to Successfully Launch on Product Hunt 09:23
- 381 How to Launch on Beta List 01:29
- 382 How to Launch on Hacker News 02:26
- 383 If At First You Don't Succeed... 02:40
- 384 Cross Promotion 01:17
- 385 Social Referrals and Social Queuing 03:49
- 386 How to Make Social Media Work for You 04:51
- 387 Do I Need a PR Agency? 00:51
- 388 Not All Press is Created Equal 00:41
- 389 How to Craft Your Story 04:57
- 390 How to Craft Your Pitch 01:39
- 391 How to Figure Out Which Journalists to Pitch 02:45
- 392 How to Find Anyone's Email Address 01:34
- 393 How to Pitch a Journalist 04:37
- 394 Establishing a Relationship with a Journalist 01:07
- 395 What if You Still Can't Get Anyone to Write About You? 03:55
- 396 Final Tips on Getting Press 02:02
- 397 How to Get Featured on the App Store? 01:09
- 398 "Only on the App Store" 01:37
- 399 Work with the Corporate Mindset 01:05
- 400 Native vs. Cross-Platform Apps 02:07
- 401 Tips and Tricks for Getting Featured 03:08
- 402 What is App Store Optimisation (ASO)? 01:01
- 403 Top Tips to Optimise Your App Store Listing 02:06
- 404 My Complete ASO Workflow 05:00
- 405 Using Apple Search Ads as a Research Tool 02:06
- 406 Early vs. Late Game Strategies 01:20
- 407 Differences Between Google Play and Apple App Store 02:25
- 408 When to use Paid Advertising or App Marketing 00:53
- 409 Always Test Before You Advertise 03:51
- 410 Which Platform to Advertise On? 00:34
- 411 How Much Does it Cost? 01:39
- 412 How to Setup Your Facebook Ad 02:29
- 413 Use Your Competitors' Ad Budget 02:17
- 414 Where Can I Find More Customers? 00:57
- 415 One Weird Trick to Get More Money from Apple 01:40
- 416 How to Get More 5 Star Ratings and Reviews 04:10
- 417 Use This Free Tools to Monitor Your App Reviews 01:02
- 418 How to use App Analytics to Increase User Retention 03:09
- 419 White Hat Techniques 03:04
- 420 Black Hat Techniques 04:21
- 421 A 5 Second Way of Building a Web Page for Your iOS App 01:48
- 422 How to Use Bootstrap to Build Your App Showcase Website 09:53
- 423 Tip from Angela - Decision Fatigue 01:26
- 424 AAA 1 - How to Soak in Programming Concepts & much more 39:43
- 425 AAA 2 - Schedule for Learning to Code & much more 39:09
- 426 AAA 3 - How to Start Freelancing & much more 25:20
- 427 AAA 4 - The Live AMA 59:53
- 428 How to Make an App From Beginning to End 51:02
Related courses
-

SwiftUI Essentials
By: Big Mountain StudioLearn to architect your SwiftUI app the way Apple does with this picture book from Big Mountain Studio. Find out best practices for passing objects from screen -

AI Mastery in SwiftUI
By: Big Mountain StudioCourse on integrating AI models into SwiftUI. Learn to create intelligent applications with Apple FoundationModels to enhance UX and personalize content. -

Dub Dub Grub. An intermediate SwiftUI course with MapKit and CloudKit.
By: Sean AllenLevel up your SwiftUI skills .Get experience with MapKit & CloudKit *Working with CloudKit requires an Apple Developer account.23 hours 29 minutes 50 seconds