Dub Dub Grub
Intermediate SwiftUI course with MapKit and CloudKit.
*Updated for iOS 15 & iOS 16
*Apple Developer Account required because we work with CloudKit.
- One complete app
- No 3rd party libraries
- Learn Accessibility & Dynamic Type
- CloudKit backend
- Deploy to Test Flight
- ~ 90 videos (exact curriculum below)
- Watch the first few videos for free
- Slack channel access for help
- Updated for iOS 15 & iOS 16
Course Overview Video
Dub Dub Grub Curriculum
- Course Overview - What You'll Learn (4:35)
- Project Brief - What You Will Build (4:51)
- Design Process - Idea > Drawings > Sketch > App (12:29)
- Product Philosophy - Value of Curation and App Ideas (4:09)
- iOS 15 & iOS 16 Updates - How They Work (1:07)
- What's New in Xcode 13 (16:56)
- What's New in Xcode 14 (9:52)
- Slack Channel Access & Overview (1:51)
- Project Setup - TabView, CloudKit, Assets (16:14)
- MapView - Show the Map (10:00)
- Location List View (14:30)
- Location Detail View (30:27)
- Navigation Link & ScrollView (9:27)
- Profile View - Part 1 - Name Section (15:00)
- Profile View - Part 2 - Bio Character Count View (14:03)
- First Refactor and Project Organization (24:55)
- OnboardView UI (17:57)
- OnboardView Persistence (14:26)
- PhotoPicker - UIViewControllerRepresentable (20:45)
- Profile Form Validation (13:45)
- UIImage -> CKAsset Conversion (11:04)
- Create Profile Record (22:46)
- Retrieve Profile Record (12:55)
- ProfileView - Refactor - ViewModel (12:40)
- ProfileView - Refactor - CloudKitManager Revamp (32:42)
- ProfileView - LoadingView & Alerts (16:47)
- ProfileView - Update Existing Profile (23:32)
- LocationDetailView - Update Check-In Status (22:46)
- LocationDetailView - Show Checked In Profiles (22:48)
- LocationDetailView - Check In/Out UI Polish (25:50)
- ProfileView - Check Out (16:50)
- LocationListView - Avatars - Decision Making (12:03)
- LocationListView - Avatars - CloudKit (24:44)
- LocationListView - Avatars - UI (26:11)
- What is the "Second 90%"? (9:52)
- Launch Screen (3:43)
- Haptic Feedback (5:57)
- Screen Size Audit & Design Philosophy (16:44)
- Screen Size Adjustments (9:10)
- Accessibility Intro & How to Turn on VoiceOver (4:05)
- Accessibility - VoiceOver - MapView (12:40)
- Accessibility - VoiceOver - Location List/Detail Views (27:24)
- Accessibility - VoiceOver - Profile Modal (21:20)
- Accessibility - VoiceOver - ProfileView (11:19)
- Dynamic Type - Intro (5:50)
- Dynamic Type - Previews & Plan (14:56)
- Dynamic Type - Implementation 1 - LocationDetailView (28:45)
- Dynamic Type - Implementation 2 - Modal (17:20)
- iOS 15 - Initial Run - Deprecations & UI Fixes (23:41)
- iOS 15 - LocationButton (17:14)
- iOS 15 - CloudKit Revamp - Async/Await - Part 1 (28:59)
- iOS 15 - CloudKit Revamp - Async/Await - Part 2 (19:06)
- iOS 15 - CloudKit Revamp - Async/Await - Part 3 (24:48)
- iOS 15 - Refreshable & Keyboard UX Improvements (10:56)
Frequently Asked Questions
What will I learn in this course?
This course is designed to be the next step after my SwiftUI Fundamentals course. We build one big project in SwiftUI and MVVM (Model View ViewModel Architecture) while utilizing MapKit and CloudKit.
What skill level is required for this course?
As I mentioned, this course is the next step after my SwiftUI Fundamentals course so I assume basic Swift and SwiftUI knowledge. If you are an absolute beginner, I recommend completing my iOS Dev Launchpad and SwiftUI Fundamentals courses first. However, if you have a basic knowledge of Swift and SwiftUI, then you should be ok in this course.
Do I need a paid Apple Developer account?
Yes. In order to utilize CloudKit you will need an Apple Developer account. However, the CloudKit storage is free for development purposes and initial users.
Do you offer a student discount?
I offer a 30% student discount. However, there's no way to automate that at the moment. If you are a student, email me at seanallen.dev at gmail dot com showing me that you are a student and I'll issue you a discount code.
I have to pay VAT and that makes this too expensive.
I realize the addition of VAT in some countries can make this expensive. If you're in a country that pays VAT, I'd like to offer a discount code for 15% off the overall price. Email me at seanallen.dev at gmail to get the VAT discount code.
How long do I have access to the course videos?
You have access to this course for as long as it exists. It will exist as long as it's reasonable to keep up to date, which I imagine will be a few years.
What if I don't find the course valuable?
Within 30 days of purchase there is a 100% money back guarantee. No questions asked. I'm proud of my courses and stand by my work. If you don't get value from it, I'm happy to give a full refund.
Hi, I'm Sean
I'm an iOS Engineer with over 7 years experience. I've spent most of my career leading client side iOS development for small startups in Silicon Valley.
I've recently shifted my focus to iOS content creation with my YouTube channel that has over 110K subscribers in order to help as many aspiring iOS developers as I can.
I'm also exploring the indie developer route with the creation of my own apps and products.
Basketball junkie. Star Wars and Game of Thrones. Feverish learner.