Sessions

  • Ready, set, relay: Protect app traffic with network relays

    8:00 a.m.

    Learn how relays can make your app’s network traffic more private and secure without the overhead of a VPN. We’ll show you how to integrate relay servers in your own app and explore how enterprise networks can use relays to securely access internal resources.

    Watch

  • Sync to iCloud with CKSyncEngine

    8:00 a.m.

    Discover how CKSyncEngine can help you sync people’s CloudKit data to iCloud. Learn how you can reduce the amount of code in your app when you let the system handle scheduling for your sync operations. We’ll share how you can automatically benefit from enhanced performance as CloudKit evolves, explore testing for your sync implementation, and more. To get the most out of this session, you should be familiar with CloudKit and CKRecord types.

    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

  • 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

Labs

  • File systems lab

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

    Want to learn more about FileProvider or other file system APIs? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.

    Request

  • Networking lab

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

    Request an appointment with an Apple engineer for guidance and conversation about network relays, L4S, resumable HTTP uploads, URLSession, the latest networking APIs, best practices, and more.

    Request

Sessions

  • Create seamless experiences with Virtualization

    8:00 a.m.

    Discover the latest updates to the Virtualization framework. We’ll show you how to configure a virtual machine (VM) to automatically resize its display, take you through saving and restoring a running VM, and explore storage and performance options for Virtualization apps running on the desktop or in the data center. To learn more about the Virtualization framework, check out “Create macOS or Linux virtual machines” from WWDC22.

    Watch

  • Discover Calendar and EventKit

    8:00 a.m.

    Discover how you can bring Calendar into your app and help people better manage their time. Find out how to create new events from your app, fetch events, and implement a virtual conference extension. We’ll also take you through some of the changes to calendar access levels that help your app stay connected without compromising the privacy of someone’s calendar data.

    Watch

  • Get started with privacy manifests

    8:00 a.m.

    Meet privacy manifests: a new tool that helps you accurately identify the privacy practices of your app’s dependencies. Find out how third-party SDK developers can use these manifests to share privacy practices for their frameworks. We’ll also share how Xcode can produce a full privacy report to help you more easily represent the privacy practices of all the code in your app.

    Watch

  • Meet Push Notifications Console

    8:00 a.m.

    The Push Notifications Console is the best way to quickly test user notifications in your app. Learn how you can iterate on new ideas quickly by sending notifications directly from the console and analyze delivery logs to learn more about your pushes. We’ll also show you how to generate and validate tokens to successfully authenticate with Apple Push Notification service (APNs). To get the most out of this session, you should have a basic understanding of Apple Push Notification service (APNs) and user notifications.

    Watch

  • Optimize CarPlay for vehicle systems

    8:00 a.m.

    Discover how you can integrate CarPlay into modern vehicle systems. We’ll show you how to adjust CarPlay for any high-resolution display — regardless of configuration or size. Learn how you can use CarPlay-supplied metadata and video streams to show information on additional displays, and find out how advances in wireless connectivity, audio, and video encoding can help prepare your vehicle system for the next generation of CarPlay.

    Watch

  • Verify app dependencies with digital signatures

    8:00 a.m.

    Discover how you can help secure your app’s dependencies. We’ll show you how Xcode can automatically verify any signed XCFrameworks you include within a project. Learn how code signatures work, the benefits they provide to help protect your software supply chain, and how SDK developers can sign their XCFrameworks to help keep your apps secure.

    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

  • CloudKit lab

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

    Request an appointment with an Apple engineer for guidance and conversation about CloudKit.

    Request

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

    Request

  • CallKit and PushToTalk lab

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

    Request an appointment with an Apple engineer for guidance and conversation about CallKit and PushToTalk.

    Request

  • Core Data lab

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

    Request an appointment with an Apple engineer for guidance and conversation about persisting data with Core Data.

    Request

  • Authentication services lab

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

    Request an appointment with an Apple engineer for guidance and conversation about passkeys in iCloud Keychain, iCloud Keychain verification codes, Password AutoFill, SMS-delivered domain-bound codes, ASWebAuthenticationSession, Account Authentication Modification Extensions, and more.

    Request

  • Networking lab

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

    Request an appointment with an Apple engineer for guidance and conversation about network relays, L4S, resumable HTTP uploads, URLSession, the latest networking APIs, best practices, and more.

    Request

Activities

  • Q&A: Networking

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

    Ask Apple engineers about URLSession, Network framework, and more 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: HomeKit, Matter, and Thread

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

    Ask Apple engineers about smart home integration technologies such as HomeKit, Home app, Matter, and Thread networking 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: Core Data

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

    Get your questions about Core Data answered by Apple engineers during this 1 hour text-based Q&A. Request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up

  • Q&A: CloudKit

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

    Get your questions about CloudKit answered by Apple engineers during this 1 hour text-based Q&A. 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

Sessions

  • 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

  • Build robust and resumable file transfers

    8:00 a.m.

    Find out how URLSession can help your apps transfer large files and recover from network interruptions. Learn how to pause and resume HTTP file transfers and support resumable uploads, and explore best practices for using URLSession to transfer files even when your app is suspended in the background.

    Watch

  • Reduce network delays with L4S

    8:00 a.m.

    Streaming video, multiplayer games, and other real-time experiences depend on responsive, low latency networking. Learn how Low Latency, Low Loss, Scalable throughput (L4S) can reduce network delays and improve the overall experience in your app. We’ll show you how to set up and test your app, network, and server with L4S.

    Watch

  • What’s new in Core Data

    8:00 a.m.

    Elevate your app’s data persistence with improvements in Core Data. Learn how you can use composite attributes to create more intuitive data models. We’ll also show you how to migrate your schema through disruptive changes, when to defer intense migrations, and how to avoid overhead on a person’s device. To get the most out of this session, you should be familiar with handling different data types in Core Data as well as the basics of lightweight migration.

    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

  • Networking lab

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

    Request an appointment with an Apple engineer for guidance and conversation about network relays, L4S, resumable HTTP uploads, URLSession, the latest networking APIs, best practices, and more.

    Request

  • Notifications and APNs lab

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

    Request an appointment with an Apple engineer for guidance and conversation about user notifications and Apple Push Notification service (APNs).

    Request

  • File systems lab

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

    Want to learn more about FileProvider or other file system APIs? Request an appointment with an Apple engineer for guidance and conversation about the latest APIs, best practices, and more.

    Request

  • Authentication services lab

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

    Request an appointment with an Apple engineer for guidance and conversation about passkeys in iCloud Keychain, iCloud Keychain verification codes, Password AutoFill, SMS-delivered domain-bound codes, ASWebAuthenticationSession, Account Authentication Modification Extensions, and more.

    Request

Activities

  • Meet the presenters: Sync to iCloud with CKSyncEngine

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

    Meet the presenters of “Sync to iCloud with CKSyncEngine” 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

  • Meet the presenter: What’s new in Core Data

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

    Meet the presenter of “What’s new in Core Data” 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

Labs

  • CloudKit lab

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

    Request an appointment with an Apple engineer for guidance and conversation about CloudKit.

    Request

  • Background Assets lab

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

    Request an appointment with an Apple engineer for guidance and conversation about your app and the Background Assets APIs, best practices, 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

  • Core Data lab

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

    Request an appointment with an Apple engineer for guidance and conversation about persisting data with Core Data.

    Request

  • Networking lab

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

    Request an appointment with an Apple engineer for guidance and conversation about network relays, L4S, resumable HTTP uploads, URLSession, the latest networking APIs, best practices, and more.

    Request

Activities

  • Q&A: Networking

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

    Ask Apple engineers about URLSession, Network framework, and more 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: CloudKit

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

    Get your questions about CloudKit answered by Apple engineers during this 1 hour text-based Q&A. Request guidance on a code-level question, ask for clarifications, or learn from others.

    Sign up