iOS 12 and Swift 4 Crash Course
off original price!
The coupon code you entered is expired or invalid, but the course is still available!
Students: 7178
Video:89 Hours NEW!
This course is designed like an in-person coding bootcamp to give you the most amount of content and help with the least amount of cost.
NO PRIOR CODING EXPERIENCE REQUIRED
Here are some of the things you'll be able to do after taking this course:
- Submit apps to the app store
- Understand programming & basic algorithms
- Work fluently with Swift 4 & iOS 12
- Apply to jr iOS development jobs
- Work as an iOS contractor
If you are absolutely new to programming you should start at the beginning of the course and go to the end.
I've designed this course to take you down a guided learning path. Lectures are not broken out by specific topics. You build apps and then learn a ton of principles within those apps. So don't skip around!
If you already know Swift then you can skip the Swift section since the changes in Swift between iOS 11 and 12 are minor.
If you've never programmed before, make sure you DO take the Swift lessons. We'll teach you core foundational principles so you can build complex apps.
Course Curriculum
Getting Started with iOS 12
Available in
days
days
after you enroll
Introduction to Programming & Swift 4 Basics
Available in
days
days
after you enroll
-
StartVariables, operators, & how computers work (16:30)
-
PreviewStrings in Swift 4 (15:06)
-
PreviewFunctions in Swift 4 (22:25)
-
PreviewNumbers in Swift 4 (19:38)
-
StartBooleans & conditional logic in Swift 4 (20:43)
-
StartConstants & logical operators in Swift 4 (9:33)
-
StartArrays in Swift 4 (12:51)
-
StartLoops in Swift 4 (18:45)
-
StartDictionaries in Swift 4 (18:29)
-
StartObject oriented programming in Swift 4 (11:49)
-
StartInheritance in Swift 4 (8:04)
-
StartPolymorphism in Swift 4 (8:06)
-
StartOptionals in Swift 4 (20:10)
-
StartSwift 4 Quiz
Git & Version Control
Available in
days
days
after you enroll
-
StartGit & Version Control: The fun way (10:49)
-
StartTerminal Basics - Changing directories (5:49)
-
StartTerminal Basics - Copying & renaming files (8:38)
-
StartTerminal Basics - Creating directories & files (4:11)
-
StartTerminal Basics - Deleting files & directories (5:43)
-
StartGit Basics (16:58)
-
StartSetting up Github (4:18)
-
StartWorking with Local & Remote Repositories (10:55)
-
StartHandling Git Merge Conflicts (16:33)
Swoosh App- Intro to Interface Builder & Auto Layout in Xcode 10
Available in
days
days
after you enroll
-
StartSwoosh - Creating the welcome screen (24:57)
-
StartSwoosh - Working with frames (15:39)
-
StartSwoosh - Intro to auto layout (support multiple screen sizes) (26:21)
-
StartSwoosh - Working with stack views (26:15)
-
StartSwoosh - Intro to segues (changing screens) (9:16)
-
StartSwoosh - Refactoring in Xcode 9 (9:22)
-
StartSwoosh - Debugging setValue forUndefinedKey (3:24)
-
StartSwoosh - Programmatic segues (8:38)
-
StartSwoosh - IBActions (handling events) & data models (15:56)
-
StartSwoosh - Passing data between view controllers (11:25)
Profile App- Digging Deeper With Auto Layout
Available in
days
days
after you enroll
Window Shopper App- Your First Fully Functional iOS 12 App
Available in
days
days
after you enroll
Computers & Code- Crash Course in Computer Science for Beginners
Available in
days
days
after you enroll
-
StartHow Computers Work (12:22)
-
StartUnderstanding Binary (9:26)
-
StartHeap vs. Stack (8:41)
-
StartiOS Binary App – Building UI _ UX (20:04)
-
StartiOS Binary App – Creating BinaryDecimal Class (20:30)
-
StartiOS Binary App – Finishing Up (10:11)
-
StartiOS Binary App – Challenge (1:38)
-
StartHow Code Works (9:44)
-
StartVariables & Storage Capacity (6:16)
-
StartUnderstanding Hexadecimal (5:52)
Coder Swag App- Tables & Data in iOS 12
Available in
days
days
after you enroll
Intro to Model View Controller
Available in
days
days
after you enroll
-
StartMVC in Theory (5:59)
-
StartCreating Xcode Project (3:10)
-
StartSetting Up Project Groups for MVC _ Examining ViewController Controller Layer (5:15)
-
StartCreating AppleProduct Model Layer (6:40)
-
StartCreating CustomPrettyView View Layer (8:20)
-
StartConnecting View to Controller (11:40)
-
StartSecuring Model Layer (4:08)
-
StartChallenge - MVC (1:33)
XYZ App - Working with iOS Accelerometer
Available in
days
days
after you enroll
-
StartXYZ - Intro to App (1:49)
-
StartXYZ - Creating Project (5:12)
-
StartXYZ - CoreMotion and CMMotionManager Explained (3:08)
-
StartXYZ - Receiving Accelerometer Updates (7:18)
-
StartXYZ - Handling Accelerometer Data (9:33)
-
StartListy - Intro to App (1:12)
-
StartListy - Building UI (6:16)
-
StartListy - Creating ParallaxCell Subclass (6:07)
-
StartListy - Configuring ImageArray and Populating UITableView (7:54)
-
StartListy - Writing Parallax Function to Apply to UIImageView (6:41)
-
StartListy - Accelerometer Challenge (0:47)
Splitter App- Working With UISplitViewController
Available in
days
days
after you enroll
Slack App- Creating a Slack App & Working With APIs
Available in
days
days
after you enroll
-
StartSmack: Intro to Chat App (3:13)
-
StartSmack: Project Setup (25:25)
-
StartSWReveal (19:50)
-
StartChannelVC UI (24:27)
-
StartLoginVC UI (22:07)
-
StartCreateAccountVC UI (18:24)
-
StartWebrequests and APIs (8:31)
-
StartHosting API (19:35)
-
StartLocal Hosting API (17:49)
-
StartCreating a web request in Xcode (27:52)
-
StartRegistering a User (15:24)
-
StartLogging in a user (19:52)
-
StartAvatar Picker Part 1 (18:42)
-
StartAvatar Picker Part 2 (19:52)
-
StartLoggedIn Interface (22:49)
-
StartProfile View (25:12)
-
StartLogging in users (23:01)
-
StartGetting channels (18:50)
-
StartChannels TableView (13:16)
-
StartAdd Channel VC (19:02)
-
StartSockets and Channels (25:49)
-
StartRefining Login Flow (18:48)
-
StartFetching Messages (19:39)
-
StartSending first message (16:50)
-
StartDisplaying chat messages (17:34)
-
StartSockets and Messages (18:16)
-
StartTyping Users (21:08)
-
StartUnread Channels (17:45)
-
StartWhere to go from here (7:14)
-
StartI'm Back! (7:23)
Pixel City App- Mastering Maps in iOS 12
Available in
days
days
after you enroll
-
StartIntro to App: Pixel City (1:23)
-
StartCreating Xcode Project: Pixel City (4:04)
-
StartInstalling Alamofire & AlamofireImage CocoaPods (6:49)
-
StartBuilding MapVC UI (14:35)
-
StartRequesting Location Services (17:41)
-
StartDrop Custom Pins on MapView (14:48)
-
StartSetting a Custom Map Annotation Color (4:13)
-
StartAnimating Photos View (19:23)
-
StartAdding UILabel for Pull Up View (16:31)
-
StartGetting API Key from Flickr (13:45)
-
StartUsing Alamofire to Download URLS (20:37)
-
StartUsing Alamofire to Download Image (16:02)
-
StartSetting Up UICollectionView (9:51)
-
StartPresenting PopVC When UICollectionViewCell is Tapped
-
StartAdding 3D Touch Peek & Pop to UICollectionView (14:25)
-
StartChallenge (1:55)
Goal Post App- Data Persistence in iOS 12 With Core Data
Available in
days
days
after you enroll
-
StartGoalPost: Intro to App (2:17)
-
StartGoalPost: Creating Xcode Project (3:20)
-
StartBuilding GoalsVC (13:20)
-
StartBuilding GoalCell (13:41)
-
StartWhat is Core Data? (5:37)
-
StartCreating goal core data entity & attributes (7:47)
-
StartDisplaying static GoalCells in UITableView (9:51)
-
StartBuilding CreateGoalVC (14:51)
-
StartCreating a UIViewController extension (10:27)
-
StartCreating a UIView & UIButton extension (18:10)
-
StartBuilding FinishGoalVC & passing data (18:48)
-
StartSaving goal data to persistent store (12:18)
-
StartFixing dismissal of FinishGoalVC (6:20)
-
StartFetching data from persistent store (15:53)
-
StartRemoving objects from persistent store (10:55)
-
StartSetting goal progress for UITableViewCell (14:35)
-
StartGoalPost: Challenge (1:07)
Treads App- Data Persistence With Realm
Available in
days
days
after you enroll
-
StartIntro to Realm and Treads App (4:12)
-
StartSwift 4 update (3:19)
-
StartInitial project setup (20:21)
-
StartCreate the run log UI (18:59)
-
StartLast storyboard UI (23:49)
-
StartMap view setup (20:26)
-
StartCreate custom slider switch (24:22)
-
StartTrack Location (16:46)
-
StartConverting meters to miles (7:55)
-
StartConvert seconds to readable string (13:36)
-
StartCalculate Average Pace (9:26)
-
StartPause, Resume Functionality (13:24)
-
StartFirst Realm Model (18:37)
-
StartWrite & Fetch (18:34)
-
StartDisplay Run History (21:44)
-
StartLast Run View (18:44)
-
StartCreate a Locations List for poly-line overlay (14:22)
-
StartRealm Configuration (12:20)
-
StartGet the poly-line rendering on the map view (16:31)
-
StartCenter Map on poly-line or user location (23:22)
-
StartFetch Realm Object by ID (6:01)
Breakpoint App- Building a Full Stack App With Firebase
Available in
days
days
after you enroll
-
StartBreakpoint: Intro to App (3:01)
-
StartBreakpoint: Creating Xcode project (4:46)
-
StartCreating Firebase project (10:19)
-
StartSetting up DataService (10:13)
-
StartBuilding AuthVC & LoginVC in interface builder (18:05)
-
StartCreating InsetTextField & ShadowView Subclasses (18:02)
-
StartSetting up AuthService (12:41)
-
StartPresenting LoginVC from AppDelegate (16:08)
-
StartBuilding FeedVC and GroupsVC in interface builder (15:58)
-
StartBuilding MeVC and adding to UITabBarController (9:27)
-
StartCreating CreatePostVC & uploading posts to firebase (19:54)
-
StartCreating UIView extension for binding views to keyboard (14:28)
-
StartBuilding FeedCell (9:18)
-
StartWriting the Message Model and Getting All Feed Messages from Firebase (20:40)
-
StartConverting UIDs into Emails and Reversing the Order of a TableView (19:55)
-
StartCreating CreateGroupVC and Connecting @IBOutlets-Actions (14:41)
-
StartCreating UserCell (15:18)
-
StartSearching for Email Accounts to Add to Group (18:22)
-
StartAdding Users to Group with didSelectRowAt indexPath (20:14)
-
StartCreating Groups and Pushing Them to Firebase (15:11)
-
StartCreating GroupCell (9:13)
-
StartCreating Group Model and Getting All Groups from Firebase (18:31)
-
StartBuilding GroupFeedVC (17:39)
-
StartInitializing Group Data for a Group and Presenting on GroupFeedVC (15:35)
-
StartDownloading All Message for a Group and Animating Upon New Message (23:40)
-
StartCreating a UIViewController Extension for Presenting GroupFeedVC (7:11)
-
StartChallenge (1:33)
RNDM App- Using the NEW Firebase Cloud Firestore
Available in
days
days
after you enroll
-
StartIntro to Firestore (0:50)
-
StartFirestore Project Setup (11:37)
-
StartWhat is Firestore (5:52)
-
StartAddThoughtVC UI Setup (17:14)
-
StartMaking your first database entry! (24:30)
-
StartMainVC UI Setup (23:59)
-
StartFetching data from Firestore (15:08)
-
StartSorting and Filtering (20:21)
-
StartUpdating individual documents (15:11)
-
StartIntro to Firestore Authentication (0:43)
-
StartLogin Flow UI Setup (19:31)
-
StartFirestore: Create User (15:00)
-
StartFirestore: Login User (13:47)
-
StartFirestore: CommentsVC UI Set up (17:00)
-
StartFirestore: CommentClass and TableView (8:59)
-
StartFirestore Transactions (19:50)
-
StartFirestore: Displaying comments (13:14)
-
StartFirestore: Security Rules (12:40)
-
StartIntro to Firestore Security Rules (0:33)
-
StartSecurity rules: Project setup (12:01)
-
StartSecurity rules: Implementing protocols (16:10)
-
StartDeleting a comment (11:51)
-
StartUpdating comments (14:35)
-
StartComments Advanced Security Rules (10:40)
-
StartDeleting a thought (14:51)
-
StartThought security rules (10:23)
-
StartWhere to go from here (2:51)
-
StartSocial Logins (1:17)
-
StartProject Setup (8:16)
-
StartGoogle Login Part 1 (9:28)
-
StartGoogle Login Part 2 (14:26)
-
StartFacebook Login (21:38)
-
StartTwitter Login (15:21)
FoodZilla App- Mastering iOS In-App Purchases
Available in
days
days
after you enroll
-
StartIAP's: Creating Xcode Project (5:16)
-
StartIAP's: Creating App on iTunes Connect (4:09)
-
StartIAP's: Setting Up Consumable IAP Tier (7:51)
-
StartIAP's: Building StorefrontVC (12:30)
-
StartIAP's: Building DetailVC (9:42)
-
StartIAP's: Configuring UICollectionView (14:59)
-
StartIAP's: Passing values to DetailVC (11:24)
-
StartIAP's: Create IAPService Singleton (16:35)
-
StartConsumables: Making consumable purchases (20:03)
-
StartConsumables: Sending purchase notifications (16:53)
-
StartNon-Consumables: Non-Consumable IAP Tier (3:13)
-
StartNon-Consumables: Making Non-Consumable Purchases (19:32)
-
StartRestoring In-App Purchases (11:18)
-
StartIntro to Subscriptions (3:07)
-
StartSubscriptions: Exploring the starter project (3:57)
-
StartSubscriptions: How To Set Up App in iTunes Connect (5:40)
-
StartSetting up auto-renewing subscription tier (iTunes Connect) (10:52)
-
StartBuying an auto-renewing subscription (15:17)
-
StartSaving to UserDefaults & Handling Failure & Deferral (19:03)
-
StartPreventing Theft_Fraud with iTunes Receipt Validation (18:55)
-
StartSaving Expiration Date to UserDefaults _ Checking For Active Subscription (19:25)
-
StartChecking for valid/active subscription & handling Expiration – Part 1 (20:12)
-
StartChecking for valid/active subscription & handling Expiration – Part 2 (14:05)
-
StartTroubleshooting subscription issues (12:41)
-
StartSubscriptions : Challenge (2:02)
Touchy Feely App- Working With iOS Touch ID and Face ID
Available in
days
days
after you enroll
-
StartSecureNotes : Intro to app (1:33)
-
StartCreating Xcode Project (2:14)
-
StartBuilding NoteVC (6:57)
-
StartCreating Note Model, LockStatus Enum, & Dummy Data (6:23)
-
StartBuilding NoteCell & Subclass (14:59)
-
StartBuilding NoteDetailVC (4:34)
-
StartPassing Note Data to NoteDetailVC (8:20)
-
StartWriting helper functions & updating NoteCell Subclass (4:33)
-
StartAuthenticating with Touch ID / Face ID & updating information (18:23)
-
StartSecureNotes: Challenge (1:26)
Scribe App- Working With iOS Speech Recognition
Available in
days
days
after you enroll
Working With iMessege And Sticker Packs for iOS 12
Available in
days
days
after you enroll
-
StartIntro to App – Sticker Packs (1:47)
-
StartIntro to Sticker Packs (3:04)
-
StartCreating Sticker Pack Project in Xcode (3:03)
-
StartSticker Art Resources _ Websites (8:49)
-
StartAdding Static Stickers _ Testing (3:13)
-
StartAdding APNG & GIF Stickers _ Testing (9:44)
-
StartCreating iMessage App Icons (5:55)
-
StartCreating Static Stickers with Sketch 3 (12:49)
-
StartCreating Animated Stickers from Sprite Sheet (8:24)
Shortcut App- Working With 3D Touch on iOS
Available in
days
days
after you enroll
LegDay App- Working With iOS SiriKit
Available in
days
days
after you enroll
-
StartIntro to SiriKit (0:45)
-
StartIntro to App – LEGDAY (1:40)
-
StartIntro to SiriKit (3:09)
-
StartBuilding WorkoutVC _ Wiring Up (2:03)
-
StartEnabling Siri Access _ Requesting Permissions (5:59)
-
StartCreating a SiriKit Intents App Extension _ Configuring For Workout (19:26)
-
StartConfiguring Results in AppDelegate with DataService (4:06)
-
StartHandling _ Presenting SiriKit Results in WorkoutVC (13:23)
-
StartChallenge – LEGDAY (1:23)
24- Screenie App- Using ReplayKit in iOS
Available in
days
days
after you enroll
-
StartIntro to ReplayKit (1:01)
-
Startntro to App – Screenie (2:38)
-
StartBuilding UI (9:15)
-
StartCreating RPScreen Recorder instance (3:51)
-
StartConfiguring UISegmentedControl to switch images (6:35)
-
StartStarting a screen recording (11:04)
-
StartStopping, editing, & saving a screen recording (12:34)
-
StartScreenie: Challenge (1:15)
RampUp App- Intro to ARKit
Available in
days
days
after you enroll
-
StartRampUp - Intro to ARKit App (1:59)
-
StartRampUp - Resources & important ARKit info (3:34)
-
StartRampUp - Project creation (10:45)
-
StartRampUp - SceneKit, 3D models & materials (10:49)
-
StartRampUp - Ramp picker popover (13:33)
-
StartRampUp - 3D models in SceneKit for popover (17:21)
-
StartRampUp: 3D models in SceneKit for popover - Part 2 (11:23)
-
StartRampUp - Detecting taps on 3D objects (16:50)
-
StartRampUp - Placing ramps in ARKit (23:21)
-
StartRampUp - Moving objects in 3D space in augmented reality (19:23)
-
StartARKit - where to go next (3:24)
Vision App- iOS CoreML Basics
Available in
days
days
after you enroll
-
StartCoreML - Intro to app (1:33)
-
StartIntro to Core ML (4:47)
-
StartWhat is machine learning (7:31)
-
StartCreating Xcode project (3:05)
-
StartBuilding UI & custom view subclasses (17:19)
-
StartAVFoundation & AVCaptureSession to use the camera (17:43)
-
StartTap gestures to take snapshot on item (10:57)
-
StartDownloading CoreML models (20:52)
-
StartCore ML Xcode 9 Beta 4 Update - Fix Preview Photo Crash (2:26)
-
StartAdding UI controls for flash control (7:04)
-
StartTraining your app to speak what it sees (17:47)
Animal App- Using iOS 12 New CoreML Models
Available in
days
days
after you enroll
Advanced Swift 4
Available in
days
days
after you enroll
-
StartEnumerations in Swift 4 (19:23)
-
StartExtensions in Swift 4 part 1 (15:01)
-
StartExtensions in Swift 4 part 2 (20:11)
-
StartProtocols & delegates in Swift 4 part 1 (12:43)
-
StartProtocols & delegates in Swift 4 part 2 (17:10)
-
StartProtocols & delegates in Swift 4 part 3 (16:08)
-
StartProtocols & delegates in Swift 4 part 4 (15:44)
-
StartProtocols & delegates in Swift 4 part 5 (17:41)
-
StartSwift transformations (19:40)
Advanced- Data Structures & Algorithms In Swift 4
Available in
days
days
after you enroll
Advanced Swift 4 Design Patterns- Protocol Oriented Programming
Available in
days
days
after you enroll
Advanced Swift 4 Design Patterns- Reactive Programming With RxSwift
Available in
days
days
after you enroll
-
StartRxSwift (1:41)
-
StartIntro to RxSwift (5:08)
-
StartWhat is Rx? Why Rx? (10:46)
-
StartHow To Install RxSwift into an Xcode Playground (4:00)
-
StartCreating and Subscribing to Observables (9:17)
-
StartObservables – Disposing (6:42)
-
StartChallenge_ Observables (1:58)
-
StartPublish Subject (6:13)
-
StartBehavior Subject (7:29)
-
StartReplay Subject (8:50)
-
StartVariables (5:52)
-
StartChallenge – Subjects (3:59)
-
StartTransformations – .map (11:18)
-
Startransformations – .flatMap (10:12)
-
StartTransformations – .filter (6:20)
-
StartTransformations: .zip (7:45)
-
StartChallenge – Transformations (3:10)
-
StartIntro to App – Namer (2:09)
-
StartCreating Xcode Project _ Installing RxSwift & RxCocoa (6:46)
-
StartBuilding Namer UI _ Connecting @IBOutlets (5:03)
-
StartUsing RxCocoa to Observe _ Subscribe to UITextField Data (12:06)
-
StartAdding Rx Capabilities to Submit Button (10:37)
-
StartPassing Values Between UIViewController Instances Using RxSwift (21:24)
-
StartIntro to Versi App (2:56)
-
StartCreating Xcode Project (3:02)
-
StartInstalling CocoaPods (6:16)
-
StartSetting Up UITabBarController _ Adding Project Assets (6:48)
-
StartBuilding TrendingFeedVC (14:09)
-
StartBuilding Custom View Subclasses (13:04)
-
StartBuilding Repo Model Layer (11:10)
-
StartBuilding TrendingRepoCell Subclass _ Loading Dummy Data (21:32)
-
StartCreating DownloadService Singleton (21:46)
-
StartDownloading Trending Repos Data (14:46)
-
StartDownloading Additional Required Repo Data (19:51)
-
StartFixing Broken DownloadService Functions (12:18)
-
StartFilling TrendingFeedVC with Real API Data (19:17)
-
StartBuilding SearchVC (2:59)
-
StartBuilding SearchCell (11:09)
-
StartSetting Up SearchVC the RxSwift Way (22:43)
-
StartUsing RxSwift To Drive UITableView with Search Results (5:53)
-
StartLoading Github README.md Files in SFSafariViewController (8:58)
Advanced- Unit Testing in iOS 12
Available in
days
days
after you enroll
-
StartWhat is Unit Testing? (4:31)
-
StartUnit testing in Swift (9:52)
-
StartWhat makes a good unit test? (2:23)
-
StartTesting Data Models (Part 1) (17:56)
-
StartTesting Data Models (Part 2) (11:21)
-
StartTesting features & functions (15:01)
-
StartTesting asynchronous code (16:58)
-
StartTesting endpoints & mock data (16:04)
-
StartTesting performance & benchmarking (9:36)
-
StartTesting & MVVM (4:59)
Advanced- UI Testing in iOS 12
Available in
days
days
after you enroll
-
StartWhat is UI Testing (2:02)
-
StartUI Testing best practices (4:25)
-
StartTesting Navigation (9:58)
-
StartTesting views & alerts (13:20)
-
StartUI testing in Swift – Basic example (12:33)
-
StartResetting & verifying app state (7:10)
-
StartTesting bug fixes (8:22)
-
StartTesting data in text fields (9:42)
-
StartTesting UI after an asynchronous call (14:34)
Frequently Asked Questions
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
off original price!
The coupon code you entered is expired or invalid, but the course is still available!