Skip to main content
CourseFlix

Dub Dub Grub. An intermediate SwiftUI course with MapKit and CloudKit.

23h 29m 50s
English
Paid

Grow your SwiftUI skills. You will build a full app with MapKit and CloudKit. You need an Apple Developer account to use CloudKit.

What You Will Learn

You build one clear project from start to finish. You use SwiftUI with MVVM. You add maps with MapKit. You store data with CloudKit.

You see how each part fits together. You write real features that you can reuse in your own apps.

Required Skill Level

This course builds on basic Swift and SwiftUI. It is a good next step after a beginner course. You should know how to write simple views and basic data flow.

If you are new to Swift or SwiftUI, you may want to start with the iOS Dev Launchpad or SwiftUI Fundamentals courses first.

Apple Developer Account

You need a paid Apple Developer account to use CloudKit in this project. CloudKit storage is free during development and for your first users.

About the Author: Sean Allen

Sean Allen thumbnail

About Sean Allen

I spent the first five years of my career building products for startups in Silicon Valley. I later left to start my own business.

I now teach iOS development on my YouTube channel and through online courses. You can use these lessons to build real apps and grow your skills.

Watch Online 94 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 94 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Course Overview - What You'll Learn
All Course Lessons (94)
#Lesson TitleDurationAccess
1
Course Overview - What You'll Learn Demo
04:36
2
Project Brief - What You Will Build
04:52
3
Design Process - Idea > Drawings > Sketch > App
12:30
4
Product Philosophy - Value of Curation and App Ideas
04:10
5
iOS 15 & iOS 16 Updates - How They Work
01:08
6
What's New in Xcode 13
16:57
7
What's New in Xcode 14
09:53
8
WWDC 2021 & iOS 15 Updates
01:41
9
Slack Channel Access & Overview
01:52
10
Project Setup - TabView, CloudKit, Assets
16:15
11
MapView - Show the Map
10:01
12
Location List View
14:31
13
Location Detail View
30:28
14
Navigation Link & ScrollView
09:28
15
Profile View - Part 1 - Name Section
15:01
16
Profile View - Part 2 - Bio Character Count View
14:04
17
First Refactor and Project Organization
24:56
18
What is CloudKit - Pros & Cons
10:10
19
CloudKit Basics - Terms & Definitions
07:08
20
WWDC21 CloudKit Dashboard Redesign
00:51
21
CloudKit Dashboard Overview
11:08
22
Creating Our Schema
12:34
23
Create DDGLocation Records
07:58
24
Model - DDGLocation
13:57
25
Model - Profile & UI Update
19:23
26
CloudKitManager Setup
21:57
27
AlertItem Setup
10:20
28
MVVM Setup
10:37
29
MapKit & CoreLocation Intro
02:17
30
@EnvironmentObject & Map Pins
18:45
31
Location List, Detail and CKAsset to UIImage
23:39
32
Simulator Setup - iCloud Login & Custom Location
03:20
33
Showing User Location on the Map
22:24
34
OnboardView UI
17:58
35
OnboardView Persistence
14:27
36
PhotoPicker - UIViewControllerRepresentable
20:46
37
Profile Form Validation
13:46
38
UIImage -> CKAsset Conversion
11:05
39
Create Profile Record
22:47
40
Retrieve Profile Record
12:56
41
ProfileView - Refactor - ViewModel
12:41
42
ProfileView - Refactor - CloudKitManager Revamp
32:43
43
ProfileView - LoadingView & Alerts
16:48
44
Profile View - Update Existing Profile
23:33
45
Open Maps For Directions & Make a Call
19:57
46
Profile Modal - UI
13:09
47
ProfileModalView - Logic & Animation
14:16
48
LocationDetailView - Update Check-In Status
22:47
49
LocationDetailView - Show Checked In Profiles
22:49
50
LocationDetailView - Check In/Out UI Polish
25:51
51
ProfileView - Check Out
16:51
52
LocationListView - Avatars - Decision Making
12:04
53
LocationListView - Avatars - CloudKit
24:45
54
LocationListView - Avatars - UI
26:12
55
Custom Map Annotation - Shape
16:11
56
Custom Map Annotation - View
08:18
57
Custom Map Annotation - Implementation
24:58
58
Custom Map Annotation - Badges
19:05
59
Project Cleanup & Code Style
18:27
60
What is the "Second 90%"?
09:53
61
Launch Screen
03:45
62
Haptic Feedback
05:58
63
Screen Size Audit & Design Philosophy
16:45
64
Screen Size Adjustments
09:11
65
Accessibility Intro & How to Turn on VoiceOver
04:06
66
Accessibility - VoiceOver - MapView
12:41
67
Accessibility - VoiceOver - Location List/Detail Views
27:25
68
Accessibility - VoiceOver - Profile Modal
21:21
69
Accessibility - VoiceOver - ProfileView
11:20
70
Dynamic Type - Intro
05:51
71
Dynamic Type - Previews & Plan
14:57
72
Dynamic Type - Implementation 1 - LocationDetailView
28:46
73
Dynamic Type - Implementation 2 - Modal
17:21
74
How This Section Works
01:59
75
LocationMapView, OnboardView & AppTabView
21:54
76
LocationListView, DDGProfile & DDGLocation
16:06
77
LocationDetailView Part 1
17:02
78
LocationDetailView Part 2
22:49
79
ProfileView
22:21
80
CloudKitManager - Cursor & Weak Self
32:54
81
Deploy CloudKit Database to Production
15:15
82
Push to TestFlight - Xcode 12
23:15
83
iOS 15 - Initial Run - Deprecations & UI Fixes
23:42
84
iOS 15 - LocationButton
17:15
85
iOS 15 - CloudKit Revamp - Async/Await - Part 1
29:00
86
iOS 15 - CloudKit Revamp - Async/Await - Part 2
19:07
87
iOS 15 - CloudKit Revamp - Async/Await - Part 3
24:50
88
iOS 15 - Refreshable & Keyboard UX Improvements
10:57
89
What's New in Xcode 14
09:53
90
Initial run, Swift 5.7, and Gradients
11:37
91
NavigationStack, Gradients & Shadows
09:28
92
Multiline TextField
03:31
93
Other Points of View
06:22
94
Where to go from here?
07:12
Unlock unlimited learning

Get instant access to all 93 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription