WidgetKit Course
*Updated for iOS 18
- Build multiple Widgets to learn how they work
- Get data from network calls, Core Data/SwiftData and your app
- Widget Configurations and Intents
- Lock Screen Widgets
- Live Activities & Dynamic Island
- Interactive Widgets
- StandBy Mode
- Control Widgets
- Tinted Home Screen Support
- Free updates
Course Overview Video
Learn the basics
Get introduced to the basic fundamentals of how Widgets work. You'll learn about Timelines, Reload Policies, Entries, Snapshots and Widget Families.
Advanced Widgets
We build a Widget to keep an eye on our favorite GitHub repos. We get the data via a network call, build multiple Widget sizes, and learn about Widget Bundles.
Widget - Core Data/SwiftData
Swift Calendar is a Widget to track which days we have practiced Swift. Learn how to communicate between Core Data (or SwiftData) and our Widget.
iOS 17 & iOS 18 Updates
WidgetKit Curriculum
- Project Setup (3:21)
- Widget Fundamentals - Timeline, Entry, Snapshot, etc... (8:07)
- Build our Monthly Widget (15:33)
- Dynamic Months (13:03)
- iOS 17: StandBy, iPad Lock Screen, disFavoredLocations, Timeline Previews & Animations (13:18)
- iOS 18: Tinted Home Screen Support - .widgetAccentable() (6:26)
- Expand on our project (1:05)
- 3 Variations of Repo Watcher (1:42)
- The "Why" of a Widget (4:56)
- Medium Widget UI (9:36)
- Create Repository Object (13:43)
- Days Since Last Activity Calculation (7:28)
- Get Repo Network Call (18:40)
- Get Repo Owner Avatar Network Call (10:28)
- Large Widget - 2 Repo - UI & Model Update (17:15)
- Large Widget - 2 Repo - Network Call & Refactor (11:49)
- Contributors - Widget Bundle Setup (16:11)
- Contributors - UI (10:01)
- Contributors - Model (9:22)
- Contributors - Putting it All Together - Network Call (16:33)
- iOS 17: Content Margins Fix & Animations (9:20)
- iOS 18: Tinted Home Screen Support for Images - .widgetAccentedRenderingMode() (9:16)
- What are Configurations? (1:55)
- Monthly Widget - Intent Definitions File (6:20)
- Monthly Widget - Working Configuration (12:56)
- iOS 17: Monthly Widget Configuration - New App Intents (9:09)
- Repo Watcher - Creating List of Repos in App (13:51)
- Repo Watcher - We Have A Problem - Configurations & Family Sizes (16:32)
- Repo Watcher - Dynamic Options Intent (17:32)
- Repo Watcher - Dynamic Options Intent - Part 2 (10:12)
- iOS 17: Repo Watcher Configuration - New App Intents & Best Practice Update (11:29)
- App Overview - Project & Core Data Setup (12:38)
- App - Calendar UI (13:02)
- App - Date Logic for Calendar (23:24)
- App - StreakView & Calculation (15:31)
- App Group & Core Data Migration (22:24)
- Widget - UI (10:03)
- Widget - Core Data (18:58)
- Widget - Touch Targets & Where to Go From Here (6:20)
- iOS 17: Convert to SwiftData (25:53)
- iOS 17: Let's Make Our Widget Interactive (19:11)
- iOS 18: A Taste of Swift 6 Concurrency & Tinted Home Screen Support (9:51)
- iOS 18: Control Widget (23:59)
- Intro & Starter Project Walkthrough (12:47)
- Initial Setup & How Live Activities Work (15:26)
- User Interface - Live Activity & Dynamic Island (14:53)
- Launching a Live Activity & Connecting the UI (24:25)
- Background Updates Explained (8:28)
- iOS 17: Live Activities in StandBy & Number Animations (8:16)
Frequently Asked Questions
What will I learn in this course?
This course is designed to give you the foundation and skills to build any Widget idea you can come up with.
What skill level is required for this course?
This is an intermediate course. Because I focus on the concepts of Widgets, I don't spend time explaining the basics of SwiftUI and Swift. If you are just learning Swift & SwiftUI, it is recommended you take iOS Dev Launchpad and SwiftUI Fundamentals first.
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.
Will this course be updated for iOS 19, Xcode 17 and beyond?
Yes.
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 14 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.