Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Dub Dub Grub - SwiftUI, MapKit & CloudKit - Updated for iOS 17
Getting Started
Course Overview - What You'll Learn (4:35)
iOS 15, 16 & 17 Updates - How They Work (1:17)
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)
What's New in Xcode 13 (16:56)
What's New in Xcode 14 (9:52)
What's New in Xcode 15 (12:47)
Initial User Interface
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)
CloudKit Introduction
What is CloudKit - Pros & Cons (10:09)
CloudKit Basics - Terms & Definitions (7:07)
WWDC21 CloudKit Dashboard Redesign (0:50)
CloudKit Dashboard Overview (11:07)
Creating Our Schema (12:33)
Create DDGLocation Records (7:57)
Model, CloudKitManager & Alerts
Model - DDGLocation (13:56)
Model - Profile & UI Update (19:22)
CloudKitManager Setup (21:56)
AlertItem Setup (10:19)
MVVM Setup (10:36)
Working with DDGLocation
MapKit & CoreLocation Intro (2:16)
@EnvironmentObject & Map Pins (18:44)
Location List, Detail and CKAsset to UIImage (23:38)
Simulator Setup - iCloud Login & Custom Location (3:19)
Showing User Location on the Map (22:23)
Working with DDGProfile
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
Open Maps For Directions & Make a Call (19:56)
Profile Modal - UI (13:08)
ProfileModalView - Logic & Animation (14:15)
Check In/Out Functionality
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)
Custom Map Annotation
Custom Map Annotation - Shape (16:10)
Custom Map Annotation - View (8:17)
Custom Map Annotation - Implementation (24:57)
Custom Map Annotation - Badges (19:04)
Project Cleanup & Code Style (18:26)
The Second 90%
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)
Optimization & Refactoring
How This Section Works (1:58)
LocationMapView, OnboardView & AppTabView (21:53)
LocationListView, DDGProfile & DDGLocation (16:05)
LocationDetailView Part 1 (17:01)
LocationDetailView Part 2 (22:48)
ProfileView (22:20)
CloudKitManager - Cursor & Weak Self (32:53)
Deploy to Production & TestFlight
Deploy CloudKit Database to Production (15:14)
Push to TestFlight - Xcode 12 (23:14)
iOS 15 Updates
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)
iOS 16 Updates
What's New in Xcode 14 (9:52)
Initial run, Swift 5.7, and Gradients (11:36)
NavigationStack, Gradients & Shadows (9:27)
Multiline TextField (3:30)
iOS 17 Updates
What's New in Xcode 15 (12:47)
Initial Run - Asset Resources, Preview Macro, Tab Bar, ContentUnavailableView (12:36)
Observation Framework (9:58)
SwiftUI Photo Picker (8:42)
SwiftUI Maps - New Syntax, Map Styles, Look Around, Directions on Map (21:42)
Conclusion
Other Points of View (6:21)
Where to go from here? (7:11)
Teach online with
What's New in Xcode 14
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock