SwiftUI & UI Frameworks

Build interfaces that feel right at home on Apple platforms.

Sessions

  • Adopt Variable Color in SF Symbols

    8:00 a.m.

    Explore how you can use Variable Color to make SF Symbols even more expressive. We’ll show you how system-provided symbols use variable color and provide best practices and guidance for using it effectively. We’ll also help you learn how to incorporate variable color into custom symbols using the SF Symbols app and its annotation tools.

    Watch

  • Adopt desktop-class editing interactions

    8:00 a.m.

    Discover advanced desktop-class editing features that can help people accelerate their productivity in your app. Learn how you can provide more interactions inline with your UI to help people quickly access editing features and make your iPadOS app feel right at home on macOS with Mac Catalyst. We’ll also explore the highly-customizable find interaction and learn how the system UI can help people consistently find content in your app.

    Watch

  • Complications and widgets: Reloaded

    8:00 a.m.

    Our widgets code-along returns as we adventure onto the watchOS and iOS Lock Screen. Learn about the latest improvements to WidgetKit that help power complex complications on watchOS and can help you create Lock Screen widgets for iPhone. We’ll show you how to incorporate the latest SwiftUI views to provide great glanceable data, explore how each platform renders content, and learn how you can customize the design and feel of your content within a widget or complication.

    Watch

  • Enhance collaboration experiences with Messages

    8:00 a.m.

    Discover how you can help improve communication and collaboration in your app with Collaboration in Messages. Learn how to tie a document to Messages conversations for simple sharing and discussion. Explore how you can keep everyone in the conversation up to date on the latest activity in the document. And find out how you can add customizable UI in your app to manage collaboration details and connect documents to Messages conversations and FaceTime calls. To learn more about the SharedWithYou framework, we recommend watching "Add Shared with You to your app.” For more information on adding collaboration APIs to apps that have custom collaboration infrastructure, check out "Integrate your custom collaboration app with Messages.” (Note: API will be available in an upcoming beta.)

    Watch

  • Get more mileage out of your app with CarPlay

    8:00 a.m.

    CarPlay is a smarter, safer way to use your iPhone while you drive. Learn about the latest app types for CarPlay and discover how the CarPlay Simulator can help you develop and test apps without leaving your desk. We’ll also explore how navigation apps can connect with digital instrument clusters in supported vehicles.

    Watch

  • Hello Swift Charts

    8:00 a.m.

    Say hello to Swift Charts — a flexible framework that helps you create charts entirely in SwiftUI that look and feel right at home on all Apple platforms. Discover how you can use compositional syntax to make informative, delightful, and accessible charts with less code. We’ll share the building blocks for making visualizations with Swift Charts, and explore how you can change your charts’ design with a simple modifier. We’ll also take you through the latest updates to Xcode Previews to help you chart a path toward an engaging experience.

    Watch

  • Meet desktop-class iPad

    8:00 a.m.

    Learn how you can bring desktop-class features to your iPad app. Explore updates to UINavigationBar that bring more discoverability and customizability to your app’s features. Find out how the latest updates to UIKit can help make it easier and faster for people to explore content in your app. Lastly, we’ll share a few updates on how it’s easier than ever to bring your iPad app to the desktop with Mac Catalyst.

    Watch

  • The SwiftUI cookbook for navigation

    8:00 a.m.

    The recipe for a great app begins with a clear and robust navigation structure. Join the SwiftUI team in our proverbial coding kitchen and learn how you can cook up a great experience for your app. We’ll introduce you to SwiftUI’s navigation stack and split view features, show you how you can link to specific areas of your app, and explore how you can quickly and easily restore navigational state.

    Watch

  • What's new in AppKit

    8:00 a.m.

    Discover the latest advances in Mac app development using AppKit. We’ll take you through the latest updates to SF Symbols, show you how you can elevate your interface with enhanced controls, and help you learn to coordinate your windows with Stage Manager. We’ll also explore the latest sharing and collaboration features for macOS.

    Watch

  • What's new in SwiftUI

    8:00 a.m.

    It's a SwiftUI party — and you're invited! Join us as we share the latest updates and a glimpse into the future of UI framework design. Discover deep levels of customization, advanced techniques for layout, elegant strategies for sharing, and rock-solid structural approaches for designing an app top-to-bottom in SwiftUI. We’ll also have some celebratory fun as we play with the latest graphical effects and explore APIs.

    Watch

  • What's new in UIKit

    8:00 a.m.

    Discover the latest updates and improvements to UIKit and learn how to build better iPadOS, iOS, and Mac Catalyst apps. We’ll take you through UI refinements, productivity updates, API enhancements, and more. We’ll also help you explore improvements to performance, security, and privacy.

    Watch

Labs

  • Internationalization and localization lab

    Tuesday @ 9:00 - 11:00 a.m.

    Make your app a great global citizen. Request an appointment with an Apple engineer for guidance and conversation about internationalization and localization.

  • App Clips lab

    Tuesday @ 1:00 - 3:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about App Clips, including size optimization, troubleshooting, best practices, and more.

  • WidgetKit and Complications lab

    Tuesday @ 1:00 - 3:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about WidgetKit and Complications including Lock Screen widgets, migrating from ClockKit, timelines, and more.

Digital Lounges

  • Meet the Presenter: What's new in SwiftUI

    Tuesday @ 9:00 - 10:00 a.m.

    Meet the team behind “What's new in SwiftUI” and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Study Hall: SwiftUI navigation hotdish

    Tuesday @ 9:00 - 6:00 p.m.

    Ready to cook up something fun? We're taking our "SwiftUI cookbook for navigation" sample to a whole new tasty level with today's challenge. Prep your ChallengeContentView and get ready to experiment with SwiftUI navigation ingredients like stack view, multicolumn layout, and state restoration. Visit the SwiftUI Study Hall to collaborate on the “SwiftUI navigation hotdish” coding challenge. Ask questions, connect with other developers, and share your creations.

  • Study Hall: You can build an app for that!

    Tuesday @ 9:00 - 6:00 p.m.

    Whether you've got a problem you've been itching to solve or you want to play with a new framework, Swift Playgrounds makes it easy to get started with building your first app — and we're challenging you to try building something today! Explore the tools available, incorporate packages, build prototypes, and most importantly, have fun. Visit the Developer Tools Study Hall to work and collaborate on the “You can build an app for that!” coding challenge. Ask questions, connect with other developers, and share your progress.

  • Study Hall: Toolbar transformation Tuesday

    Tuesday @ 9:00 - 6:00 p.m.

    Move over, Taco Tuesday. This week, it’s Toolbar Transformation Tuesday! You can now adopt powerful productivity improvements in your app like customizable bar button items, inline search bars, and document menu support. So today, we're challenging you to transform your toolbars. Visit the UI Frameworks Study Hall to collaborate on the “Toolbar transformation Tuesday” coding challenge. Ask questions, connect with other developers, and share your creations.

  • Meet the Presenter: What's new in UIKit

    Tuesday @ 10:00 - 11:00 a.m.

    Meet the presenter of “What's new in UIKit” and join a text-based watch party for the session with the UIKit team, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Meet The Presenter: What's new in AppKit

    Tuesday @ 11:00 - 12:00 p.m.

    Meet the presenter behind “What's new in AppKit” and join a text-based watch party for the session with the AppKit team, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Meet the Presenter: Complications and widgets: Reloaded

    Tuesday @ 12:00 - 1:00 p.m.

    Meet the presenters of “Complications and widgets: Reloaded” and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Q&A: UI Frameworks

    Tuesday @ 12:00 - 2:00 p.m.

    Ask Apple engineers about UIKit, AppKit, and Mac Catalyst during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Q&A: Apple Watch development

    Tuesday @ 1:00 - 3:00 p.m.

    Ask Apple engineers about developing for Apple Watch during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Q&A: SwiftUI

    Tuesday @ 3:00 - 5:00 p.m.

    Ask Apple engineers about SwiftUI during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Meet the Presenter: Meet desktop-class iPad

    Tuesday @ 4:00 - 5:00 p.m.

    Meet the presenter of “Meet desktop-class iPad” and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Q&A: Accessibility in SwiftUI

    Tuesday @ 4:00 - 6:00 p.m.

    Ask Apple engineers about accessibility in SwiftUI during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

Sessions

  • Add Shared with You to your app

    8:00 a.m.

    Shared with You helps people easily find content in your app that someone has shared with them in Messages. Learn how you can support Shared with You in your app and continue the messaging experience right with the content. We'll show you how pinning can give implicit Shared with You permission and can elevate content to be automatically shared. We'll also go over how to present Shared with You content in a Shared with You shelf and visually represent shared items with a Shared with You attribution view.

    Watch

  • Bring your iOS app to the Mac

    8:00 a.m.

    Discover all the different ways you can transform your iOS app into a great macOS experience. We’ll explore best practices for bringing your app to the Mac, whether you ship an iPad app for M1 Macs or build something for all Macs using Mac Catalyst. Learn about the latest tools, options, and APIs to help you deliver enhanced experiences. We’ll also show you how you can optimize your app for the Mac, and find out how desktop class iPad features automatically transform into Mac-native options when built using Mac Catalyst.

    Watch

  • Build a desktop-class iPad app

    8:00 a.m.

    Discover how you can create iPad apps that take advantage of desktop class features. Join Mohammed from the UIKit team as we explore the latest navigation, collection view, menu, and editing APIs and learn best practices for building powerful iPad apps. Code along with this session in real time or download our sample app to use as a reference for updating your own code.

    Watch

  • Build a productivity app for Apple Watch

    8:00 a.m.

    Your wrist has never been more productive. Discover how you can use SwiftUI and system features to build a great productivity app for Apple Watch. We’ll show you how you can design great work experiences for the wrist, and explore how you can get text input, display a basic chart, and share content with friends.

    Watch

  • Build global apps: Localization by example

    8:00 a.m.

    Learn how you can run your apps on devices around the world and help everyone have a great experience — regardless of the language they speak. We'll explore how Apple APIs can provide a solid foundation when creating apps for diverse audiences, and we'll share examples, challenges, and best practices from our own experiences.

    Watch

  • Compose custom layouts with SwiftUI

    8:00 a.m.

    SwiftUI now offers powerful tools to level up your layouts and arrange views for your app’s interface. We’ll introduce you to the Grid container, which helps you create highly customizable, two-dimensional layouts, and show you how you can use the Layout protocol to build your own containers with completely custom behavior. We’ll also explore how you can create seamless animated transitions between your layout types, and share tips and best practices for creating great interfaces.

    Watch

  • Explore EDR on iOS

    8:00 a.m.

    EDR is Apple's High Dynamic Range representation and rendering pipeline. Explore how you can render HDR content using EDR in your app and unleash the dynamic range capabilities of HDR displays on iPhone and iPad. We'll show how you can take advantage of the native EDR APIs on iOS, provide best practices to help you decide when HDR is appropriate, and share tips for tone-mapping and HDR content rendering. We'll also introduce you to Reference Mode and highlight how it provides a reference response to enable color-critical workflows such as color grading, editing, and content review.

    Watch

  • Integrate your custom collaboration app with Messages

    8:00 a.m.

    Discover how the SharedWithYou framework can augment your app's collaboration infrastructure. We'll show you how to send secure invitations to collaborative content and synchronize participant changes. We'll also cover displaying content updates within the relevant conversation. For an introduction to SharedWithYou, watch "Add Shared with You to your app" from WWDC22. For an overview of the collaboration UI APIs, watch "Enhance collaboration experiences with Messages" from WWDC22. (Note: API will be available in an upcoming beta.)

    Watch

  • Meet Transferable

    8:00 a.m.

    Meet Transferable: a model-layer protocol that allows for effortless support for sharing, drag and drop, copy/paste, and other features in your app. We'll explore how you can use the API for common use cases, and take advantage of advanced features to customize the behavior. We'll also share how you can optimize for memory efficiency when dealing with large amounts of data. Whether you're extending your models to share with other applications as strings or images or creating custom declared data types, Transferable can help you facilitate a great experience in your app.

    Watch

  • Meet the expanded San Francisco font family

    8:00 a.m.

    Discover the latest additions to San Francisco – the system font for Apple platforms – and find out how they can provide more control and versatility when designing interfaces. In addition to weights and optical sizes, San Francisco now supports three new width styles: Condensed, Compressed, and Expanded. We’ll also take you through the linguistic expansion of San Francisco and learn more about the feature-rich Arabic system font families: SF Arabic and SF Arabic Rounded.

    Watch

  • Swift Charts: Raise the bar

    8:00 a.m.

    Dive deep into data visualizations: Learn how Swift Charts and SwiftUI can help your apps represent complex datasets through a wide variety of chart options. We’ll show you how to plot different kinds of data and compose marks to create more elaborate charts. We’ll also take you through Swift Charts’ extensive chart customization API to help you match the style of your charts to your app. To get the most out of this session, we recommend you begin with “Hello Swift Charts” from WWDC22.

    Watch

Labs

  • CarPlay lab

    Wednesday @ 9:00 - 11:00 a.m.

    CarPlay is a smarter, safer way to use your iPhone in the car. Request an appointment with an Apple engineer for guidance and conversation about creating CarPlay apps. And if you're an automaker, find out how to support the latest CarPlay features in your cars.

  • watchOS lab

    Wednesday @ 10:00 - 12:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.

  • iPad and iPhone apps on M1 and Mac Catalyst lab

    Wednesday @ 10:00 - 12:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about running your iPad and iPhone apps on Macs with M1, bringing your iPad app to Mac with Mac Catalyst, the Mac idiom, using SwiftUI in your Mac Catalyst apps, and more.

  • Shared with You, Sharing, Connectivity, Messages Collaboration lab

    Wednesday @ 2:00 - 5:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more. Chat with Apple engineers from the Messages, Shared with You, Messages Collaboration, Share Sheet, UIActivityViewController, Watch Connectivity, and Multipeer Connectivity teams.

Digital Lounges

  • Study Hall: SwiftUI science fiction!

    Wednesday @ 9:00 - 6:00 p.m.

    Floating numbers? Neon code screens? Today, we’re taking a page out of our favorite speculative fiction and challenging you to create a SwiftUI screen from an alternate reality. Visit the SwiftUI Study Hall to collaborate on the “SwiftUI science fiction!” coding challenge. Ask questions, connect with other developers, and share your progress.

  • Meet the Presenter: Compose custom layouts with SwiftUI

    Wednesday @ 9:00 - 10:00 a.m.

    Meet the presenter of “Compose custom layouts with SwiftUI” and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Study Hall: WidgetKit workshop

    Wednesday @ 9:00 - 6:00 p.m.

    Take a glance at today's WidgetKit challenge, won't you? With glanceable experiences coming to the Lock Screen in iOS 16, today's the perfect time to try building your very own Lock Screen widget. Visit the WidgetKit Study Hall to collaborate on the “WidgetKit workshop” coding challenge. Ask questions, connect with other developers, and share your creations.

  • Study Hall: Go big or go home

    Wednesday @ 9:00 - 6:00 p.m.

    What’s better than people loving your app on iPhone? People loving your app on iPad and Mac, too! Today's challenge invites you to explore the ways you can expand your app’s presence in the Apple ecosystem. Explore prototyping your iPhone app for iPad, adding new desktop class features to your iPad app, or bringing your app to macOS. Visit the UI Frameworks Study Hall to collaborate on the “Go big or go home” coding challenge. Ask questions, connect with other developers, and share your creations.

  • Meet the Presenter: Build a desktop-class iPad app

    Wednesday @ 10:00 - 11:00 a.m.

    Meet the presenter of “Build a desktop-class iPad app” and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Q&A: WidgetKit

    Wednesday @ 10:00 - 12:00 p.m.

    Ask Apple engineers about WidgetKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Meet the Presenter: Bring your iOS app to the Mac

    Wednesday @ 1:00 - 2:00 p.m.

    Meet the presenter of “Bring your iOS app to the Mac” and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Q&A: SwiftUI

    Wednesday @ 1:00 - 3:00 p.m.

    Ask Apple engineers about SwiftUI during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Meet the Presenter: Build a productivity app for Apple Watch

    Wednesday @ 2:00 - 3:00 p.m.

    Meet the presenter of “Build a productivity app for Apple Watch” and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

  • Q&A: UI Frameworks

    Wednesday @ 3:00 - 5:00 p.m.

    Ask Apple engineers about UIKit, AppKit, and Mac Catalyst during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Q&A: Internationalization and localization

    Wednesday @ 3:00 - 5:00 p.m.

    Ask Apple engineers about internationalization and localization during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Break the SwiftUIce

    Wednesday @ 6:00 - 7:00 p.m.

    Come hang out with the SwiftUI team for an hour of fun! Enjoy a text-based chat about your favorite sessions, meet other members of the SwiftUI community, share tips and tricks, and more.

Sessions

  • Display EDR content with Core Image, Metal, and SwiftUI

    8:00 a.m.

    Discover how you can add support for rendering in Extended Dynamic Range (EDR) from a Core Image based multi-platform SwiftUI application. We'll outline best practices for displaying CIImages to a MTKView using ViewRepresentable. We'll also share the simple steps to enable EDR rendering and explore some of the over 150 built-in CIFilters that support EDR.

    Watch

  • Display HDR video in EDR with AVFoundation and Metal

    8:00 a.m.

    Learn how you can take advantage of AVFoundation and Metal to build an efficient EDR pipeline. Follow along as we demonstrate how you can use AVPlayer to display HDR video as EDR, add playback into an app view, render it with Metal, and use Core Image or custom Metal shaders to add video effects such as keying or color management. Whether you develop games or pro apps, we'll help you decide which frameworks to use and share best practices for selecting transports, colorspaces, and pixelbuffer formats.

    Watch

  • Get it right (to left)

    8:00 a.m.

    Discover how to develop your app so that it can be localized into "right-to-left" languages such as Arabic and Hebrew. We'll take you through important considerations for these languages, share solutions to challenges, and provide best practices for delivering a great right-to-left experience in your app.

    Watch

  • Go further with Complications in WidgetKit

    8:00 a.m.

    Discover how you can use WidgetKit to create beautiful complications on watch faces. We'll introduce you to the watchOS-specific features found in WidgetKit, and help you migrate from existing ClockKit complications. For more on WidgetKit, watch “Complications and Widgets: Reloaded” from WWDC22.

    Watch

  • SwiftUI on iPad: Add toolbars, titles, and more

    8:00 a.m.

    Get ready to tune up your iPad app’s toolbars with SwiftUI. We’ll show you how you can structure toolbars to take advantage of the space available on iPad and help people maximize their productivity. We’ll also take you through customization, explore the latest ways you can represent documents, and more. This is the second session in a two-part series. To get the most out of this video, we recommend starting with “SwiftUI on iPad: Organize your interface.”

    Watch

  • SwiftUI on iPad: Organize your interface

    8:00 a.m.

    It’s time to supercharge the interface of your iPad app with SwiftUI lists and tables. We’ll show how you can add selection interactions and context menus and help people who use your app be more productive. We'll also give you best practices on structuring your navigation and explore how you can avoid modality using split views to ensure a top-notch desktop-class iPad experience. This is the first session in a two-part series. To get the most out of this video, we recommend you have some basic familiarity with SwiftUI. After watching this session, check out "SwiftUI on iPad: Add toolbars, titles, and more" to learn how SwiftUI can help you make even better toolbars for your iPad app.

    Watch

  • The craft of SwiftUI API design: Progressive disclosure

    8:00 a.m.

    Explore progressive disclosure — one of SwiftUI’s core principles — and learn how it influences the design of our APIs. We’ll show you how we use progressive disclosure, discuss how it can support quick iteration and exploration, and help you take advantage of it in your own code.

    Watch

  • Use SwiftUI with AppKit

    8:00 a.m.

    Discover how the Shortcuts app uses both SwiftUI and AppKit to create a top-tier experience on macOS. Follow along with the Shortcuts team as we explore how you can host SwiftUI views in AppKit code, handle layout and sizing, participate in the responder chain, enable navigational focus, and more. We’ll also show you how to host AppKit views, helping you migrate existing code into a SwiftUI layout within your app.

    Watch

  • Use SwiftUI with UIKit

    8:00 a.m.

    Learn how to take advantage of the power of SwiftUI in your UIKit app. Build custom UICollectionView and UITableView cells seamlessly with SwiftUI using UIHostingConfiguration. We’ll also show you how to manage data flow between UIKit and SwiftUI components within your app. To get the most out of this session, we encourage basic familiarity with SwiftUI.

    Watch

  • What's new in TextKit and text views

    8:00 a.m.

    Discover the latest updates to TextKit and text views in UI frameworks. Explore layout refinements and API enhancements, learn how you can maintain compatibility across multiple OS versions, and find out how to modernize your app with TextKit 2. To get the most out of this session, watch “Meet TextKit 2” from WWDC21.

    Watch

  • What's new in web accessibility

    8:00 a.m.

    Discover techniques for building rich, accessible web apps with custom controls, SSML, and the dialog element. We'll discuss different assistive technologies and help you learn how to use them when testing the accessibility of your web apps.

    Watch

Labs

  • HDR and EDR lab

    Thursday @ 9:00 - 11:00 a.m.

    EDR is Apple’s High Dynamic Range representation and rendering pipeline. Request an appointment with an Apple engineer for guidance and conversation around rendering HDR video content using EDR in your app, best practices, and more.

  • App Clips lab

    Thursday @ 9:00 - 11:00 a.m.

    Request an appointment with an Apple engineer for guidance and conversation about App Clips, including size optimization, troubleshooting, best practices, and more.

  • WidgetKit and Complications lab

    Thursday @ 10:00 - 12:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about WidgetKit and Complications including Lock Screen widgets, migrating from ClockKit, timelines, and more.

  • Shared with You, Sharing, Connectivity, Messages Collaboration lab

    Thursday @ 10:00 - 1:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more. Chat with Apple engineers from the Messages, Shared with You, Messages Collaboration, Share Sheet, UIActivityViewController, Watch Connectivity, and Multipeer Connectivity teams.

  • UIKit lab

    Thursday @ 1:00 - 3:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about UIKit including the look and feel of your app, collection and table views, adopting SF Symbols, and more.

  • Drawing and Text Input lab

    Thursday @ 1:00 - 4:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about Quick Note, PencilKit, Scribble, Keyboard, and other input topics.

  • Internationalization and localization lab

    Thursday @ 3:00 - 5:00 p.m.

    Make your app a great global citizen. Request an appointment with an Apple engineer for guidance and conversation about internationalization and localization.

  • SwiftUI lab

    Thursday @ 3:00 - 5:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about the latest SwiftUI APIs, best practices, and more.

  • AppKit lab

    Thursday @ 3:00 - 5:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about AppKit, including the look and feel of your app, adopting SF Symbols, and more.

  • SF Symbols design lab

    Thursday @ 4:00 - 6:00 p.m.

    Request an appointment with a member of the SF Symbols team for guidance and conversation about Variable Color, automatic rendering mode, unified annotation, design and implementation best practices, and more.

Digital Lounges

  • Q&A: SwiftUI and UI Frameworks

    Thursday @ 8:00 - 10:00 a.m.

    Ask Apple engineers about SwiftUI and other UI frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Q&A: Accessibility in UIKit and AppKit

    Thursday @ 9:00 - 11:00 a.m.

    Ask Apple engineers about accessibility in UIKit and AppKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Study Hall: Throwback Thursday

    Thursday @ 9:00 - 6:00 p.m.

    We’re adding some chic retro styling to today’s challenge: Create a SwiftUI view that reimagines your app clothed in the interfaces of the past. Dress your UI up in the grayscale style of System 7, the linen of early iPhoneOS, or another time period entirely! Visit the SwiftUI Study Hall to collaborate on the “Throwback Thursday” coding challenge. Ask questions, connect with other developers, and share your creations.

  • Q&A: Apple Watch development

    Thursday @ 9:00 - 11:00 a.m.

    Ask Apple engineers about developing for Apple Watch during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Study Hall: SwiftUI Animation Extravaganza!

    Thursday @ 9:00 - 6:00 p.m.

    Coding — like painting, dance, and language itself — is a form of artistic expression, and we're challenging you to use SwiftUI and Swift Playgrounds as your creative medium. Visit the Developer Tools Study Hall to work and collaborate on the “SwiftUI Animation Extravaganza!” coding challenge. Ask questions, connect with other developers, and share your progress.

  • Q&A: Swift Charts

    Thursday @ 11:00 - 1:00 p.m.

    Ask Apple engineers about Swift Charts — a new framework to help you create charts in SwiftUI — during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Q&A: Xcode Previews

    Thursday @ 1:00 - 3:00 p.m.

    Ask Apple engineers about Xcode Previews during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Meet the Presenter: Adopt desktop-class editing interactions

    Thursday @ 4:00 - 5:00 p.m.

    Meet the presenters of “Adopt desktop-class editing interactions” and join a text-based watch party for the session, followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

Sessions

  • Bring multiple windows to your SwiftUI app

    8:00 a.m.

    Discover the latest SwiftUI APIs to help you present windows within your app’s scenes. We’ll explore how scene types like MenuBarExtra can help you easily build more kinds of apps using SwiftUI. We’ll also show you how to use modifiers that customize the presentation and behavior of your app windows to make even better macOS apps.

    Watch

  • Create accessible Single App Mode experiences

    8:00 a.m.

    Learn how you can provide more control and accessibility to people using your apps in Single App Mode. We’ll share how you can use the UIAccessibility and Automatic Assessment Configuration frameworks to apply these restrictions when needed and enable these accessibility features without ever opening the Settings app. We’ll also take you through how you can add custom restrictions within your app to better support the Guided Access feature in iOS, which puts any app into Single App Mode temporarily.

    Watch

  • Efficiency awaits: Background tasks in SwiftUI

    8:00 a.m.

    Background Tasks help apps respond to system events and keep time-sensitive data up to date. Learn how you can use the SwiftUI Background Tasks API to handle tasks succinctly. We’ll show you how to use Swift Concurrency to handle network responses, background refresh, and more — all while preserving performance and power.

    Watch

Labs

  • AppKit lab

    Friday @ 9:00 - 11:00 a.m.

    Request an appointment with an Apple engineer for guidance and conversation about AppKit, including the look and feel of your app, adopting SF Symbols, and more.

  • SwiftUI and Swift Charts lab

    Friday @ 10:00 - 12:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about the latest SwiftUI APIs, best practices, and Swift Charts.

  • TextKit 2, Text, Fonts, and SF Symbols Adoption lab

    Friday @ 10:00 - 12:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation around TextKit 2, TextKit and Core Text APIs, best practices, advice on achieving complex text layouts, fonts, adopting SF Symbols, best practices, and more.

  • watchOS lab

    Friday @ 2:00 - 4:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.

  • UIKit lab

    Friday @ 2:00 - 4:00 p.m.

    Request an appointment with an Apple engineer for guidance and conversation about UIKit including the look and feel of your app, collection and table views, adopting SF Symbols, and more.

Digital Lounges

  • Q&A: Right-to-left

    Friday @ 9:00 - 11:00 a.m.

    Ask Apple engineers about the latest tools, technologies, and frameworks during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Study Hall: Menu bar extras with SwiftUI

    Friday @ 9:00 - 6:00 p.m.

    Today's challenge comes straight from the menu bar itself: It's time to File → New Challenge and use SwiftUI to build a menu bar extra for your app. Visit the SwiftUI Study Hall to collaborate on the “Menu bar extras with SwiftUI” coding challenge. Ask questions, connect with other developers, and share your creations.

  • Q&A: WidgetKit

    Friday @ 11:00 - 1:00 p.m.

    Ask Apple engineers about WidgetKit during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.

  • Q&A: CarPlay

    Friday @ 1:00 - 3:00 p.m.

    Ask Apple engineers about CarPlay during this 2 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others in a group setting.