SwiftUI & UI Frameworks

Sessions

  • Bring widgets to new places

    8:00 a.m.

    The widget ecosystem is expanding: Discover how you can use the latest WidgetKit APIs to make your widget look great everywhere. We’ll show you how to identify your widget’s background, adjust layout dynamically, and prepare colors for vibrant rendering so that your widget can sit seamlessly in any environment.

    Watch

  • Design and build apps for watchOS 10

    8:00 a.m.

    Dive into the details of watchOS design principles and learn how to apply them in your app using SwiftUI. We’ll show you how to build an app for the redesigned user interface to surface timely information, communicate focused content at a glance, and make navigation consistent and predictable.

    Watch

  • Discover Observation in SwiftUI

    8:00 a.m.

    Simplify your SwiftUI data models with Observation. We’ll share how the Observable macro can help you simplify models and improve your app’s performance. Get to know Observation, learn the fundamentals of the macro, and find out how to migrate from ObservableObject to Observable.

    Watch

  • Discover String Catalogs

    8:00 a.m.

    Discover how Xcode 15 makes it easy to localize your app by managing all of your strings in one place. We’ll show you how to extract, edit, export, and build strings in your project using String Catalogs. We’ll also share how you can adopt String Catalogs in existing projects at your own pace by choosing which files to migrate.

    Watch

  • Enhance your iPad and iPhone apps for the Shared Space

    8:00 a.m.

    Get ready to enhance your iPad and iPhone apps for the Shared Space! We’ll show you how to optimize your experience to make it feel great on visionOS and explore Designed for iPad app interaction, visual treatments, and media.

    Watch

  • Meet StoreKit for SwiftUI

    8:00 a.m.

    Discover how you can use App Store product metadata and Xcode Previews to add in-app purchases to your app with just a few lines of code. Explore a new collection of UI components in StoreKit and learn how you can easily merchandise your products, present subscriptions in a way that helps users make informed decisions, and more.

    Watch

  • Meet SwiftUI for spatial computing

    8:00 a.m.

    Take a tour of the solar system with us and explore SwiftUI for visionOS! Discover how you can build an entirely new universe of apps with windows, volumes, and spaces. We’ll show you how to get started with SwiftUI on this platform as we build an astronomy app, add 3D content, and create a fully immersive experience to transport people to the stars.

    Watch

  • Meet UIKit for spatial computing

    8:00 a.m.

    Learn how to bring your UIKit app to visionOS. We’ll show you how to build for a new destination, explore APIs and best practices for spatial computing, and take your content into the third dimension when you use SwiftUI with UIKit in visionOS.

    Watch

  • Meet watchOS 10

    8:00 a.m.

    Discover some of the most significant changes to Apple Watch since its introduction as we tour the redesigned user interface and the new Smart Stack. Learn how Apple designers approached the design of watchOS 10 as we explore layout, navigation, and visual style, and find out how you can apply them to create a great app for Apple Watch.

    Watch

  • Run your iPad and iPhone apps in the Shared Space

    8:00 a.m.

    Discover how you can run your existing iPad and iPhone apps on Vision Pro. Learn how iPadOS and iOS apps operate on this platform, find out about the Designed for iPad experience, and explore the paths available for enhancing your app experience on visionOS.

    Watch

  • Unleash the UIKit trait system

    8:00 a.m.

    Discover powerful enhancements to the trait system in UIKit. Learn how you can define custom traits to add your own data to UITraitCollection, modify the data propagated to view controllers and views with trait override APIs, and adopt APIs to improve flexibility and performance. We’ll also show you how to bridge UIKit traits with SwiftUI environment keys to seamlessly access data from both UIKit and SwiftUI components in your app.

    Watch

  • Unlock the power of grammatical agreement

    8:00 a.m.

    Discover how you can use automatic grammatical agreement in your apps and games to create inclusive and more natural-sounding expressions. We’ll share best practices for working with Foundation, showcase examples in multiple languages, and demonstrate how to use these APIs to enhance the user experience for your apps. For an introduction to automatic grammatical agreement, watch “What’s new in Foundation” from WWDC21.

    Watch

  • What’s new in SF Symbols 5

    8:00 a.m.

    Explore the latest updates to SF Symbols, Apple’s library of iconography designed to integrate seamlessly with San Francisco, the system font for Apple platforms. Learn about symbol animations: a collection of expressive, configurable animations that can make your interface feel more lively and improve user feedback. See how to draw for animation when creating your own custom symbols, and discover the latest additions to the SF Symbols library. To get the most out of this session, we recommend first watching “What’s new in SF Symbols 4” from WWDC22.

    Watch

  • What’s new in SwiftUI

    8:00 a.m.

    Learn how you can use SwiftUI to build great apps for all Apple platforms. Explore the latest updates to SwiftUI and discover new scene types for visionOS. Simplify your data models with the latest data flow options and learn about the Inspector view. We’ll also take you through enhanced animation APIs, powerful ScrollView improvements, and a host of refinements to help you make tidier tables, improve focus and keyboard input, and so much more.

    Watch

  • What’s new in UIKit

    8:00 a.m.

    Explore enhancements and updates to UIKit and learn how to build better iOS, iPadOS, and Mac Catalyst apps. We’ll show you the latest features and improvements in UIKit and share API refinements, performance improvements, and much more.

    Watch

  • Wind your way through advanced animations in SwiftUI

    8:00 a.m.

    Discover how you can take animation to the next level with the latest updates to SwiftUI. Join us as we wind our way through animation and build out multiple steps, use keyframes to add coordinated multi-track animated effects, and combine APIs in unique ways to make your app spring to life.

    Watch

Labs

  • WidgetKit lab

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

    Request an appointment with an Apple engineer for guidance and conversation about WidgetKit including updating your widget, adding interactivity, and incorporating animation.

    Request

  • SwiftUI visionOS lab

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

    Request an appointment with an Apple engineer for guidance and conversation about SwiftUI on visionOS, including building immersive experiences using a Full Space, using RealityView with SwiftUI, incorporating volumetric windows, and more..

    Request

  • watchOS lab

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

    Request an appointment with an Apple engineer for conversation and guidance about updating your app for watchOS 10, the latest APIs, best practices, and more.

    Request

Activities

  • Meet the presenters: What’s new in SwiftUI

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

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

    Sign up

  • Q&A: Build UIKit apps for visionOS

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

    Ask Apple engineers about building UIKit for visionOS during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

  • Meet the presenter: Wind your way through advanced animations in SwiftUI

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

    Meet the presenter behind “Wind your way through advanced animations in SwiftUI” and join a text-based watch party followed by a short Q&A. The watch party begins 5 minutes after the start of this activity — so don’t be late!

    Sign up

  • Q&A: iPadOS and iOS apps on Vision Pro

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

    Ask Apple engineers about running iPadOS and iOS apps on Vision Pro during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

  • Q&A: UIKit

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

    Ask Apple engineers about iPhone and iPad app development with UIKit during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

Sessions

  • Beyond scroll views

    8:00 a.m.

    Find out how you can take your scroll views to the next level with the latest APIs in SwiftUI. We’ll show you how to customize scroll views like never before. Explore the relationship between safe areas and a scroll view’s margins, learn how to interact with the content offset of a scroll view, and discover how you can add a bit of flair to your content with scroll transitions.

    Watch

  • Bring widgets to life

    8:00 a.m.

    Learn how to make animated and interactive widgets for your apps and games. We’ll show you how to tweak animations for entry transitions and add interactivity using SwiftUI Button and Toggle so that you can create powerful moments right from the Home Screen and Lock Screen.

    Watch

  • Build an app with SwiftData

    8:00 a.m.

    Discover how SwiftData can help you persist data in your app. Code along with us as we bring SwiftData to a multi-platform SwiftUI app. Learn how to convert existing model classes into SwiftData models, set up the environment, reflect model layer changes in UI, and build document-based applications backed by SwiftData storage. To get the most out of this session, you should be familiar SwiftData. For an introduction, check out "Meet SwiftData" from WWDC23.

    Watch

  • Build widgets for the Smart Stack on Apple Watch

    8:00 a.m.

    Follow along as we build a widget for the Smart Stack on watchOS 10 using the latest SwiftUI and WidgetKit APIs. Learn tips, techniques, and best practices for creating widgets that show relevant information on Apple Watch.

    Watch

  • Create animated symbols

    8:00 a.m.

    Discover animation presets and learn how to use them with SF Symbols and custom symbols. We’ll show you how to experiment with different options and configurations to find the perfect animation for your app. Learn how to update custom symbols for animation using annotation features, find out how to modify your custom symbols with symbol components, and explore the redesigned export process to help keep symbols looking great on all platforms. To get the most out of this session, check out “What’s new in SF Symbols 5” from WWDC23.

    Watch

  • Design widgets for the Smart Stack on Apple Watch

    8:00 a.m.

    Bring your widgets to watchOS with the new Smart Stack. We’ll show you how to use standard design layouts, color and iconography, and signal-based relevancy to ensure your app’s widgets are glanceable, distinctive and smart. When you’re ready to make your own, watch this code-along: "Build widgets for the Smart Stack on watchOS"

    Watch

  • Design with SwiftUI

    8:00 a.m.

    Discover how SwiftUI can help you quickly iterate and explore design ideas. Learn from Apple designers as they share how working with SwiftUI influenced the design of the Maps app in watchOS 10 and other elements of their work, and find out how you can incorporate these workflows in your own process.

    Watch

  • Evolve your ARKit app for spatial experiences

    8:00 a.m.

    Discover how you can bring your app’s AR experience to visionOS. Learn how ARKit and RealityKit have evolved for spatial computing: We’ll highlight conceptual and API changes for those coming from iPadOS and iOS and guide you to sessions with more details to help you bring your AR experience to this platform.

    Watch

  • Explore SwiftUI animation

    8:00 a.m.

    Explore SwiftUI’s powerful animation capabilities and find out how these features work together to produce impressive visual effects. Learn how SwiftUI refreshes the rendering of a view, determines what to animate, interpolates values over time, and propagates context for the current transaction.

    Watch

  • Inspectors in SwiftUI: Discover the details

    8:00 a.m.

    Meet Inspectors — a structural API that can help bring a new level of detail to your apps. We’ll take you through the fundamentals of the API and show you how to adopt it. Learn about the latest updates to sheet presentation customizations and find out how you can combine the two to create perfect presentation experiences.

    Watch

  • Take SwiftUI to the next dimension

    8:00 a.m.

    Get ready to add depth and dimension to your visionOS apps. Find out how to bring three-dimensional objects to your app using volumes, get to know the Model 3D API, and learn how to position and animate content. We’ll also show you how to use UI attachments in RealityView and support gestures in your content.

    Watch

  • Update your app for watchOS 10

    8:00 a.m.

    Join us as we update an Apple Watch app to take advantage of the latest features in watchOS 10. In this code-along, we’ll show you how to use the latest SwiftUI APIs to maximize glanceability and reorient app navigation around the Digital Crown.

    Watch

  • What’s new in AppKit

    8:00 a.m.

    Discover the latest advances in Mac app development. We’ll share improvements to controls and menus and explore the tools that can help you break free from your (view) bounds. Learn how to add motion to your user interface, take advantage of improvements to text input, and integrate your existing code with Swift and SwiftUI.

    Watch

Labs

  • Accessibility lab

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

    Request an appointment with an Apple engineer for guidance and conversation about Accessibility, including VoiceOver, visual accessibility, assistive devices, and more.

    Request

  • 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.

    Request

Activities

  • Break the SwiftUIce

    Wednesday @ 10:00 - 11:00 a.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.

    Sign up

  • Q&A: UIKit

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

    Ask Apple engineers about iPhone and iPad app development with UIKit during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

  • Q&A: WidgetKit

    Wednesday @ 11:00 - 1:00 p.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.

    Sign up

  • Q&A: SwiftUI

    Wednesday @ 1:00 - 3:00 p.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.

    Sign up

  • Q&A: Update your app for watchOS 10

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

    Ask watchOS engineers about updating your app to watchOS 10 during this hour-long text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

  • 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.

    Sign up

  • Q&A: Accessibility

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

    Ask Apple engineers about accessibility in SwiftUI, 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.

    Sign up

Sessions

  • Animate symbols in your app

    8:00 a.m.

    Bring delight to your app with animated symbols. Explore the new Symbols framework, which features a unified API to create and configure symbol effects. Learn how SwiftUI, AppKit, and UIKit make it easy to animate symbols in user interfaces. Discover tips and tricks to seamlessly integrate the new animations alongside other app content. To get the most from this session, we recommend first watching “What’s new in SF Symbols 5.”

    Watch

  • Build better document-based apps

    8:00 a.m.

    Discover how you can use the latest features in iPadOS to improve your document-based apps. We’ll show you how to take advantage of UIDocument as well as existing desktop-class iPad and document-based APIs to add new features in your app. Find out how to convert data models to UIDocument, present documents with UIDocumentViewController, learn how to migrate your apps to the latest APIs, and explore best practices.

    Watch

  • Demystify SwiftUI performance

    8:00 a.m.

    Learn how you can build a mental model for performance in SwiftUI and write faster, more efficient code. We’ll share some of the common causes behind performance issues and help you triage hangs and hitches in SwiftUI to create more responsive views in your app.

    Watch

  • Explore pie charts and interactivity in Swift Charts

    8:00 a.m.

    Swift Charts has come full circle: Get ready to bake up pie and donut charts in your app with the latest improvements to the framework. Learn how to make your charts scrollable, explore the chart selection API for revealing additional details in your data, and find out how enabling additional interactivity can make your charts even more delightful.

    Watch

  • Go beyond the window with SwiftUI

    8:00 a.m.

    Get ready to launch into space — a new SwiftUI scene type that can help you make great immersive experiences for visionOS. We’ll show you how to create a new scene with ImmersiveSpace, place 3D content, and integrate RealityView. Explore how you can use the immersionStyle scene modifier to increase the level of immersion in an app and learn best practices for managing spaces, adding virtual hands with ARKit, adding support for SharePlay, and building an "out of this world" experience!

    Watch

  • What’s new with text and text interactions

    8:00 a.m.

    Text is an absolutely critical component of every app. Discover the latest features and enhancements for creating rich text experiences on Apple platforms. We’ll show you how to take advantage of common text elements and create entirely custom interactions for your app. Learn about updates to dictation, text loupe, and text selection, and explore improvements to text clipping, line wrapping, and hyphenation.

    Watch

Labs

  • watchOS lab

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

    Request an appointment with an Apple engineer for conversation and guidance about updating your app for watchOS 10, the latest APIs, best practices, and more.

    Request

  • iPadOS and iOS apps in the Shared Space lab

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

    Request an appointment with an Apple engineer for guidance and conversation about about running iOS and iPadOS apps in the Shared Space.

    Request

  • 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.

    Request

  • 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. When requesting an appointment, please indicate which platforms you’d like to discuss.

    Request

  • SwiftUI visionOS lab

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

    Request an appointment with an Apple engineer for guidance and conversation about SwiftUI on visionOS, including building immersive experiences using a Full Space, using RealityView with SwiftUI, incorporating volumetric windows, and more..

    Request

  • 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.

    Request

  • 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.

    Request

Activities

  • Q&A: SwiftUI

    Thursday @ 10:00 - 12:00 p.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.

    Sign up

  • Q&A: AppKit

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

    Ask Apple engineers about macOS app development with AppKit during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

  • Q&A: Accessibility

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

    Ask Apple engineers about accessibility in SwiftUI, 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.

    Sign up

  • Q&A: Widgets in the Smart Stack on watchOS

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

    Ask Apple designers and engineers about widgets and the Smart Stack on watchOS during this hour-long text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

  • Q&A: iPadOS and iOS apps on Vision Pro

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

    Ask Apple engineers about running iPadOS and iOS apps on Vision Pro during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

  • Q&A: Build UIKit apps for visionOS

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

    Ask Apple engineers about building UIKit for visionOS during this text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

Sessions

  • Animate with springs

    8:00 a.m.

    Discover how you can bring life to your app with animation! We’ll show you how to create amazing animations when you take advantage of springs and help you learn how to use them in your app.

    Watch

  • Elevate your windowed app for spatial computing

    8:00 a.m.

    Discover how you can bring your multiplatform SwiftUI app to visionOS and the Shared Space. We’ll show you how to add the visionOS destination to an existing app and view your app in the Simulator. Explore how your SwiftUI code automatically adapts to support the unique context and presentation of the visionOS platform. Learn how you can update custom views, improve your app’s UI, and add features and controls specific to this platform.

    Watch

  • The SwiftUI cookbook for focus

    8:00 a.m.

    The SwiftUI team is back in the coding "kitchen" with powerful tools to shape your app’s focus experience. Join us and learn about the staple ingredients that support focus-driven interactions in your app. Discover focus interactions for custom views, find out about key-press handlers for keyboard input, and learn how to support movement and hierarchy with focus sections. We’ll also go through some tasty recipes for common focus patterns in your app.

    Watch

Labs

  • SwiftUI lab

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

    Request an appointment with an Apple engineer for guidance and conversation about the latest SwiftUI APIs, best practices, and more. When requesting an appointment, please indicate which platforms you’d like to discuss.

    Request

  • 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.

    Request

  • SwiftUI visionOS lab

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

    Request an appointment with an Apple engineer for guidance and conversation about SwiftUI on visionOS, including building immersive experiences using a Full Space, using RealityView with SwiftUI, incorporating volumetric windows, and more..

    Request

  • 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.

    Request

  • WidgetKit lab

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

    Request an appointment with an Apple engineer for guidance and conversation about WidgetKit including updating your widget, adding interactivity, and incorporating animation.

    Request

  • UIKit lab

    Friday @ 12:00 - 2: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.

    Request

  • Accessibility lab

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

    Request an appointment with an Apple engineer for guidance and conversation about Accessibility, including VoiceOver, visual accessibility, assistive devices, and more.

    Request

Activities

  • Meet the presenters: Design with SwiftUI

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

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

    Sign up

  • 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.

    Sign up