Sessions

  • Create rich documentation with Swift-DocC

    8:00 a.m.

    Learn how you can take advantage of the latest features in Swift-DocC to create rich and detailed documentation for your app or framework. We’ll show you how to use the Xcode 15 Documentation Preview editor to efficiently iterate on your existing project’s documentation, and explore expanded authoring capabilities like grid-based layouts, video support, and custom themes. To get the most out of this session, you should have a working knowledge of the basics of Swift-DocC documentation.

    Watch

  • Expand on Swift macros

    8:00 a.m.

    Discover how Swift macros can help you reduce boilerplate in your codebase and adopt complex features more easily. Learn how macros can analyze code, emit rich compiler errors to guide developers towards correct usage, and generate new code that is automatically incorporated back into your project. We’ll also take you through important concepts like macro roles, compiler plugins, and syntax trees.

    Watch

  • Generalize APIs with parameter packs

    8:00 a.m.

    Swift parameter packs are a powerful tool to expand what is possible in your generic code while also enabling you to simplify common generic patterns. We’ll show you how to abstract over types as well as the number of arguments in generic code and simplify common generic patterns to avoid overloads. To get the most out of this session, we recommend first checking out “Embrace Swift generics" from WWDC22.

    Watch

  • Meet SwiftData

    8:00 a.m.

    SwiftData is a powerful and expressive persistence framework built for Swift. We’ll show you how you can model your data directly from Swift code, use SwiftData to work with your models, and integrate with SwiftUI.

    Watch

  • What’s new in Swift

    8:00 a.m.

    Join us for an update on Swift. We’ll show you how APIs are becoming more extensible and expressive with features like parameter packs and macros. We’ll also take you through improvements to interoperability and share how we’re expanding Swift’s performance and safety benefits everywhere from Foundation to large-scale distributed programs on the server.

    Watch

  • Write Swift macros

    8:00 a.m.

    Discover how you can use Swift macros to make your codebase more expressive and easier to read. Code along as we explore how macros can help you avoid writing repetitive code and find out how to use them in your app. We’ll share the building blocks of a macro, show you how to test it, and take you through how you can emit compilation errors from macros.

    Watch

Labs

  • SwiftData lab

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

    Request an appointment with an Apple engineer for guidance and conversation about SwiftData, the persistence framework built for Swift.

    Request

  • Swift open hours lab

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

    Have a question about Swift packages, interoperability, and other Swift language features? Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.

    Request

Activities

  • Q&A: Intro to Swift

    Tuesday @ 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.

    Sign up

  • Q&A: SwiftData

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

    Ask Apple engineers about SwiftData, the persistence framework built for Swift during this 1 hour 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: Write Swift macros

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

    Meet Alex, the presenter behind “Write Swift macros,” 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

Sessions

  • 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

  • Meet mergeable libraries

    8:00 a.m.

    Discover how mergeable libraries combine the best parts of static and dynamic libraries to help improve your app’s productivity and runtime performance. Learn how you can enable faster development while shipping the smallest app. We’ll show you how to adopt mergeable libraries in Xcode 15 and share best practices for working with your code.

    Watch

  • Mix Swift and C++

    8:00 a.m.

    Learn how you can use Swift in your C++ and Objective-C++ projects to make your code safer, faster, and easier to develop. We’ll show you how to use C++ and Swift APIs to incrementally incorporate Swift into your app.

    Watch

  • Model your schema with SwiftData

    8:00 a.m.

    Learn how to use schema macros and migration plans with SwiftData to build more complex features for your app. We’ll show you how to fine-tune your persistence with @Attribute and @Relationship options. Learn how to exclude properties from your data model with @Transient and migrate from one version of your schema to the next with ease. To get the most out of this session, we recommend first watching "Meet SwiftData" and "Build an app with SwiftData" from WWDC23.

    Watch

Labs

  • Swift open hours lab

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

    Have a question about Swift packages, interoperability, and other Swift language features? Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.

    Request

  • Swift open hours lab

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

    Have a question about Swift packages, interoperability, and other Swift language features? Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.

    Request

Activities

  • Meet the presenters: Mix Swift and C++

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

    Meet Zoe, Alex, and the team behind “Mix Swift and C++.” Join us for 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

Sessions

  • Beyond the basics of structured concurrency

    8:00 a.m.

    It’s all about the task tree: Find out how structured concurrency can help your apps manage automatic task cancellation, task priority propagation, and useful task-local value patterns. Learn how to manage resources in your app with useful patterns and the latest task group APIs. We’ll show you how you can leverage the power of the task tree and task-local values to gain insight into distributed systems. Before watching, review the basics of Swift Concurrency and structured concurrency by checking out “Swift concurrency: Behind the scenes” and “Explore structured concurrency in Swift” from WWDC21.

    Watch

  • Migrate to SwiftData

    8:00 a.m.

    Discover how you can start using SwiftData in your apps. We’ll show you how to use Xcode to generate model classes from your existing Core Data object models, use SwiftData alongside your previous implementation, or even completely replace your existing solution. Before watching this session, make sure you check out "Meet SwiftData."

    Watch

Labs

  • SwiftData lab

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

    Request an appointment with an Apple engineer for guidance and conversation about SwiftData, the persistence framework built for Swift.

    Request

  • Swift open hours lab

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

    Have a question about Swift packages, interoperability, and other Swift language features? Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.

    Request

Activities

  • Q&A: Intro to Swift

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

    Ask Apple engineers about the latest tools, technologies, and frameworks during this 1 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

  • Dive deeper into SwiftData

    8:00 a.m.

    Learn how you can harness the power of SwiftData in your app. Find out how ModelContext and ModelContainer work together to persist your app’s data. We’ll show you how to track and make your changes manually and use SwiftData at scale with FetchDescriptor, SortDescriptor, and enumerate. To get the most out of this session, we recommend first watching "Meet SwiftData" and "Model your schema with SwiftData" from WWDC23.

    Watch

  • Meet Swift OpenAPI Generator

    8:00 a.m.

    Discover how Swift OpenAPI Generator can help you work with HTTP server APIs whether you’re extending an iOS app or writing a server in Swift. We’ll show you how this package plugin can streamline your workflow and simplify your codebase by generating code from an OpenAPI document.

    Watch

Labs

  • Swift open hours lab

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

    Have a question about Swift packages, interoperability, and other Swift language features? Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.

    Request

  • Swift open hours lab

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

    Have a question about Swift packages, interoperability, and other Swift language features? Request an appointment with an Apple engineer for guidance and conversation about your app, the latest APIs, best practices, and more.

    Request

Activities

  • Q&A: SwiftData

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

    Ask Apple engineers about SwiftData, the persistence framework built for Swift during this 1 hour text-based Q&A. Stop in to request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up