WWDC 2023 Summary
Kirill Kunst- Migrate to SwiftData
URL: https://developer.apple.com/videos/play/wwdc2023/10189/
This video guides developers on how to start using SwiftData in their apps. It demonstrates how to use Xcode to generate model classes from existing Core Data object models, how to use SwiftData alongside previous implementations, or even how to replace existing solutions completely.
Chapters:
- 0:00 - Intro
- 1:06 - Generate model classes
- 3:05 - Complete adoption
- 6:43 - Coexists with Core Data
- 10:47 - Wrap-up
Resources:
2. Explore testing in-app purchases
URL: https://developer.apple.com/videos/play/wwdc2023/10142/
This video provides insights on how to test in-app purchases throughout the development process using StoreKit Testing in Xcode, App Store sandbox, and TestFlight. It explains the functionality of each tool and how they can be combined to create an optimal workflow for testing apps and games. The video also offers a sneak preview of how to test Family Sharing for in-app purchases and subscriptions in the App Store sandbox.
3. What's new in Core Data
URL: https://developer.apple.com/videos/play/wwdc2023/10186/
This video discusses the improvements in Core Data that can enhance your app's data persistence. It explains how to use composite attributes to create more intuitive data models, how to migrate your schema through disruptive changes when to defer intense migrations, and how to avoid overhead on a person's device. Familiarity with handling different data types in Core Data and the basics of lightweight migration is recommended to get the most out of this session.
Chapters:
- 0:00 - Intro
- 0:56 - Composite attributes
- 6:31 - Stage your migrations
- 18:23 - Defer your migrations
- 22:33 - Wrap-up
Resources:
4. Beyond the basics of structured concurrency
URL: https://developer.apple.com/videos/play/wwdc2023/10170/
This video delves into the task tree and how structured concurrency can help manage automatic task cancellation, task priority propagation, and useful task-local value patterns in your apps. It provides patterns and the latest task group APIs for managing resources in your app. The video also demonstrates leveraging the task tree and task-local values to gain insight into distributed systems. Prior knowledge of the basics of Swift Concurrency and structured concurrency is recommended.
Chapters:
- 0:56 - Structured concurrency
- 3:11 - Task tree
- 3:44 - Task cancellation
- 5:26 - withTaskCancellationHandler
- 8:36 - Task priority
- 10:23 - Patterns with task groups
- 11:27 - Limiting concurrent tasks in TaskGroups
- 12:22 - DiscardingTaskGroup
- 13:53 - Task-local values
- 16:58 - swift-log
- 17:19 - MetadataProvider
- 18:58 - Task traces
- 19:46 - Swift-Distributed-Tracing
- 20:42 - Instrumenting distributed computations
- 23:38 - Wrap-up
Resources:
5. What's new in Background Assets
URL: https://developer.apple.com/videos/play/wwdc2023/10108/
This video explains how Background Assets can help your app download content before it even launches, reducing wait times for users. It guides you on how to integrate Background Assets into an existing app, when to use essential or non-essential assets, and how to make debugging your extension easier.
Resources:
6. Build custom workouts with WorkoutKit
URL: https://developer.apple.com/videos/play/wwdc2023/10016/
This video introduces WorkoutKit, a tool that simplifies the creation, preview, and scheduling of planned workouts for the Workout app on Apple Watch. It guides developers on how to build custom intervals, create alerts, and use the built-in preview UI to send their own workout routines to Apple Watch.
Resources:
7. Demystify SwiftUI performance
URL: https://developer.apple.com/videos/play/wwdc2023/10160/
This video helps developers build a mental model for performance in SwiftUI and write faster, more efficient code. It shares some of the common causes behind performance issues and helps you triage hangs and hitches in SwiftUI to create more responsive views in your app.
Chapters:
- 0:00 - Introduction and performance feedback loop
- 3:30 - Dependencies
- 10:48 - Faster view updates
- 13:24 - Identity in List and Table
Resources:
- Analyze hangs with Instruments
- Discover Observation in SwiftUI
- Explore UI animation hitches and the render loop
8. Update your app for watchOS 10
URL: https://developer.apple.com/videos/play/wwdc2023/10031/
This video is a code-along that guides developers on updating an Apple Watch app to leverage the latest features in watchOS 10. It demonstrates how to use the latest SwiftUI APIs to maximize glanceability and reorient app navigation around the Digital Crown.
Chapters:
- 1:33 - Build against the watchOS 10 SDK
- 2:33 - NavigationSplitView
- 5:21 - TabView and vertical pagination
- 8:11 - Toolbar with new placement options
- 9:07 - Background color
- 11:10 - Materials
Resources:
9. Inspectors in SwiftUI: Discover the details
URL: https://developer.apple.com/videos/play/wwdc2023/10161/
Description: This video introduces Inspectors, a structural API that can enhance the detail level in your apps. It guides developers through the fundamentals of the API and how to adopt it. The video also discusses the latest updates to sheet presentation customizations and demonstrates how to combine the two to create perfect presentation experiences.
Chapters:
- 0:32 - Inspector
- 3:27 - 🍎🍐🍋🍒
- 9:11 - 🍏
- 9:37 - Presentation customizations
Resources:
10. Explore Natural Language multilingual models
URL: https://developer.apple.com/videos/play/wwdc2023/10042/
This video teaches developers how to create custom Natural Language models for text classification and word tagging using multilingual, transformer-based embeddings. It demonstrates how to train with less data and support up to 27 different languages across three scripts. The video also shows how to use these embeddings to fine-tune complex models trained in PyTorch and TensorFlow.
Resources:
- Discover machine learning enhancements in Create ML
- Make apps smarter with Natural Language
- Advances in Natural Language Framework
11. Bring widgets to life
URL: https://developer.apple.com/videos/play/wwdc2023/10028/
This video teaches developers how to create animated and interactive widgets for their apps and games. It demonstrates how to tweak animations for entry transitions and add interactivity using SwiftUI Button and Toggle. This allows developers to create powerful moments right from the Home Screen and Lock Screen.
Chapters:
- 1:23 - Animations
- 7:45 - Interactivity
Resources:
- Bring widgets to new places
- Build programmatic UI with Xcode Previews
- Explore enhancements to App Intents
12. Meet Push Notifications Console
URL: https://developer.apple.com/videos/play/wwdc2023/10025/
This video introduces the Push Notifications Console, a tool that allows developers to quickly test user notifications in their apps. It guides developers on how to send notifications directly from the console and analyze delivery logs to learn more about their pushes. The video also shows how to generate and validate tokens to successfully authenticate with Apple Push Notification service (APNs). A basic understanding of Apple Push Notification service (APNs) and user notifications is recommended to get the most out of this session.
Chapters:
- 0:00 - Intro
- 2:26 - Send notifications
- 5:00 - Examine delivery logs
- 7:53 - Debug with tools
- 11:01 - Wrap-up
Resources:
- Establishing a certificate-based connection to APNs
- Establishing a token-based connection to APNs
- Sending notification requests to APNs
13. Discover String Catalogs
URL: https://developer.apple.com/videos/play/wwdc2023/10155/
This video introduces String Catalogs in Xcode 15, which simplifies the localization of apps by managing all strings in one place. It guides developers on extracting, editing, exporting, and building strings in their projects using String Catalogs. The video also explains how developers can adopt String Catalogs in existing projects at their own pace by choosing which files to migrate.
Chapters:
- 0:00 - Introduction
- 1:29 - Demo
- 4:13 - Extract
- 13:19 - Edit
- 22:48 - Export
- 27:52 - Build
- 28:44 - Migrate
- 31:03 - Wrap-up
Resources:
14. Debug with structured logging
URL: https://developer.apple.com/videos/play/wwdc2023/10226/
This video introduces the debug console in Xcode 15 and guides developers on how to improve their diagnostic experience through structured logging. It demonstrates how to navigate logs efficiently using advanced filtering and improved visualization. The video also shows how to use the dwim-print command to evaluate expressions in your code while debugging.
Chapters:
- 0:44 - Tour of the Debug Console
- 3:28 - Live debugging
- 7:25 - LLDB improvements
- 9:04 - Tips for logging
- 12:04 - Get the most out of your logging
Resources:
15. Meet StoreKit for SwiftUI
URL: https://developer.apple.com/videos/play/wwdc2023/10013/
This video introduces StoreKit for SwiftUI, which allows developers to use App Store product metadata and Xcode Previews to add in-app purchases to their apps with just a few lines of code. It showcases a new collection of UI components in StoreKit that can be used to quickly merchandise products, present subscriptions in a way that helps users make informed decisions, and more.
Resources:
- Backyard Birds: Building an app with SwiftData and widgets
- What's new in App Store Connect
- What's new in App Store server APIs
16. Meet ActivityKit
URL: https://developer.apple.com/videos/play/wwdc2023/10184/
This video introduces ActivityKit, a tool that allows developers to create Live Activities, a glanceable way for someone to keep track of the progress of a task within your app. It guides developers on how to create helpful experiences for the Lock Screen, the Dynamic Island, and StandBy. The video also explains how to update your app's Live Activities, monitor activity state, and take advantage of WidgetKit and SwiftUI to build richer experiences.
Chapters:
- 0:00 - Intro
- 0:36 - Live Activity overview
- 4:23 - Lifecycle of Live Activities
- 10:43 - Building Live Activity UI
- 16:37 - Wrap-up
Resources:
- ActivityKit
- Human Interface Guidelines: Live Activities
- Updating and ending your Live Activity with ActivityKit push notifications
- WidgetKit
17. What's new in StoreKit 2 and StoreKit Testing in Xcode
URL: https://developer.apple.com/videos/play/wwdc2023/10140/
This video presents the latest enhancements to StoreKit 2 and StoreKit Testing in Xcode. It covers API updates for promoted in-app purchases, StoreKit messages, the Transaction model, the RenewalInfo model, and the App Store sheet for managing subscriptions. The video also explains how to upgrade to SHA-256 for on-device receipt validation and use APIs to create SwiftUI views. Additionally, it introduces the Transaction Inspector, updates to the StoreKit configuration editor, and demonstrates how to simulate StoreKit errors for testing your app's error handling.
Chapters:
- 0:00 - Intro
- 1:29 - StoreKit 2 and StoreKit Testing in Xcode overview
- 4:23 - Lifecycle of StoreKit 2 and StoreKit Testing in Xcode
- 10:43 - Building with StoreKit 2 and StoreKit Testing in Xcode
- 16:37 - Wrap-up
Resources:
- Setting up StoreKit testing in Xcode
- Supporting promoted in-app purchases in your app
- Testing failing subscription renewals and in-app purchases
18. Bring widgets to new places
URL: https://developer.apple.com/videos/play/wwdc2023/10027/
This video explains how to use the latest WidgetKit APIs to make your widget look great everywhere. It guides developers on how to identify their widget's background, adjust layout dynamically, and prepare colors for vibrant rendering so that their widget can sit seamlessly in any environment.
Chapters:
- 0:00 - Introduction
- 1:44 - Transition to content margins
- 3:00 - Add a removable background
- 4:31 - Dynamically adjust layout
- 6:00 - Prepare for vibrant rendering
Resources: