Dub Dub Grub. An intermediate SwiftUI course with MapKit and CloudKit.
Level up your SwiftUI skills .Get experience with MapKit & CloudKit *Working with CloudKit requires an Apple Developer account.
More
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.
Watch Online Dub Dub Grub. An intermediate SwiftUI course with MapKit and CloudKit.
# | Title | Duration |
---|---|---|
1 | Course Overview - What You'll Learn | 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 |