WWDC 2020

An unofficial index of sessions from Apple’s World Wide Developers Conference held June 23 - 26, 2020.

Apple announced macOS Big Sur (11), iOS 14, iPadOS 14, tvOS 14, and watchOS 7. The transition to Apple Silicon (ARM) was announced, a Developer Transition Kit (DTK) was made available to Mac developers. iOS 14 added support for widgets.

This site is not affiliated with Apple. All content is provided for informational purposes only.

Check out Bezel, our iPhone mirroring app →

WWDC20 • Session 101

Keynote

Featured • iOS, macOS, tvOS, watchOS • 1:48:51

The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities to continue creating the most innovative apps in the world. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.

Open in Apple Developer site

WWDC20 • Session 102

Platforms State of the Union

Featured • iOS, macOS, tvOS, watchOS • 1:28:15

Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.

Unlisted on Apple Developer site

WWDC20 • Session 10690

Apple Design Awards

Featured • iOS, macOS, tvOS, watchOS • 1:20

The Apple Design Awards recognize excellence in design and innovation for apps and games across all of Apple’s platforms. Meet the 2020 winners.

Unlisted on Apple Developer site

WWDC20 • Session 20022

The winners of the 2020 Apple Design Awards

Featured • iOS, macOS, tvOS, watchOS • 2:46

Join us as we surprise the 2020 winners of the Apple Design Awards. The Apple Design Awards recognize excellence in design and innovation for apps and games across all of Apple’s platforms.

Open in Apple Developer site

WWDC20 • Session 10004

Expanding automation with the App Store Connect API

App Store and Distribution • iOS, macOS, tvOS, watchOS • 25:40

Make routine tasks in App Store Connect a thing of the past when you automate your workflow with the App Store Connect API. Learn how you can manage more about your presence on the App Store with the App Metadata API, or use the new Power and Performance Metrics and Diagnostics API to access the same aggregate data that drives the Power and Performance analysis tools in Xcode. Whether you’re managing team members and provisioning profiles, adding or removing beta testers, or downloading your sales and financial reports, this comprehensive API makes automation of these processes a snap.

Open in Apple Developer site

WWDC20 • Session 10022

Create a seamless speech experience in your apps

App Store and Distribution • iOS • 8:38

Augment your app’s accessibility experience with speech synthesis: Discover the best times and places to add speech APIs so that everyone who uses your app can benefit. Learn how to use AVSpeechSynthesizer to complement assistive technologies like VoiceOver, and when to implement alternative APIs. And we’ll show you how to route audio to the appropriate source and create apps that integrate speech seamlessly for all who need or want it. To get the most out of this session, you should be familiar with AVFoundation and the basics of speech synthesis. For an overview, watch “AVSpeechSynthesizer: Making iOS Talk.”

Open in Apple Developer site

WWDC20 • Session 10116

VoiceOver efficiency with custom rotors

App Store and Distribution • iOS • 10:51

Discover how you can integrate custom rotors and help people who use VoiceOver navigate complex situations within your app. Learn how custom rotors can help people explore even the most intricate interfaces, explore how to implement a custom rotor, and find out how rotors can improve navigation for someone who relies on VoiceOver. To get the most out of this session, you should be familiar with general accessibility principles and VoiceOver accessibility APIs on iOS and iPadOS. For an overview, watch “Making Apps More Accessible with Custom Actions.”

Open in Apple Developer site

WWDC20 • Session 10117

Accessibility design for Mac Catalyst

App Store and Distribution • iOS, macOS • 21:29

Make your Mac Catalyst app accessible to all — and bring those improvements back to your iPad app. Discover how a great accessible iPad app automatically becomes a great accessible Mac app when adding support for Mac Catalyst. Learn how to further augment your experience with support for mouse and keyboard actions and accessibility element grouping and navigation. And explore how to use new Accessibility Inspector features to test your app and iterate to create a truly great experience for everyone. To get the most out of this session, you should be familiar with Mac Catalyst, UIKit, and basic accessibility APIs for iOS. To get started, check out “Introducing iPad apps for Mac” and "Auditing your apps for accessibility."

Open in Apple Developer site

WWDC20 • Session 10639

What's new in managing Apple devices

App Store and Distribution • iOS, macOS, tvOS • 23:38

We've made significant strides in bringing crucial device management features to macOS. Discover how these features can help you manage your all your devices using the same tools and technologies. Get details on changes coming this year and how they will impact your deployment workflows, as well as some new management capabilities you can use to secure iOS and iPadOS devices in your organization.

Open in Apple Developer site

WWDC20 • Session 10651

What's new in App Store Connect

App Store and Distribution • iOS, macOS, tvOS, watchOS • 22:11

Discover the latest improvements to App Store Connect, your suite of tools to upload, submit, and manage apps on the App Store. Learn about enhancements to the App Store Connect API, in-app purchase and subscriptions, Game Center, and more.

Open in Apple Developer site

WWDC20 • Session 10659

Introducing StoreKit Testing in Xcode

App Store and Distribution • iOS, macOS, tvOS, watchOS • 24:51

Discover StoreKit Testing in Xcode — a local environment for testing your in-app purchases without needing to connect to App Store servers. We’ll show you how to set up a test environment, create a StoreKit configuration file, and prepare to validate receipts locally. We’ll also explain how to test a variety of in-app purchase scenarios and automate those tests with the StoreKitTest framework, and cover the latest improvements to testing in the sandbox environment.

Open in Apple Developer site

WWDC20 • Session 10661

What’s new with in-app purchase

App Store and Distribution • iOS, macOS, tvOS, watchOS • 45:53

Create a great in-app purchase experience for your iPhone, iPad, Mac, and Apple Watch apps. Discover how to handle refunds, integrate new App Store server notifications, and find out how to use receipts and server notifications to manage subscriber status. We’ll also walk you through the latest updates in StoreKit, including in-app purchases on Apple Watch, Family Sharing, SKOverlay, SKAdNetwork, and more.

Open in Apple Developer site

WWDC20 • Session 10671

Architecting for subscriptions

App Store and Distribution • iOS, macOS, tvOS, watchOS • 23:20

Learn how you can build simple entitlement logic to enhance the customer experience. We’ll dive deep into key concepts and provide guidance for architecting your systems to accurately entitle service. You’ll learn best practices for subscription features and how to craft the best customer experience throughout the subscription lifecycle.

Open in Apple Developer site

WWDC20 • Session 10010

Export HDR media in your app with AVFoundation

Developer Tools • iOS, macOS • 23:15

Discover how to author and export high dynamic range (HDR) content in your app using AVFoundation. Learn about high dynamic range and how you can take advantage of it in your app. We’ll show you how to implement feature sets that allow people to export HDR content, go over supported HDR formats, review current restrictions, and explore the Apple platforms that support HDR export.

Open in Apple Developer site

WWDC20 • Session 10020

Make your app visually accessible

Developer Tools • iOS • 16:04

When you design with accessibility in mind, you empower everyone to use your app. Discover how to create an adaptive interface for your app that takes a thoughtful approach to color, provides readable text, and accommodates other visual settings to maintain a great experience throughout. We’ve designed this session like our user interfaces — to be accessible to all. If you’d like to learn even more about accessibility and design, you may also enjoy “Visual Design and Accessibility,” “Accessibility Inspector,” “Building Apps with Dynamic Type,” and “Introducing SF Symbols.”

Open in Apple Developer site

WWDC20 • Session 10057

Identify trends with the Power and Performance API

Developer Tools • iOS, macOS, tvOS, watchOS • 15:12

Track your app’s performance metrics in custom team dashboards, bug reporting systems, and other custom workflows with the Power and Performance Metrics and Diagnostics API. Explore how you can access the same data that drives the Power and Performance analysis tools in Xcode to quickly identify trends and regressions. Learn how to leverage diagnostic signatures and logs — including call stack trees — to prioritize and debug issues. And discover how you can integrate this API with your development team’s existing tools to troubleshoot issues quickly, offering better overall performance for people who use your app.

Open in Apple Developer site

WWDC20 • Session 10076

Diagnose performance issues with the Xcode Organizer

Developer Tools • iOS, macOS, tvOS, watchOS • 11:06

Analyze aggregated power and performance data from multiple versions of your app with just a few clicks. We’ll introduce you to the latest version of the Xcode Organizer and its interactive interface, where you can easily compare and contrast app metrics across releases. Explore disk write diagnostics and scroll hitch metrics, and learn how you can use these to offer better performance, reduce battery consumption, and improve device health for people using your app. If you’d like additional information on the Xcode Organizer and improving power and performance in your app, watch "Improving Battery Life and Performance" from WWDC19. For more on hitches, check out “Eliminate animation hitches with XCTest.”

Open in Apple Developer site

WWDC20 • Session 10077

Eliminate animation hitches with XCTest

Developer Tools • iOS, macOS, tvOS, watchOS • 13:45

Animations can dramatically enhance the user experience of your app, provide a sense of direct manipulation, and help people to better understand the results of their actions. Animation hitches can break that experience. Discover how to use XCTest to detect interruptions to smooth scrolling and animations, and learn how to catch regressions before they affect the people relying on your app.

Open in Apple Developer site

WWDC20 • Session 10078

Why is my app getting killed?

Developer Tools • iOS, macOS • 13:33

Put on your detective’s hat: It’s time to track down those unruly app terminations. We’ll outline the six major reasons apps terminate in the background, and show you how you can use MetricKit to to help you identify key statistics to drive down the rate of terminations. Learn how to prevent problems and recover gracefully from inevitable jetsams, identify any underlying issues, and take actionable measures to fix them. And discover the importance of implementing state restoration to make terminations less jarring — especially where text entry or playback is concerned. MetricKit is a key partner in tracking down these issues. You can learn more about the API in WWDC19’s “Improving Battery Life and Performance,” as well as explore the latest updates in “What’s new in MetricKit.”

Unlisted on Apple Developer site

WWDC20 • Session 10081

What's new in MetricKit

Developer Tools • iOS • 13:44

Quickly detect power and performance regressions and troubleshoot app issues when you adopt MetricKit. Discover the latest trackable metrics for your app, including CPU instructions, animation hitches, and exit reasons. And learn about diagnostics in MetricKit that can help you troubleshoot hangs, crashes, and disk writes.

Open in Apple Developer site

WWDC20 • Session 10091

Write tests to fail

Developer Tools • iOS, macOS, tvOS, watchOS • 17:55

Plan for failure: Design great tests to help you find and diagnose even the toughest bugs. Learn how to improve your automated tests with XCTest to find hidden issues in even the best code. We’ll explain how to prepare your tests for failure to make triaging issues easier, letting you solve interface issues and deliver fixes quickly. To get the most out of this session, you should already be familiar with writing UI tests within the XCTest framework. For more on testing tools, head over to “The suite life of testing”.

Open in Apple Developer site

WWDC20 • Session 10096

Explore Packages and Projects with Xcode Playgrounds

Developer Tools • iOS, macOS, tvOS, watchOS • 14:50

Xcode Playgrounds helps developers explore Swift and framework APIs and provides a scratchpad for rapid experimentation. Learn how Xcode Playgrounds utilizes Xcode's modern build system, provides improved support for resources, and integrates into your projects, frameworks, and Swift packages to improve your documentation and development workflow.

Open in Apple Developer site

WWDC20 • Session 10114

iPad and iPhone apps on Apple silicon Macs

Developer Tools • iOS, macOS • 17:28

Apple silicon Macs can run many iPad and iPhone apps as-is, and these apps will be made available to users on the Mac through the Mac App Store. Discover how iPad and iPhone apps run on Apple silicon Macs, and the factors that make your apps come across better. Learn how to test your app for the Mac, and hear about your options for distribution of your apps.

Open in Apple Developer site

WWDC20 • Session 10147

Distribute binary frameworks as Swift packages

Developer Tools • iOS, macOS, tvOS, watchOS • 7:46

Discover how you can add third-party frameworks to your app and keep them up to date using Swift packages in Xcode. We’ll show you how to author packages that reference frameworks, explain binary targets and how to specify them in your package manifest file, and demonstrate how to compute checksums so that your clients always get the exact binary you expect. Frameworks are distributed in the XCFramework format. For further details on creating and versioning an XCFramework, be sure to watch "Binary Frameworks in Swift" from WWDC19.

Open in Apple Developer site

WWDC20 • Session 10163

Advancements in the Objective-C runtime

Developer Tools • iOS, macOS, tvOS, watchOS • 23:05

Dive into the microscopic world of low-level bits and bytes that underlie every Objective-C and Swift class. Find out how recent changes to internal data structures, method lists, and tagged pointers provide better performance and lower memory usage. We’ll demonstrate how to recognize and fix crashes in code that depend on internal details, and show you how to keep your code unaffected by changes to the runtime.

Open in Apple Developer site

WWDC20 • Session 10164

XCTSkip your tests

Developer Tools • iOS, macOS, tvOS, watchOS • 6:35

Get the test results that matter — and skip the ones that don’t. Discover how you can implement XCTSkip to conditionally avoid tests at runtime. We'll take you through how to return this new test result and better document tests beyond pass and fail within your test bundle. To get the most out of this session, you should be familiar with XCTest and unit/UI testing. Watch “Testing in Xcode” for a primer. Once you’ve learned about XCTSkip, learn more about improvements in testing: Watch "Triage test failures with XCTIssue", "Handle interruptions and alerts in UI tests", "Get your test results faster", and "Eliminate animation hitches with XCTest". To learn how to improve your testing suites, check out "Write tests to fail".

Open in Apple Developer site

WWDC20 • Session 10165

Embrace Swift type inference

Developer Tools • iOS, macOS, tvOS, watchOS • 20:52

Swift uses type inference to help you write clean, concise code without compromising type safety. We’ll show you how the compiler seeks out clues in your code to solve the type inference puzzle. Discover what happens when the compiler can't come to a solution, and find out how Xcode 12 integrates error tracking to help you understand and fix mistakes at compile time.

Open in Apple Developer site

WWDC20 • Session 10167

Safely manage pointers in Swift

Developer Tools • iOS, macOS, tvOS, watchOS • 27:31

Come with us as we delve into unsafe pointer types in Swift. Discover the requirements for each type and how to use it correctly. We’ll discuss typed pointers, drop down to raw pointers, and finally circumvent pointer type safety entirely by binding memory. This session is a follow-up to "Unsafe Swift" from WWDC20. To get the most out of it, you should be familiar with Swift and the C programming language.

Open in Apple Developer site

WWDC20 • Session 10170

What's new in Swift

Developer Tools • iOS, macOS, tvOS, watchOS • 32:18

Join us for an update on Swift. Discover the latest advancements in runtime performance, along with improvements to the developer experience that make your code faster to read, edit, and debug. Find out how to take advantage of new language features like multiple trailing closures. Learn about new libraries available in the SDK, and explore the growing number of APIs available as Swift Packages.

Open in Apple Developer site

WWDC20 • Session 10171

What's new in watchOS design

Developer Tools • watchOS • 16:37

Great watchOS apps are simple and direct. Actions should be discoverable, predictable and relevant. This session covers effective strategies for displaying actions in your watchOS app, whether they are primary buttons that begin core tasks, or contextual actions that might be less commonly used but are still important to offer. For more on implementing actions with the latest UI frameworks, check out "SwiftUI on watchOS."

Open in Apple Developer site

WWDC20 • Session 10175

The details of UI typography

Developer Tools • iOS, macOS, tvOS • 30:33

Learn how to achieve exceptional typography in your app’s user interface that enhances legibility, accessibility, and consistency across Apple platforms. Get up to speed on the latest advancements to the San Francisco font family including the move to variable fonts for accommodating optical sizes and weights. We’ll also share tips about how to get the most out of systems fonts, support dynamic type with custom fonts. For a refresher on the principles behind the San Francisco font family, catch up on “Introducing the New System Fonts” from WWDC15.

Open in Apple Developer site

WWDC20 • Session 10185

Visually edit SwiftUI views

Developer Tools • iOS, macOS, tvOS, watchOS • 5:06

Help your apps be the best versions of themselves: Discover how you can leverage Xcode Previews and SwiftUI to quickly iterate upon and improve your app. Find out how you can use the Previews canvas to build your app from the ground up, and view your interface in different environments like Light or Dark mode or with accessibility features like Dynamic Type enabled. To learn more about SwiftUI Previews, check out “Structure your app for SwiftUI previews” and “Add custom views and modifiers to the Xcode Library”.

Open in Apple Developer site

WWDC20 • Session 10207

SF Symbols 2

Developer Tools • iOS, macOS, tvOS, watchOS • 18:53

SF Symbols make it easy to adopt high-quality, Apple-designed symbols created to look great with San Francisco, the system font for all Apple platforms. Discover how you can use SF Symbols in AppKit, UIKit, and SwiftUI. Learn how to work with SF Symbols in common design tools and how to use them in code. And we’ll walk you through the latest updates, including additions to the repertoire, alignment improvements, changes with right-to-left localization, and multicolor symbols. This session focuses on the latest features in SF Symbols 2. While not required, we recommend watching "Introducing SF Symbols" from WWDC19. If you’re planning to incorporate symbol assets into SwiftUI, you may also benefit from watching “Building Custom Views with SwiftUI."

Open in Apple Developer site

WWDC20 • Session 10214

Port your Mac app to Apple silicon

Developer Tools • macOS • 40:43

Your porting questions, answered: Learn how to recompile your macOS app for Apple silicon Macs and build universal apps that launch faster, have better performance, and support the future of the platform. We’ll show you how Xcode makes it simple to build a universal macOS binary and go through running, debugging, and testing your app. Learn what changes to low-level code you might need to make, find out how to handle in-process and out-of-process plug-ins, and discover some useful tips for working with universal apps. We’ve designed this session for experienced macOS developers who want to get their existing apps running natively on Apple silicon Macs. You can learn more about doing so in the Apple silicon documentation. For more information on the transition to Apple silicon, watch "Explore the new system architecture of Apple silicon Macs", "Bring your Metal app to Apple silicon Macs", and "Optimize Metal Performance for Apple silicon Macs". And to learn how to run your iPhone and iPad apps on Mac, check out "iPad and iPhone apps on Apple silicon Macs".

Open in Apple Developer site

WWDC20 • Session 10217

Explore numerical computing in Swift

Developer Tools • iOS, macOS, tvOS, watchOS • 15:23

Meet Swift Numerics: a new Swift package for computational mathematics. Take a tour of the protocols and types available in the package and find out how you can use them to write generic code. We'll also show you how and when to use the new Float16 type to improve performance and reduce memory usage. To get the most out of this session, you should have some familiarity with mathematics like logarithmic functions and real and imaginary numbers. You should also be familiar with generic programming in Swift. For more background, watch “Swift Generics (Expanded)” from WWDC18.

Open in Apple Developer site

WWDC20 • Session 10219

Build localization-friendly layouts using Xcode

Developer Tools • iOS, macOS • 14:59

Localizing your app is a wonderful way to share your work with a worldwide audience and make it relevant to more cultures and languages. We’ll show you how you can prepare for localization before ever translating a word by building thoughtful layouts for your app. Learn how to structure your UI in Xcode, identify common issues prevalent with more verbose and right-to-left languages, and easily adapt your interfaces to provide a great experience for everyone.

Open in Apple Developer site

WWDC20 • Session 10220

Handle interruptions and alerts in UI tests

Developer Tools • iOS, macOS, tvOS, watchOS • 11:42

Learn how to anticipate potential interruptions to your app’s interface and build smart tests to identify them. UI interruptions often appear indeterminately, typically during onboarding or first launch, which can make them hard to track down. Learn how to understand interruptions, write stronger tests with UI interruption handlers, and manage expected alerts. To learn more about the latest improvements for testing your app in Xcode, check out “XCTSkip your tests”, “Get your test results faster”, and “Triage test failures with XCTIssue”.

Open in Apple Developer site

WWDC20 • Session 10221

Get your test results faster

Developer Tools • iOS, macOS, tvOS, watchOS • 16:23

Improve your testing suite to speed up your feedback loop and get fixes in faster. Learn more about the latest improvements to testing in Xcode, including how to leverage test plans, Xcodebuild updates, and APIs to eliminate never-ending and badly-behaved tests. We’ll explore Test Timeouts and Execution Time Allowances in XCTest, examine device parallelization, and detail recommended practices for balancing performance with clear fault localization. To get the most out of this session, you should be familiar with authoring basic tests using XCTest and managing tests through test plans. For background, watch “Testing in Xcode” from WWDC19.

Open in Apple Developer site

WWDC20 • Session 10643

Build a SwiftUI view in Swift Playgrounds

Developer Tools • iOS, macOS • 14:13

Easily prototype and play around with SwiftUI views when you use them with Swift Playgrounds. We’ll show you how to build a SwiftUI view in a Xcode-compatible playground, and explore tools to help you easily edit and preview your code. For more on Swift Playgrounds, check out our interactive challenge, “Swan's Quest”, and learn to build your own by watching “Create Swift Playgrounds Content for iPad and Mac”.

Open in Apple Developer site

WWDC20 • Session 10644

Use Swift on AWS Lambda with Xcode

Developer Tools • macOS • 12:22

Serverless functions are increasingly becoming popular for running event-driven or otherwise ad-hoc compute tasks in the cloud, allowing developers to more easily scale and control compute costs. Discover how to use the new Swift AWS Lambda Runtime package to build serverless functions in Swift, debug locally using Xcode, and deploy these functions to the AWS Lambda platform. We’ll show you how Swift shines on AWS Lambda thanks to its low memory footprint, deterministic performance, and quick start time.

Open in Apple Developer site

WWDC20 • Session 10647

Become a Simulator expert

Developer Tools • iOS, tvOS, watchOS • 20:13

Simulator runs your iOS, iPadOS, tvOS, or watchOS apps directly on your Mac — no separate device required. We’ll give you a tour of the app's latest tools and features and show you how to sharpen your Simulator skills. Discover how to test pointer and trackpad support, adjust Simulator preferences, and use command line tools like simctl to help you simulate push notifications in a development environment. While you can get a quick overview of Simulator in this session, for more detailed information about the tool you may want to refresh yourself on “Getting the Most Out of Simulator” from WWDC19.

Open in Apple Developer site

WWDC20 • Session 10648

Unsafe Swift

Developer Tools • iOS, macOS, tvOS, watchOS • 22:49

What exactly makes code “unsafe”? Join the Swift team as we take a look at the programming language’s safety precautions — and when you might need to reach for unsafe operations. We’ll take a look at APIs that can cause unexpected states if not used correctly, and how you can write code more specifically to avoid undefined behavior. Learn how to work with C APIs that use pointers and the steps to take when you want to use Swift’s unsafe pointer APIs. To get the most out of this session, you should have some familiarity with Swift and the C programming language. And for more information on working with pointers, check out "Safely Manage Pointers in Swift".

Open in Apple Developer site

WWDC20 • Session 10649

Add custom views and modifiers to the Xcode Library

Developer Tools • iOS, macOS, tvOS, watchOS • 13:10

The Xcode Library is an easy way for you to discover available SwiftUI views and drag and drop them to the Xcode Previews canvas, enabling rich visual editing of your app. We’ll show you how to extend the content of the Xcode Library with your own views and modifiers, optimizing for reusability and discoverability within your app or Swift packages. For more on Xcode Previews, check out "Structure your app for SwiftUI previews", and "Visually edit SwiftUI views".

Open in Apple Developer site

WWDC20 • Session 10654

Create Swift Playgrounds content for iPad and Mac

Developer Tools • iOS, macOS • 8:28

Learn how to create Swift Playgrounds books that work fluidly across both Mac and iPad and help people of all ages explore the fun of coding in Swift. We’ll walk you through how to customize content for each platform while considering platform settings, and help you take advantage of them in your playgrounds while still providing a smooth cross-platform experience. For more on Swift Playgrounds, check out "Build a SwiftUI view in Swift Playgrounds", and try your hand with "Swan’s Quest".

Open in Apple Developer site

WWDC20 • Session 10680

Refine Objective-C frameworks for Swift

Developer Tools • iOS, macOS, tvOS, watchOS • 42:42

Fine-tune your Objective-C headers to work beautifully in Swift. We’ll show you how to take an unwieldy Objective-C framework and transform it into an API that feels right at home. Learn about the suite of annotations you can use to provide richer type information, more idiomatic names, and better errors to Swift. And discover Objective-C conventions you might not have known about that are key to a well-behaved Swift API. To get the most out of this session, you should be familiar with Swift and Objective-C. For more on working with Swift and Objective-C, check out our Developer Documentation and take a look at “Behind the Scenes of the Xcode Build Process” from WWDC18.

Open in Apple Developer site

WWDC20 • Session 10681

Swan's Quest, Chapter 1: Voices in the dark

Developer Tools • iOS, macOS • 14:43

Swift Playgrounds presents "Swan’s Quest,” an interactive adventure in four chapters for all ages. In this chapter, our Hero must navigate a dark cave — and the only way to light the torches is to make them accessible. Learn about VoiceOver and write interesting audio descriptions. You just might help our Hero find their way out… and get a clue for the next challenge. Swan’s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch "Create Swift Playgrounds content for iPad and Mac". And don’t forget to stop by the Developer Forums and let us know what you thought of Swan’s Quest.

Open in Apple Developer site

WWDC20 • Session 10682

Swan's Quest, Chapter 2: A time for tones

Developer Tools • iOS, macOS • 5:17

Swift Playgrounds presents "Swan’s Quest,” an interactive adventure in four chapters for all ages. In this chapter, our Hero needs your help decoding the Swan’s scroll. Call forth the best of your audio abilities on this one — you’re going to need them. Discover how to convert Swift Playgrounds into a tone generator, and you just might help our Hero find the missing message… and move onto the next part of their quest. Swan’s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch "Create Swift Playgrounds content for iPad and Mac". And don’t forget to stop by the Developer Forums and share your solution for our side quest.

Open in Apple Developer site

WWDC20 • Session 10683

Swan's Quest, Chapter 3: The notable scroll

Developer Tools • iOS, macOS • 5:58

Swift Playgrounds presents "Swan’s Quest,” an interactive adventure in four chapters for all ages. Calling all musicians! In this chapter, our Hero has found a mysterious scroll of music, and only you can help decode it. (Don’t worry if you can’t read music, our clever Lizard is standing by to assist. It’s sure to be a note-worthy experience.) By learning a little theory, and mastering time to create tones of different lengths, you just might help our Hero face the music… and move onto the next part of their quest. Swan’s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch "Create Swift Playgrounds content for iPad and Mac". And don’t forget to stop by the Developer Forums and share your solution for our side quest.

Open in Apple Developer site

WWDC20 • Session 10687

Triage test failures with XCTIssue

Developer Tools • iOS, macOS, tvOS, watchOS • 12:37

Put your test failures to work: Learn how to triage and diagnose uncaught issues in your app using the latest testing APIs in Xcode. We’ll show you how to help ease your testing workflow and put failures into context to help you deliver the best quality product. For more information on designing your tests to improve triaging, see “Write tests to fail.” And check out the latest improvements to Xcode’s testing workflow by watching “Get your test results faster”, “Handle interruptions and alerts in UI tests”, and “XCTSkip your tests.”

Open in Apple Developer site

WWDC20 • Session 10969

A conversation with the cast and creators of Mythic Quest: Raven’s Banquet

Featured • iOS, macOS, tvOS, watchOS • 26:00

Ever wondered which is more fun — filming in a hot tub or filming in a VR suit? The cast and creators of the Apple TV+ hit show Mythic Quest: Raven’s Banquet answer questions from the Apple developer community. Join Rob McElhenney (executive producer/co-creator and Ian Grimm), Charlotte Nicdao (Poppy), Imani Hakim (Dana), Danny Pudi (Brad), and Megan Ganz (executive producer/co-creator) as they review one of their favorite scenes and answer submitted questions. Note: Contains adult language. Mythic Quest: Raven’s Banquet is rated TV-MA.

Open in Apple Developer site

WWDC20 • Session 10970

A conversation with Lisa Jackson and former Attorney General Eric Holder

Featured • iOS, macOS, tvOS, watchOS • 22:48

Eric Holder was the 82nd Attorney General of the United States, having served from 2009 to 2015. The first Black American to hold the position, Holder’s six-year tenure also makes him one of the longest-serving occupants of the office. Currently a partner in Covington & Burling, he’s served in government for more than 30 years, including appointments by Presidents Obama, Clinton, and Reagan. Lisa Jackson, Apple’s vice president of Environment, Policy and Social Initiatives, will interview the former Attorney General on the topic of race in America. This wide-ranging discussion will touch on the fight for equal justice, how technology can empower people to change the world for the better, and ways to help in this moment.

Open in Apple Developer site

WWDC20 • Session 10005

What's new in assessment

Frameworks • iOS, macOS • 12:46

It’s now easier than ever to deliver academic tests on the Mac. Learn how education developers can leverage the Automatic Assessment Configuration framework for iPhone, iPad, and Mac to deliver tests and assess students across all devices. And discover how developers can enable restricted features within tests and exams on iOS to accommodate student needs or suit the test content.

Open in Apple Developer site

WWDC20 • Session 10006

Introducing Car Keys

Frameworks • iOS, watchOS • 21:31

You can now store car keys on iPhone or Apple Watch. You no longer have to bring your key fob to unlock and start your car. And with digital keys, it's easy to share them with family or friends, and manage keys remotely. This session is intended for automakers who want to adopt digital car keys in their vehicles. We'll talk about the core feature set including owner pairing, transactions (when you unlock or start your car), key sharing, and key management. Learn about the car key architecture and how it ensures security and privacy. Get information on where to go next for information on hardware and specifications.

Open in Apple Developer site

WWDC20 • Session 10017

Core Data: Sundries and maxims

Frameworks • iOS, macOS • 17:27

Core Data is the central way to durably and persistently store information from your app — and we’re going to show you how to refine that implementation for even faster data ingest and fetching. Discover how you can improve data capture with batch insert, tailor fetch requests to your data needs, and react to notifications about changes in the persistent store. To get the most out of this session, you should know and have interacted with Core Data in the past. For more information on the framework, watch “Making Apps with Core Data.”

Open in Apple Developer site

WWDC20 • Session 10019

App accessibility for Switch Control

Frameworks • iOS • 14:43

Switch Control is a powerful accessibility technology for anyone with very limited mobility. The feature is available natively on iOS, and you can create an even better Switch Control experience in your app with tips, tricks, and a few APIs. We’ll walk you through how people use Switch Control, as well as provide best practices for supporting it in your app effectively. To get the most out of this session, you should be familiar with general accessibility principles and VoiceOver accessibility APIs. Check out "Making Apps More Accessible With Custom Actions," "Writing Great Accessibility Labels, and "VoiceOver: App Testing Beyond The Visuals" for more information.

Open in Apple Developer site

WWDC20 • Session 10026

Lists in UICollectionView

Frameworks • iOS • 16:54

Learn how to build lists and sidebars in your app with UICollectionView. Replace table view appearance while taking advantage of the full flexibility of compositional layout. Explore modular layout options and find out how they can unlock more design options for your apps than ever before. Find out how to combine table view-like lists with custom compositional layouts inside of a single UICollectionView. Discover how to work with lists, create richer cells, and customize your layout to create a well-designed presentation of information within your app. To get the most out of this session, you should have a basic understanding of compositional layouts. Watch “Advances in Collection View Layout” from WWDC19 for more information.

Open in Apple Developer site

WWDC20 • Session 10027

Modern cell configuration

Frameworks • iOS • 29:40

Discover new techniques for configuring collection view and table view cells to quickly build dynamic interfaces in your app. Explore configuration types you can use to easily populate cells with content and apply common styles. Take advantage of powerful APIs to customize the appearance of cells for different states. Find out about patterns and best practices that simplify your code, eliminate bugs, and improve performance.

Open in Apple Developer site

WWDC20 • Session 10028

Meet WidgetKit

Frameworks • iOS, macOS • 23:12

Meet WidgetKit: the best way to bring your app’s most useful information directly to the home screen. We'll show you what makes a great widget and take a look at WidgetKit's features and functionality. Learn how to get started creating a widget, and find out how WidgetKit leverages the power of SwiftUI to provide a stateless experience. Discover how to harness your existing proactive technologies to make sure your widget surfaces relevant material. And create a Timeline that ensures your content is always fresh. For more on creating widgets, check out "Build SwiftUI views for widgets" and "The widgets code-along."

Open in Apple Developer site

WWDC20 • Session 10031

Stacks, Grids, and Outlines in SwiftUI

Frameworks • iOS, macOS, tvOS, watchOS • 19:08

Display detailed data in your SwiftUI apps more quickly and efficiently with improved stacks and new list and outline views. Now available on iOS and iPadOS for the first time, outlines are a new multi-platform tool for expressing hierarchical data that work alongside stacks and lists. Learn how to use new and improved tools in SwiftUI to display more content on screen when using table views, create smooth-scrolling and responsive stacks, and build out list views for content that needs more than a vStack can provide. Take your layout options even further with the new grid view, as well as disclosure groups. To get the most out of this video, we recommend first checking out “SwiftUI App Essentials,” which provides an overview of everything new in SwiftUI for 2020. If you’re brand-new to coding with SwiftUI, we also suggest watching 2019’s “SwiftUI Essentials” talk.

Open in Apple Developer site

WWDC20 • Session 10033

Build SwiftUI views for widgets

Frameworks • iOS, macOS • 20:21

Widgets are bite-sized pieces of information from your app that someone can choose to place on their home screen or Today view. Discover the process of building the views for a widget from scratch using SwiftUI. Brush up on the syntax that you’ll need for widget-specific construction and learn how to incorporate those commands and customize your widget’s interface for a great glanceable experience. To learn more about widgets, be sure to check out "Meet WidgetKit" and "Widgets Code-along".

Open in Apple Developer site

WWDC20 • Session 10034

Widgets Code-along, part 1: The adventure begins

Frameworks • iOS, macOS • 9:04

Take your app on a most wondrous adventure to the home and Today screens of iPhone, iPad, and Mac. Grab the starter project and code along with us! We will guide you through the process of creating a widget for your app from start to finish so that you can provide people with beautiful views and glanceable information in an easily-accessible place. Discover how to create a widget project, learn fundamental concepts for widgets and their structure, configure the widget and its provider, and start exploring timeline concepts. Once you’re finished, travel onward with us to part two of the Widgets Code-along where we’ll learn more about timelines, system intelligence, and configuration.

Open in Apple Developer site

WWDC20 • Session 10035

Widgets Code-along, part 2: Alternate timelines

Frameworks • iOS, macOS • 15:17

Our code-along continues as we help our widget rewrite the future and travel into an alternate timeline. Continue where you left off from Part 1, or traverse time and space and begin with the Part 2 starter project to jump right into the action. Find out how you can integrate system intelligence into your widgets to help them dynamically change at different points during the day and surface the most relevant information. Explore core timeline concepts, support multiple widget families, and learn how to make your widget configurable. Once you’ve helped your widget find its place in time, move on to the third and final part of the Widgets Code-along to discover advanced widget concepts and timelines.

Open in Apple Developer site

WWDC20 • Session 10036

Widgets Code-along, part 3: Advancing timelines

Frameworks • iOS, macOS • 9:05

Take your widget to the next level as we embark upon the third and final stage of the widgets code-along. Pick up where you left off in Part 2 or start with the Part 3 starter project to go warp speed ahead. We’ll explore advanced concepts for widgets, timelines, and configuration. Learn how to load in-process and background URLs and link directly to content within your app. And discover how to create multiple widgets that explore different features within your app, as well as making your widget dynamically configurable. For more on creating great widgets, watch "Build SwiftUI views for widgets”.

Open in Apple Developer site

WWDC20 • Session 10037

App essentials in SwiftUI

Frameworks • iOS, macOS, tvOS, watchOS • 15:28

Thanks to the new App protocol, SwiftUI now supports building entire apps! See how Apps, Scenes, and Views fit together. Learn how easy it is to implement the features people expect from a best-in-class product while saving time and reducing complexity. Easily add expected functionality to your interface using the new commands modifier, and explore the ins and outs of the new WindowGroup API. To get the most out of this session, you should have some experience with SwiftUI. Watch “Introduction to SwiftUI” for a primer. Want more SwiftUI? Take your pick: “What’s new in SwiftUI”, “Data essentials in Swift UI ”, "Stacks, grids, and outlines in SwiftUI", and “Build document-based apps in SwiftUI”.

Open in Apple Developer site

WWDC20 • Session 10039

Build document-based apps in SwiftUI

Frameworks • iOS, macOS • 12:02

Learn how to build a document-based app entirely in SwiftUI! We’ll walk you through the DocumentGroup API and how it composes with your App and Scenes, allowing you to add out-of-the-box support for document management — such as document browsing and standard commands — no heavy lifting required. You’ll learn to set up Universal Type Identifiers as well as gain understanding into what makes a top-notch document-based app. To get the most out of this session, you should first familiarize yourself with building apps in SwiftUI. Check out "App essentials in SwiftUI" to learn more.

Open in Apple Developer site

WWDC20 • Session 10040

Data Essentials in SwiftUI

Frameworks • iOS, macOS, tvOS, watchOS • 36:15

Data is a complex part of any app, but SwiftUI makes it easy to ensure a smooth, data-driven experience from prototyping to production. Discover @State and @Binding, two powerful tools that can preserve and seamlessly update your Source of Truth. We'll also show you how ObservableObject lets you connect your views to your data model. Learn about some tricky challenges and cool new ways to solve them — directly from the experts! To get the most out of this session, you should be familiar with SwiftUI. Watch “App essentials in SwiftUI” and "Introduction to SwiftUI"

Open in Apple Developer site

WWDC20 • Session 10041

What's new in SwiftUI

Frameworks • iOS, macOS, tvOS, watchOS • 27:43

SwiftUI can help you build better and more powerful apps for iPhone, iPad, Mac, Apple Watch, and Apple TV. Learn more about the latest refinements to SwiftUI, including interface improvements like outlines, grids, and toolbars. Take advantage of SwiftUI’s enhanced support across Apple frameworks to enable features like Sign In with Apple. Discover new visual effects, as well as new controls and styles. And find out how the new app and scene APIs enable you to create apps entirely in SwiftUI, as well as custom complications and all new widgets. To get the most out of this session, you should be familiar with SwiftUI. Watch "Introduction to SwiftUI" for a primer.

Open in Apple Developer site

WWDC20 • Session 10043

Build an Action Classifier with Create ML

Frameworks • iOS, macOS • 26:05

Discover how to build Action Classification models in Create ML. With a custom action classifier, your app can recognize and understand body movements in real-time from videos or through a camera. We’ll show you how to use samples to easily train a Core ML model to identify human actions like jumping jacks, squats, and dance moves. Learn how this is powered by the Body Pose estimation features of the Vision Framework. Get inspired to create apps that can provide coaching for fitness routines, deliver feedback on athletic form, and more. To get the most out of this session, you should be familiar with Create ML. For an overview, watch “Introducing the Create ML app.” You can also brush up on differences between Action Classification and sensor-based Activity Classification by watching “Building Activity Classification Models in Create ML.” To learn more about the powerful technology that enables Action Classification features, be sure to check out “Detect Body and Hand Pose with Vision.” And you can see how we combined this classification capability together with other technologies to create our own sample application in “Explore the Action & Vision App.”

Open in Apple Developer site

WWDC20 • Session 10045

Advances in diffable data sources

Frameworks • iOS • 11:55

Diffable data sources dramatically simplify the work involved in managing and updating collection and table views to create dynamic and responsive experiences in your apps. Discover how you can use section snapshots to efficiently build lists and outline collection views for iOS and iPadOS and provide support for implementing the sidebar in an iPad app. We’ll also show you how to simplify cell reordering using UICollectionViewDiffableDataSource to help you streamline your code and build app interfaces more quickly. This session builds on 2019’s “Advances in UI Data Sources,” which you may want to check out first.

Open in Apple Developer site

WWDC20 • Session 10046

Create complications for Apple Watch

Frameworks • watchOS • 20:07

When you add complications to a Watch app, people can access glanceable and up to date information directly from their watch face. We’ll show you how to create and build complications from the ground up and introduce you to Multiple Complications. Learn how to construct timelines, use families and templates, and discover best practices on crafting a thorough complication experience.

Open in Apple Developer site

WWDC20 • Session 10047

Enable encrypted DNS

Frameworks • iOS, macOS • 13:15

When people access the web within your app, their privacy is paramount. Safeguard that information by leveraging encrypted DNS across our platforms to deliver private and secure connectivity within your app. Discover how you can use system DNS settings to connect to encrypted servers or enable encrypted DNS within an app using standard networking APIs. Enabling encrypted DNS is yet another way your app can help preserve privacy for your customers and provide them with a better and more secure experience.

Open in Apple Developer site

WWDC20 • Session 10048

Build complications in SwiftUI

Frameworks • watchOS • 22:52

Spice up your graphic complications on Apple Watch using SwiftUI. We’ll teach you how to use custom SwiftUI views in complications on watch faces like Meridian and Infograph, look at some best practices when creating your complications, and show you how to preview your work in Xcode 12. To get the most out of this session, you should be familiar with the basics of SwiftUI and building complications on Apple Watch. For an overview, watch “Create Complications for Apple Watch” and read “Building watchOS App Interfaces with SwiftUI.” Once you’ve discovered how to build graphic complications in SwiftUI, you can combine this with other watchOS 7 features like multiple complications and Face Sharing to create a watch face packed with personality and customized for people who love your app.

Open in Apple Developer site

WWDC20 • Session 10049

Keep your complications up to date

Frameworks • watchOS • 21:50

Time is of the essence: Discover how your Apple Watch complications can provide relevant information throughout the day and help people get the information they need, when they need it. Learn best practices for capitalizing on your app’s runtime opportunities, incorporating APIs like background app refresh and URLSession, and implementing well-timed push notifications.

Open in Apple Developer site

WWDC20 • Session 10052

Build with iOS pickers, menus and actions

Frameworks • iOS, macOS • 20:21

Build iPhone and iPad apps with fluid interfaces and easily-accessible contextual information. We’ll show you how to integrate the latest UIKit controls into your app to best take advantage of menus, date pickers, page controls, and segmented controllers. Learn how to adopt Menus throughly your user interface, and explore how UIAction can help unify your event handling. Once you’ve learned about these new controls, watch “Design with iOS pickers, menus and actions” to discover how to design great interfaces with these tools and APIs.

Open in Apple Developer site

WWDC20 • Session 10056

Optimize the interface of your Mac Catalyst app

Frameworks • macOS • 37:32

Discover how to tailor your Mac Catalyst app so that it looks and feels even more at home on the Mac by using the new “Optimize Interface for Mac” option in Xcode. Explore new layout and appearance options for Catalyst apps, and learn how they can provide you with graphical performance gains, sharper text, and an interface designed specifically for Apple’s desktops and laptops. We’ll show you how to take advantage of these options and provide best practices for organizing your code when developing for multiple platforms. Developers actively working on a Mac Catalyst project will get the most out of watching this session. If you’re new to Catalyst, we recommend watching “Designing iPad Apps for Mac” and "Introducing iPad Apps for Mac" for an introduction. For more on working with Mac Catalyst, check out "What's new in Mac Catalyst”

Open in Apple Developer site

WWDC20 • Session 10063

Background execution demystified

Frameworks • iOS • 17:05

Are you mystified about why and when your app gets background processing time? No need for a crystal ball! We’ll show you how to tackle the seven major factors that impact background runtime, and how you can integrate background modes that help your app come back to the foreground faster, run more smoothly, and reduce battery drain. Learn about the major factors affecting runtime for your app, the nuances of each opportunistic background mode, and how you can help your apps run more often and stay fresher by minimizing energy and data consumption. For more information on background processing and execution, watch “Advances in App Background Execution” from WWDC19.

Unlisted on Apple Developer site

WWDC20 • Session 10068

What's new in SiriKit and Shortcuts

Frameworks • iOS, watchOS • 12:15

Get a quick overview of everything new in Siri and Shortcuts to help people get more out of your app: We’ll demonstrate how you can design visually rich conversations, feel at home with the operating system by designing for the new compact Siri UI, and provide an overview of all the ways we’ve made it even easier for people to organize and set up actions from your apps.

Open in Apple Developer site

WWDC20 • Session 10071

Evaluate and optimize voice interaction for your app

Frameworks • iOS, tvOS, watchOS • 10:06

Optimize your app for Siri and give people a more natural way to interact with the features of your app. We’ll compare the different Siri technologies and help you identify the right one for you and your needs, show you how to get started with building for conversational interactions, and explore best practices for making your integration truly excel.

Open in Apple Developer site

WWDC20 • Session 10073

Empower your intents

Frameworks • iOS, tvOS, watchOS • 20:18

When you create an intent for your app, you can help people accomplish tasks quickly by using it as part of a shortcut or when asking Siri. Learn how to adopt Siri more easily than ever when you use SiriKit’s in-app intent handling, and how to improve Siri performance with existing Intents app extensions. We'll also show you how to leverage features in SiriKit to improve the experience of using your actions — like including images and subtitles for a rich conversational experience. And find out how to fine tune support for intents in your codebase to make your life as a developer easier.

Open in Apple Developer site

WWDC20 • Session 10074

Decipher and deal with common Siri errors

Frameworks • iOS, tvOS, watchOS • 2:09

“Sorry, there was a problem with the app..." Don’t let Siri errors get you down: Learn how to debug your Siri intents and create great integrations people can use through voice or the Shortcuts app. We’ll look at common intent errors, how to test for them, and the path to a seamless Siri experience for your app.

Open in Apple Developer site

WWDC20 • Session 10083

Integrate your app with Wind Down

Frameworks • iOS, watchOS • 10:59

Discover how you can help people get ready for a good night's sleep by surfacing your app's actions for Wind Down Shortcuts, part of the new Sleep experience. Learn more about how Wind Down works. Find out how you can build intents that expose features in your app like guided meditations, soothing audio stories, or many other categories. And explore how you can surface those features on someone's device before bedtime.

Open in Apple Developer site

WWDC20 • Session 10084

Feature your actions in the Shortcuts app

Frameworks • iOS, watchOS • 10:09

Learn foolproof ways to surface your app’s actions in the Shortcuts app — and help people quickly set up powerful, personalized shortcuts using system intelligence. We’ll detail how to configure your intents to appear in the new Automation Suggestions, explore how the system surfaces your app's actions for people based on their everyday app usage, and show you how you can make sure your app appears in all the right places within the Shortcuts app.

Open in Apple Developer site

WWDC20 • Session 10086

Design for intelligence: Apps, evolved

Frameworks • iOS, macOS, tvOS, watchOS • 7:04

Intelligence is a core part of building a great modern app. App extensions, Siri suggestions, voice, widgets, App Clips — we’ve designed all of these features to help make everyday tasks easier for people who use our platforms. Learn about the origins of the intelligent system experience, and find out how integrating intelligently with the system can help make your app more convenient, relevant, and intuitive, making your features the focus. Learn more about designing for intelligence in the next part of our series, "Discover new opportunities."

Open in Apple Developer site

WWDC20 • Session 10087

Design for intelligence: Make friends with "The System"

Frameworks • iOS, macOS, tvOS, watchOS • 19:36

The building blocks of the intelligent system are simple: Define, learn, execute. Discover how you can use intents to define your app's key features, create donations to help the system learn and make predictions about the future, and implement extensibility to ensure your app is ready to execute at just the right moment. Learn from teams at Apple about how their technologies use intents and donations in different ways, all for the same goal: to make the everyday easier.

Open in Apple Developer site

WWDC20 • Session 10088

Design for intelligence: Discover new opportunities

Frameworks • iOS, macOS, tvOS, watchOS • 5:10

Learn how extensibility is key to surfacing the most important features of your app into new entry points of the operating system. And discover how — by breaking out of the constraints of a monolithic container — your app can see increased engagement through suggestions on the lock screen, in Calendar, and by enabling voice interactions.

Open in Apple Developer site

WWDC20 • Session 10093

Build for the iPadOS pointer

Frameworks • iOS • 22:49

Help people who use iPad with a Magic Keyboard, mouse, trackpad or other input device get the most out of your app. We’ll show you how to add customizations to the pointer on iPad using pointer interaction APIs, create pointer effects for your buttons and custom views, and change the pointer shape in specific areas of your app to highlight them. To learn more about pointer interactions on iPad and to get the most out of this session, we recommend also watching “Design for the iPadOS pointer” and “Handle trackpad and mouse input.”

Open in Apple Developer site

WWDC20 • Session 10094

Handle trackpad and mouse input

Frameworks • iOS • 24:05

Provide a more versatile experience when you optimize your iPad or Mac Catalyst app for indirect input from trackpads and mice. Discover how to make your app responsive to new events from these devices. Learn how to work with pointer movement, enable pointer locking, handle scroll input and trackpad gestures, and accept or reject events on your gesture recognizers. We’ll also show you how to implement advanced features like changing gesture behaviors with keyboard modifiers or pointing device buttons to delight pro users and bring a richer experience to your app. To learn more about pointer-based interactions and to get the most out of this session, we recommend watching “Build for the iPadOS pointer,” “Bring keyboard and mouse gaming to iPad,” and “Support hardware keyboards in your app.”

Open in Apple Developer site

WWDC20 • Session 10095

The Push Notifications primer

Frameworks • iOS, macOS • 11:46

Help people get the most out of your app with push notifications for important events and updates — and by delivering up-to-date data in the background, so that it is ready when they open your app. Discover how you can use notifications and alert people to timely and relevant information. Learn the differences between alert and background notifications, how to adopt them in your apps, and avoid mistakes by using the right APIs for the job.

Open in Apple Developer site

WWDC20 • Session 10097

Advances in UICollectionView

Frameworks • iOS • 9:54

Learn about new features of UICollectionView that make it easier to use and unlock powerful new functionality. We'll show you how to use section snapshots with your diffable data source to create outlines that can expand and collapse, and introduce you to building lists with compositional layout to create UITableView-like interfaces with a collection view. And discover modern techniques for dequeuing cells and configuring their content and styling. To get the most out of this session, you should have a basic understanding of compositional layouts. Watch “Advances in Collection View Layout” from WWDC19 for more information.

Open in Apple Developer site

WWDC20 • Session 10098

What's new in Universal Links

Frameworks • iOS, macOS, watchOS • 23:04

Universal Links help people access your content, whether or not they have your app installed. Get the details on the latest updates for the Universal Links API, including support for Apple Watch and SwiftUI. Learn how you can reduce the size and complexity of your app-site-association file with enhanced pattern matching features like wildcards, substitution variables, and Unicode support. And discover how cached associated domains data will improve the initial launch experience for people using your app.

Open in Apple Developer site

WWDC20 • Session 10099

Explore the Action & Vision app

Frameworks • iOS, macOS • 36:26

It's now easy to create an app for fitness or sports coaching that takes advantage of machine learning — and to prove it, we built our own. Learn how we designed the Action & Vision app using Object Detection and Action Classification in Create ML along with the new Body Pose Estimation, Trajectory Detection, and Contour Detection features in the Vision framework. Explore how you can create an immersive application for gameplay or training from setup to analysis and feedback. And follow along in Xcode with a full sample project. To get the most out of this session, you should have familiarity with the Vision framework and Create ML’s Action Classifier tools. To learn more, we recommend watching “Build an Action Classifier with Create ML,” “Explore Computer Vision APIs,” and “Detect Body and Hand Pose with Vision.” We also recommend exploring the Action & Vision sample project to learn more about adopting these technologies. Whether you are building a fitness coaching app, or exploring new ways of interacting, consider the incredible features that you can build by combining machine learning with the rich set of computer vision features. By bringing Create ML, Core ML, and Vision API together, there's almost no end to the magic you can bring to your app.

Open in Apple Developer site

WWDC20 • Session 10100

Meet Watch Face Sharing

Frameworks • watchOS • 14:25

Show off your watchOS app’s complications and create a watch face worth sharing. Learn how to share watch faces inside your watchOS and iOS apps or host them on the web for anyone to find and download. We’ll also explore best practices for using watch face preview images, and show you how to create a smooth installation experience.

Open in Apple Developer site

WWDC20 • Session 10103

Design great widgets

Frameworks • iOS • 16:04

Widgets elevate timely information from your app to primary locations on iPhone, iPad and Mac. Discover the keys to designing glanceable widgets, developing a strong widget idea, and clearly communicating with content, color, sizing, layout, and typography. If you'd like to learn more about the technical implementation for adding widgets into your app, check out "Get Started with WidgetKit" and our three-part code-along series.

Open in Apple Developer site

WWDC20 • Session 10104

Adopt the new look of macOS

Frameworks • macOS • 28:43

Make over your Mac apps: Discover how you can embrace the new design of macOS Big Sur and adopt its visual hierarchy, design patterns, and behaviors. We’ll explore the latest updates to AppKit around structural items and common controls, and show you how you can adapt more customized interfaces with just a bit of adoption work. And find out how you can incorporate custom accent colors and symbols to further personalize your app. To get the most out of this session, you should be familiar with AppKit and SF Symbols. For additional information on symbols, watch "SF Symbols 2.0”.

Open in Apple Developer site

WWDC20 • Session 10105

Build for iPad

Frameworks • iOS • 23:46

Learn how to improve iPad apps to leverage the increased screen size and additional features of iPadOS, and help people accomplish more with their devices. Discover how you can build detailed multi-column layouts and integrate lists into your app with little adjustment to your existing code. We’ll also explore reducing modality within your views to make it easier to navigate your interface with fewer taps and touches. To get the most out of this session, you should have a general understanding of iPad app layouts and UIKit. For more information, watch “Making Apps Adaptive, Part 1.” And while not necessary, familiarity with UICollectionView may also be helpful. Watch “Advances in Collection View Layout” for an overview. Want to learn more about list creation for your apps? Watch “Lists in UICollectionView”.

Open in Apple Developer site

WWDC20 • Session 10106

Meet Scribble for iPad

Frameworks • iOS • 14:13

Scribble offers a lightweight, ergonomic, and enjoyable way of entering text on iPad with Apple Pencil. Discover how people can take advantage of Scribble and handwritten text in apps that use standard text input controls or that implement a custom text editing experience. You’ll learn how it integrates into TextKit, and when you’ll need to adopt the new UIScribbleInteraction and UIIndirectScribbleInteraction APIs to provide a delightful and consistent experience with Scribble in your app. To get the most out of this session, you should be familiar with UIKit text input controls, as well as keyboard input technologies. To get started, watch “Keyboard Input in iOS”. If you’re building a custom text editor, you should be familiar with the UITextInput protocol, TextKit, and related text input APIs. For more information, we recommend checking out “TextKit Best Practices” and “The Keys to a Better Text Input Experience.” And for design guidelines on pencil-based interaction, check out “Apple Pencil Design Essentials.”

Open in Apple Developer site

WWDC20 • Session 10107

What's new in PencilKit

Frameworks • iOS • 10:25

PencilKit helps power creativity, writing, drawing, and animation in your iPad apps. Explore the latest improvements to our drawing and annotation framework, and discover how you can take advantage of APIs like PKToolPicker, PKCanvasView, and PKStroke to support new features in illustration and writing apps. To get the most out of this session, you should have a basic understanding of PencilKit. If you want to a refresher, “Introduction to PencilKit” from WWDC19 is a great place to start.

Open in Apple Developer site

WWDC20 • Session 10109

Support hardware keyboards in your app

Frameworks • iOS, macOS • 11:34

When people use hardware keyboards with your app, they’re not only getting a more tactile and familiar typing experience — they can quickly navigate or use keyboard shortcuts, too. Discover how you can best support hardware keyboards for your iPadOS and Mac Catalyst apps: We’ll demystify the responder chain and show you best practices for implementing custom keyboard shortcuts. Learn how easy it is to get up and running with common system keyboard shortcuts, use modifier flags with gesture recognizers, and leverage the raw keyboard event API to respond to key down and key up events.

Open in Apple Developer site

WWDC20 • Session 10110

Support local network privacy in your app

Frameworks • iOS, macOS • 12:16

Local network privacy provides added transparency when apps connect to devices on a person's home network. If your app interacts with devices using Bonjour or other local networking protocols, you must add support for local network privacy permissions in iOS 14. Learn more about the new permission flow and follow along as we guide you through the necessary steps to update your app. We’ll also provide you with some best practices to help you create a frictionless privacy experience.

Open in Apple Developer site

WWDC20 • Session 10111

Boost performance and security with modern networking

Frameworks • iOS, macOS • 13:41

Speed up your app and make it more nimble, private and secure with modern networking APIs. Learn about networking protocols like IPv6, HTTP/2, TLS 1.3 and Encrypted DNS, and how incorporating these within your app and server can provide faster performance and reduce both your power consumption and thermal impact. In addition, discover how adopting the latest security protocols can help you better protect privacy within your app. For more information on creating a great networking experience for people using your app, watch “Advances in Networking” and “Optimizing your App for Today’s Internet.” And to learn more about the latest networking APIs on Apple platforms, check out “Enable Encrypted DNS” and “Adopt Local Network Privacy.”

Open in Apple Developer site

WWDC20 • Session 10113

Build local push connectivity for restricted networks

Frameworks • iOS, macOS • 13:45

Leverage local push connectivity and deliver notifications from your application server to devices on networks without an internet connection. Learn how to construct notifications for apps running in restricted network environments, helping people communicate with the same reliability and experience they would expect when connected to the internet. We’ll explore the technical details for this technology, when you might want to use it, and how to implement it in your app.

Open in Apple Developer site

WWDC20 • Session 10115

AutoFill everywhere

Frameworks • iOS, macOS • 10:13

Discover how to implement AutoFill in your app and help people enter their information into fields easily, privately, and securely. Learn how to help the system to give better suggestions that tailor to your app's functionality: offer smart location suggestions within a navigation app, for example, or provide a private way to input contact information into fields from the QuickType bar. In macOS Big Sur, AutoFill has been extended beyond Safari, to apps. Learn about the small changes that you can make to take advantage of this feature and bring convenience, added security, and a frictionless experience to people using your macOS apps. For more on the latest privacy improvements to our platforms, watch “Build trust through better privacy.”

Open in Apple Developer site

WWDC20 • Session 10118

Create App Clips for other businesses

Frameworks • iOS • 19:01

Create App Clips for table reservations, food ordering, and more on behalf of brands, businesses, or services that appear within your app. We’ll show you how you can deliver customized experiences for each business, offering them a unique look, invocation card, and icon — all within a single App Clips binary. Learn best practices for uploading unique metadata, handling links, routing notifications, and keeping track of session states. And discover different types of icons in the context of App Clips, where they appear, and how to customize them. For more on designing and creating App Clips, make sure to watch “Explore App Clips” and “Configure and link your App Clips.”

Open in Apple Developer site

WWDC20 • Session 10119

Introduction to SwiftUI

Frameworks • iOS, macOS, tvOS, watchOS • 54:38

Explore the world of declarative-style programming: Discover how to build a fully-functioning SwiftUI app from scratch as we explain the benefits of writing declarative code and how SwiftUI and Xcode can combine forces to help you build great apps, faster.

Open in Apple Developer site

WWDC20 • Session 10120

Streamline your App Clip

Frameworks • iOS • 20:14

App Clips are best when they provide an “in the moment” experience for people using them, like ordering your favorite refreshing beverage or paying for parking. We’ll share guidelines and best practices for building focused and consistent App Clips, show you how to streamline transaction experiences by taking advantage of technologies like App Clip notifications and location confirmation, and explore how you can help people move from your App Clip over to your full app. To get the most out of this session, we recommend first watching “Explore App Clips” and “Configure and link your App Clips.”

Open in Apple Developer site

WWDC20 • Session 10138

Discover AppleSeed for IT and Managed Software Updates

Frameworks • iOS, macOS, tvOS • 23:13

With AppleSeed for IT, you can help your school or business test pre-release versions of Apple software and provide valuable feedback directly to Apple. We'll guide you through getting started in AppleSeed for IT and provide insight on how to file great feedback collaboratively within your organization using the new Teams feature in Feedback Assistant. You'll also learn more about Managed Software Updates in macOS Big Sur, including how to delay major updates or security and system files for employees’ machines while you certify the release on their systems.

Open in Apple Developer site

WWDC20 • Session 10139

Leverage enterprise identity and authentication

Frameworks • iOS, macOS • 35:06

Empower your organization with the right tools while protecting privacy and security. Discover Apple’s identity management tools for enterprise, and how they can help you create a smoother experience for users when signing in to devices, apps and websites. We’ll show you how to take advantage of Federated Authentication and Single Sign-on extensions, including changes to Apple’s built-in Kerberos extension. And explore our other platform tools for enterprise users, including macOS account types and Shared iPad for Business.

Open in Apple Developer site

WWDC20 • Session 10140

Build location-aware enterprise apps

Frameworks • iOS • 14:15

Develop location-aware enterprise apps for your business and personalize your employee’s everyday experience. Learn how Apple built the Caffe Macs app for its on-campus cafeterias using iBeacons and Location Services and how you can apply these tools and frameworks to your own apps, while preserving employee privacy. From there, discover how you can use localization to deliver a great experience for your international employees.

Open in Apple Developer site

WWDC20 • Session 10142

Build scalable enterprise app suites

Frameworks • iOS • 15:16

Learn how to build focused enterprise apps that work well together. In this session, we’ll introduce you to Apple Retail’s suite of enterprise apps, which help employees interact with customers, track operations, manage stores, and stay connected. Discover how Apple Retail created a unified set of apps by adopting Swift Packages and testing for app scalability. And explore how managing apps in production with configurations can help tailor app suites to different regions and locations.

Open in Apple Developer site

WWDC20 • Session 10143

What's new in Mac Catalyst

Frameworks • macOS • 15:27

Discover the latest updates to Mac Catalyst and find out how you can bring your iPadOS app to the Mac. Explore enhancements to the application lifecycle, integrate new extensions into your apps, and learn how the new look and feel of macOS impacts Mac Catalyst apps. Get a taste of the new Optimized for Mac mode. And learn more about all the improvements — including framework availability and beautiful new designs — that make bringing your iPad app to the Mac easier than ever. To get the most out of this session, you should have a basic familiarity with Mac Catalyst. We recommend you watch “Introducing iPad Apps for Mac” to acquaint yourself. For more on refining your Mac Catalyst app, consider watching “Optimize the interface of your Mac Catalyst app”.

Open in Apple Developer site

WWDC20 • Session 10145

Design for Game Center

Frameworks • iOS, macOS, tvOS • 18:07

Get your game's interface ready for Game Center. We’ll show you how to deliver personalized touches to the GameKit interface that provide a rich experience for players, with features like achievements, leaderboards, and multiplayer gaming. Learn how to customize your game’s access point, design collectible card-style achievements and multiple leaderboards, and adapt your interface for all platforms and orientations. Once you’ve learned about designing for Game Center, learn how to integrate the GameKit framework into your game with “Tap into Game Center” and watch “Bring keyboard and mouse gaming to iPad” and “Advancements in Game Controllers” to discover how to add specialty keyboard controls or game controllers.

Open in Apple Developer site

WWDC20 • Session 10146

Configure and link your App Clips

Frameworks • iOS • 22:56

App Clips are small parts of an app that offer a streamlined, direct experience and help people get what they need at the right time. Learn how you can invoke an App Clip through real-world experiences like App Clip Codes, NFC, and QR codes, or have them appear digitally through apps like Maps or Safari. We’ll show you how to handle links in your App Clip and demonstrate how to set up your associated domains. And discover how you can configure App Clip experiences in App Store Connect, add App Clip banners to your website, and thoroughly test your App Clips through TestFlight. To get the most out of this session, you should have experience using Universal Links and associated domains. For a primer, watch “What’s New in Universal Links” from WWDC19.

Open in Apple Developer site

WWDC20 • Session 10148

Inspect, modify, and construct PencilKit drawings

Frameworks • iOS • 16:03

Make Apple Pencil an even more useful tool for drawing and writing within your app. With PencilKit, you can delve into the strokes, inks, paths, and points that comprise a drawing, use these to build features that use recognition, and modify drawings in response to input. Discover how you can dynamically generate shapes and drawings and learn more about APIs like PKDrawings and PKStrokes. To get the most out of this session, we recommend first checking out “Introducing PencilKit,” which provides an overview of the PencilKit framework in its WWDC19 debut, and WWDC20’s “What's new in PencilKit.”

Open in Apple Developer site

WWDC20 • Session 10149

Structure your app for SwiftUI previews

Frameworks • iOS, macOS, tvOS, watchOS • 33:41

When you use SwiftUI previews during development, you can quickly create apps that are more flexible and maintainable. Discover ways to improve the preview experience by making small tweaks to your project. Find out how to preview multiple files at once, how to manage data flow for previews, and how to use sample data while previewing. We'll also give you strategies for defining view inputs to make them more previewable and testable. To get the most out of this session, you should have some familiarity with SwiftUI. For an introduction to interacting with SwiftUI previews in Xcode, check out "Visually Edit SwiftUI Views" from WWDC20.

Open in Apple Developer site

WWDC20 • Session 10151

What's new in CareKit

Frameworks • iOS, macOS, watchOS • 35:36

Build feature-rich research and care apps with CareKit: Learn about the latest advancements to our health framework, including new views for its modular architecture, improvements to the data store, and tighter integration with other frameworks on iOS. And discover how the open-source community continues to leverage CareKit to allow developers to push the boundaries of digital health — all while preserving privacy.

Open in Apple Developer site

WWDC20 • Session 10152

Use model deployment and security with Core ML

Frameworks • iOS, macOS, tvOS, watchOS • 24:41

Discover how to deploy Core ML models outside of your app binary, giving you greater flexibility and control when bringing machine learning features to your app. And learn how Core ML Model Deployment enables you to deliver revised models to your app without requiring an app update. We’ll also walk you through how you can protect custom machine learning models through encryption, and preview your model performance in Xcode. For more information on working with Core ML, including bringing over models trained in environments like TensorFlow and PyTorch, we also recommend watching "Get your models on device using Core ML Converters.”

Open in Apple Developer site

WWDC20 • Session 10153

Get models on device using Core ML Converters

Frameworks • iOS, macOS, tvOS, watchOS • 31:15

With Core ML you can bring incredible machine learning models to your app and run them entirely on-device. And when you use Core ML Converters, you can incorporate almost any trained model from TensorFlow or PyTorch and take full advantage of the GPU, CPU, and Neural Engine. Discover everything you need to begin converting existing models from other ML platforms and explore how to create custom operations that extend the capabilities of your models. Once you’ve converted a model to Core ML, learn more about deployment strategy for those models by watching “Use model deployment and security with Core ML.”

Open in Apple Developer site

WWDC20 • Session 10156

Control training in Create ML with Swift

Frameworks • macOS • 18:38

With the Create ML framework you have more power than ever to easily develop models and automate workflows. We'll show you how to explore and interact with your machine learning models while you train them, helping you get a better model quickly. Discover how training control in Create ML can customize your training workflow with checkpointing APIs to pause, save, resume, and extend your training process. And find out how you can monitor your progress programmatically using Combine APIs. If you're not already familiar with Create ML and curious about training machine learning models, be sure to watch “Introducing the Create ML App.”

Open in Apple Developer site

WWDC20 • Session 10159

Build an Endpoint Security app

Frameworks • macOS • 41:34

System Extensions improve the reliability and security of macOS. Learn about the modern replacement for Kernel Authorization KPIs and discover tips for making a great security product with the Endpoint Security framework.

Open in Apple Developer site

WWDC20 • Session 10160

Formatters: Make data human-friendly

Frameworks • iOS, macOS, tvOS, watchOS • 15:17

Save yourself time and frustration: When you display data in your app — including dates, times, measurements, names, lists, numbers, or strings — learn how to format it correctly and provide a great experience. We'll walk you through the Formatter APIs as well as how SwiftUI works with stringsdict, and show you how they can help do the heavy lifting of formatting data. Learn about best practices and how to avoid common mistakes.

Open in Apple Developer site

WWDC20 • Session 10162

Design for location privacy

Frameworks • iOS, macOS • 7:30

When someone uses iPhone or iPad, they have control over how their location is shared with the apps they use — including sharing an approximate location rather than precise coordinates. This creates a more private experience across their device, and it impacts all apps that rely on location data or use it to supplement certain elements of their experience. Discover how the designers of the Maps app redesigned elements within the Maps interface to provide people with more privacy. Learn tips, techniques, and strategies for creating an interface where people can share location data comfortably and confidently.

Open in Apple Developer site

WWDC20 • Session 10168

Explore logging in Swift

Frameworks • iOS, macOS, tvOS, watchOS • 17:23

Meet the latest generation of Swift unified logging APIs. Learn how to log events and errors in your app while preserving privacy. Take advantage of powerful yet readable options for formatting data — all without sacrificing performance. And we’ll show you how you can gather and process log messages to help you understand and debug unexpected behavior in your apps.

Open in Apple Developer site

WWDC20 • Session 10169

Swift packages: Resources and localization

Frameworks • iOS, macOS, tvOS, watchOS • 15:42

Bring your resources along for the ride when you organize and share code using Swift packages. Discover how to include assets like images and storyboards in a package and how to access them from code. And learn how to add localized strings to make your code accessible to people around the world. To get the most out of this session, you should be familiar with Swift and packaging code. For an overview, watch “Creating Swift Packages” from WWDC19.

Open in Apple Developer site

WWDC20 • Session 10172

Design great App Clips

Frameworks • iOS • 21:42

App Clips offer fast, convenient ways for people to perform everyday tasks without needing to download or navigate your full app. We'll show you how to identify key elements from your iOS app that make up a great App Clip, design a smooth flow, work with notifications, and provide messaging guidance when encouraging people to download your full app.

Open in Apple Developer site

WWDC20 • Session 10173

Get the most out of Sign in with Apple

Frameworks • iOS, macOS, tvOS, watchOS • 30:47

Sign in with Apple makes it easy for people to sign in to your apps and websites with the Apple ID they already have. Fully integrate Sign in with Apple into your app using secure requests, and by handling state changes and server notifications. We’ll also introduce new APIs that allow you to let existing users switch to Sign in with Apple quickly and easily.

Open in Apple Developer site

WWDC20 • Session 10174

Explore App Clips

Frameworks • iOS • 19:46

Help people experience the right parts of your app at the exact moment they need them. We’ll explain how to design and build an App Clip — a small part of your app that focuses on a specific task — and make it easily discoverable. Learn how to focus your App Clip on short and fast interactions and identify contextually-relevant situations where you can surface it, like a search in Maps or at a real-world location through QR codes, NFC, or App Clip codes. Find out a few key differences between apps and App Clips, and explore how App Clips interact with their corresponding apps. We’ve designed this session to introduce you to App Clips. For more detailed information on designing, building, and implementing App Clips, check out “Create App Clips for other businesses,” “Streamline your App Clip,” and “Configure and link your App Clips.”

Open in Apple Developer site

WWDC20 • Session 10176

Master Picture in Picture on tvOS

Frameworks • tvOS • 18:33

Picture in Picture is coming to Apple TV: With simultaneous video playback and the ability to swap between full screen content and Picture in Picture, you’ve never had more multitasking flexibility within your tvOS app. Discover how you can add AVPictureInPictureController to your project, leverage familiar APIs to create custom playback interfaces, and implement the best playback experience possible for people using your app. We'll also show you how to migrate away from the "swipe up" gesture to activate customOverlayViewController, as AVPlayerViewController now uses that gesture in tvOS 14. To get the most out of this session, you should have a basic understanding of AVKit. For more information, watch "Delivering Intuitive Media Playback with AVKit." We can't wait to see how you take advantage of tvOS’s unique Picture in Picture features with AVPlayerViewController.

Open in Apple Developer site

WWDC20 • Session 10182

What's new in HealthKit

Frameworks • iOS, watchOS • 6:09

HealthKit is an essential framework that integrates first- and third-party health and fitness data to help people manage their personal health information. Learn about HealthKit’s latest updates, which provide read access to electrocardiograms on Apple Watch and log and track over a dozen new symptoms and their severity. We’ll also go through the latest mobility data types like walking speed and step length to help people monitor and understand their mobility over time.

Open in Apple Developer site

WWDC20 • Session 10184

Synchronize health data with HealthKit

Frameworks • iOS, watchOS • 22:22

HealthKit provides you the tools to smartly manage health data anywhere, whether across multiple HealthKit-enabled devices such as iPhone and Apple Watch or with an external server to share data across a care team. In this session, we’ll dive into managing data versions via HealthKit's built-in sync identifier metadata, how to detect changes in health data using an HKAnchoredObjectQuery, and cover best practices for ensuring you're always working with the right data everywhere.

Open in Apple Developer site

WWDC20 • Session 10188

Discover WKWebView enhancements

Frameworks • iOS, macOS • 30:08

WKWebView is the best way to present rich, interactive web content right within your app. Explore new APIs that help you convert apps using WebViews or UIWebViews while adding entirely new capabilities. Learn about better ways to handle JavaScript, fine tune the rendering process, export web content, and more.

Open in Apple Developer site

WWDC20 • Session 10189

Secure your app: threat modeling and anti-patterns

Frameworks • iOS, macOS, tvOS, watchOS • 38:08

It's more important than ever to consider vulnerabilities and potential threats and recognize where you should apply safeguards in your app. Understand how to identify potential risks through threat modeling and how to avoid common anti-patterns. Learn coding techniques and how to take advantage of platform-supplied protections to help you mitigate risk and protect people while they're using your app.

Open in Apple Developer site

WWDC20 • Session 10190

Create quick interactions with Shortcuts on watchOS

Frameworks • iOS, watchOS • 11:35

Shortcuts are a natural fit on Apple Watch, allowing people to get things done with just a tap — even from a complication. Bring your app’s intents to the wrist: We’ll help you optimize your shortcuts performance, understand how intents can be routed from watchOS to iOS, explore the latest interaction and presentation interfaces, and examine how the Shortcuts app manages shortcuts and intents for Apple Watch.

Open in Apple Developer site

WWDC20 • Session 10194

Add configuration and intelligence to your widgets

Frameworks • iOS, macOS • 27:31

Widgets are at their best when they show up on someone’s Home screen or in the Today View at the right time and provide actionable, relevant information. We’ll show you how to build configurable widgets to let people create a personalized Home screen experience, and that take advantage of system intelligence to help people get what they want, when they want it. Learn how to customize your widget’s configuration interface, and how to appear within Siri Suggestions or at the top of a widget Smart Stack based on user behavior or by letting the system know when there's new, timely information. For more on widgets, watch "Meet WidgetKit". And for more on system intelligence, watch the collection "Design for Intelligence."

Open in Apple Developer site

WWDC20 • Session 10197

Broaden your reach with Siri Event Suggestions

Frameworks • iOS, macOS, watchOS • 29:30

Whether you’re hosting event information in your app, on the web, or in an email, Siri Event Suggestions can help people keep track of their commitments — without compromising their privacy. We’ll show you how to set up your reservations so that they automatically show up in the Calendar app and how to work with the Siri Event Suggestions APIs for iOS and Markup for web and email.

Open in Apple Developer site

WWDC20 • Session 10200

Design for intelligence: Meet people where they are

Frameworks • iOS, macOS, tvOS, watchOS • 5:52

Understand what motivates people to use your app — and how you can use system intelligence to help them and achieve your own goals as a developer. We'll take a look at a typical person's journey to better understand how an app can become a key part of their routine — and why some apps just don't stick. Learn how you can provide the right kind of value at the right time to help them in their everyday tasks, and how your app and the system can evolve alongside them.

Open in Apple Developer site

WWDC20 • Session 10204

Create great enterprise apps: A chat with Box's Aaron Levie

Frameworks • iOS, macOS • 21:27

Discover how organizations like Box are adapting to changing conditions in the business world and remote work. Listen to Apple’s Vice President of Cloud Services Mike Abbott and Box CEO and co-founder Aaron Levie chat about the modern working environment, how cloud-based apps are helping people transition to collaborating remotely, and techniques that enterprise developers can use to help their organization innovate in challenging situations.

Open in Apple Developer site

WWDC20 • Session 10205

Design with iOS pickers, menus and actions

Frameworks • iOS • 14:54

Create iPhone and iPad apps that look great and help people move quickly and directly to the information they need. Discover how you can integrate menus into your app for quick access to actions and settings, and learn where and when you should use them in your app. We’ll also walk you through the new Date Picker and Color Picker controls, and show you how to integrate them into your app.

Open in Apple Developer site

WWDC20 • Session 10206

Designed for iPad

Frameworks • iOS, macOS • 29:05

Discover the building blocks for designing a great iPad app: Learn how to minimize use of modal interfaces and leverage the new sidebar to increase efficiency by streamlining navigation and facilitating powerful drag and drop interactions. See how to take advantage of iPad’s versatile interaction opportunities by supporting multitouch, pencil, keyboard, and trackpad. And create adaptive layouts that respond to all size classes and orientation to support a great multitasking experience. These techniques will not only improve your iPad app — they’ll make it easier to create a Mac Catalyst app that truly feels right at home on macOS.

Open in Apple Developer site

WWDC20 • Session 10209

What's new in Core NFC

Frameworks • iOS • 5:51

Core NFC helps you scan and write to NFC tags in your apps, helping people get more from objects like parking meters, scooter rentals, car charging stations, and more. Learn about Core NFC’s support for the ISO15693 protocol and new tag capabilities, and find out more about syntax improvements for Swift.

Open in Apple Developer site

WWDC20 • Session 10210

Modernize PCI and SCSI drivers with DriverKit

Frameworks • macOS • 36:53

Keep code out of the kernel and give your customers a more secure and reliable experience with accessories using DriverKit. Discover how to create low-level drivers that support PCI devices or SCSI controllers. And find out how you can achieve great performance with DriverKit on macOS Big Sur.

Open in Apple Developer site

WWDC20 • Session 10216

What's new in ResearchKit

Frameworks • iOS, macOS, watchOS • 30:48

ResearchKit continues to simplify how developers build research and care apps. Explore how the latest ResearchKit updates expand the boundaries of data researchers can collect. Learn about features like enhanced onboarding, extended options for surveys, and new active tasks. Discover how Apple has partnered with the research community to leverage this framework, helping developers build game-changing apps that empower care teams and the research community.

Open in Apple Developer site

WWDC20 • Session 10222

Create custom apps for employees

Frameworks • iOS • 14:50

Build enterprise apps for your employees to help them solve problems and streamline everyday tasks. See how to build custom apps designed for your workforce. Learn how to identify great mobile use cases, have your employees drive the design process, use key Apple frameworks, and rapidly iterate with Xcode.

Open in Apple Developer site

WWDC20 • Session 10223

Deploy Apple devices using zero-touch

Frameworks • iOS, macOS, tvOS • 17:07

Discover how Apple's system administrators remotely deploy Apple devices to their teams, ensuring a zero-touch deployment. Learn how to configure the setup experience, control and manage devices effectively, and discover practices around security and management.

Open in Apple Developer site

WWDC20 • Session 10604

Shop online with AR Quick Look

Frameworks • iOS • 18:37

AR Quick Look adds a new dimension to online shopping: We'll show you how to easily showcase your products in augmented reality for a "try before you buy" experience. Discover how to display a product banner in AR Quick Look, integrate Apple Pay, or display custom actions like "add to cart". To get the most out of this session, we recommend you familiarize yourself with “Advances in AR Quick Look” from WWDC 2019. Once you’ve discovered the potential of AR Quick Look and Apple Pay to create interactive online shopping experiences, learn more about creating 3D objects and attaching interactions to them by watching “What's new in USD.”

Open in Apple Developer site

WWDC20 • Session 10617

Bring keyboard and mouse gaming to iPad

Frameworks • iOS • 14:03

Level up your iPad games and add in keyboard, mouse, and trackpad controls. Discover how to use the Game Controller framework to augment your existing titles, bring over games from other platforms, or dream up entirely new interaction experiences. Learn how to integrate keyboard and “delta” mouse coordinate events for player motion, and disable pointer system gestures like the Dock or Control Center to take full advantage of full screen gameplay. For further information on adding support for console game controllers like the Xbox Elite Wireless Controller Series 2 and Xbox Adaptive Controller, watch “Advancements in Game Controllers.” And learn more about using UIKit to manage indirect input by checking out “Handle trackpad and mouse input”.

Open in Apple Developer site

WWDC20 • Session 10634

Discover search suggestions for Apple TV

Frameworks • tvOS • 11:17

Searching your tvOS app just got even better. Get ready to explore the new simplified search interface and learn how to integrate it into your app with UISearchController. Support your global audience with the addition of new international keyboards and languages. Discover how to add search suggestions to your interface and update results with suggestions on the fly. And we’ll share some of our favorite tips for adding a great search experience to Apple TV.

Open in Apple Developer site

WWDC20 • Session 10635

Accelerate your app with CarPlay

Frameworks • iOS • 26:19

CarPlay is the smarter, safer way for people to use iPhone in the car. We’ll show you how to build great apps for the car screen, and introduce you to developing CarPlay apps in categories like EV charging, parking, and quick food ordering. We'll also share how existing audio and communication apps can take advantage of improvements to the CarPlay framework to create a more flexible UI.

Open in Apple Developer site

WWDC20 • Session 10640

Design for the iPadOS pointer

Frameworks • iOS • 41:34

Bring the power of the pointer to your iPad app: We’ll show you how Apple's design team approached designing the iPadOS pointer to complement touch input, and how you can customize and refine pointer interactions in your app to make workflows more efficient and gratifying. Discover how the pointer’s adaptive precision enables people to quickly and confidently target interface elements regardless of their size. We’ll also share some best practices on adapting the pointer to complement your app's unique needs including how to select pointer effects and design pointer shapes, integrate trackpad gestures, and keyboard modifiers.

Open in Apple Developer site

WWDC20 • Session 10641

Handle the Limited Photos Library in your app

Frameworks • iOS • 14:17

Access the photos and videos you need for your app while preserving privacy. With the new Limited Photos Library feature, people can directly control which photos and videos an app can access to protect their private content. We’ll explore how this feature may affect your app, and take you through alternatives like PHPicker. Check out “Meet the New Photos Picker” to learn more about PHPicker and how this this fully private picker can help you avoid requiring full Photos Library access in your app.

Open in Apple Developer site

WWDC20 • Session 10642

Build Image and Video Style Transfer models in Create ML

Frameworks • iOS, macOS • 11:47

Bring stylized effects to your photos and videos with Style Transfer in Create ML. Discover how you can train models in minutes that make it easy to bring creative visual features to your app. Learn about the training process and the options you have for controlling the results. And we’ll explore the real-time performance of these models by demonstrating three of them simultaneously in ARKit. To get the most out of this session, you should be familiar with Create ML. For an overview, watch “Introducing the Create ML App.”

Open in Apple Developer site

WWDC20 • Session 10646

What's new in Web Inspector

Frameworks • iOS, macOS, tvOS • 28:08

The Web Inspector makes introspection and debugging simpler than ever. Discover how you can use debugger stepping, editing cookies, and overriding network loaded resources to provide you with powerful development capabilities and help you create faster, more efficient websites.

Open in Apple Developer site

WWDC20 • Session 10650

Sync a Core Data store with the CloudKit public database

Frameworks • iOS, macOS • 18:18

Discover how Core Data can help you adopt the CloudKit public database in your app with as little as one line of code. Learn how to easily manage the flow of data through your app and in and out of CloudKit. We’ll show you how to combine the complementary power of Core Data and the CloudKit public database to allow people to access — and contribute to — data, such as high scores or application templates. To familiarize yourself with the CloudKit Database, check out our “CKDatabase” documentation, and to learn more about CloudKit integration, read “Mirroring a Core Data Store with CloudKit.”

Open in Apple Developer site

WWDC20 • Session 10652

Meet the new Photos picker

Frameworks • iOS • 14:33

Let people select photos and videos to use in your app without requiring full Photo Library access. Discover how the PHPicker API for iOS and Mac Catalyst ensures privacy while providing your app the features you need. PHPicker is the modern replacement for UIImagePickerController. In addition to its privacy-focused approach, the API also provides additional features for your app like search, multi-image selection, and the ability to zoom in or out on on the photo grid. We’ll show you how PHPicker can help most apps avoid asking for direct library access and how you can implement it to improve the overall experience for people interacting with your app.

Open in Apple Developer site

WWDC20 • Session 10653

Detect Body and Hand Pose with Vision

Frameworks • iOS, macOS, tvOS • 24:21

Explore how the Vision framework can help your app detect body and hand poses in photos and video. With pose detection, your app can analyze the poses, movements, and gestures of people to offer new video editing possibilities, or to perform action classification when paired with an action classifier built in Create ML. And we’ll show you how you can bring gesture recognition into your app through hand pose, delivering a whole new form of interaction. To understand more about how you might apply body pose for Action Classification, be sure to also watch the "Build an Action Classifier with Create ML" and "Explore the Action & Vision app" sessions. And to learn more about other great features in Vision, check out the "Explore Computer Vision APIs" session.

Open in Apple Developer site

WWDC20 • Session 10656

Beyond counting steps

Frameworks • iOS, watchOS • 21:05

Move beyond step counting in your app and give people a much richer understanding of their mobility. We’ll detail how you can take advantage of mobility metrics in iOS and watchOS to measure movement in more distinct and actionable ways. Learn about the latest HealthKit APIs for accessing mobility data, strategies for meaningful data aggregation, and how to interpret results for people using your app.

Open in Apple Developer site

WWDC20 • Session 10657

Make apps smarter with Natural Language

Frameworks • iOS, macOS • 41:03

Explore how you can leverage the Natural Language framework to better analyze and understand text. Learn how to draw meaning from text using the framework's built-in word and sentence embeddings, and how to create your own custom embeddings for specific needs. We’ll show you how to use samples to train a custom text classifier or word tagger to extract important pieces of information out of text— all powered by the transfer learning algorithms in Natural Language. Find out how you can create apps that can answer user questions, recognize similarities in text, and find relevant documents, images, and more. To get the most out of this session, you should have a basic understanding of the Natural Language framework. For an overview, watch “Introducing Natural Language Framework” and “Advances in Natural Language Framework.” You can also brush up on model training using Create ML through “Introducing the Create ML App.”

Open in Apple Developer site

WWDC20 • Session 10658

What's new in education

Frameworks • iOS, macOS • 11:00

For over 40 years, Apple has been working with educators to create technologies for students, teachers, and school administrators and help them share in a rich and meaningful learning experience. Explore the breadth of Apple's education technologies, including classroom management apps and tools and developer frameworks for assessment and curriculum integration — and discover how your app can have a critical role in them all.

Open in Apple Developer site

WWDC20 • Session 10660

What's new in location

Frameworks • iOS, macOS, tvOS, watchOS • 26:34

Location technologies are core to delivering context-based services within your app. Discover how the latest privacy controls in Core Location add a whole new dimension to determining position and what that means for your app. We’ll walk you through best practices for implementing these latest location updates and show you how they’re designed to ensure more people get an experience they’re going to love.

Open in Apple Developer site

WWDC20 • Session 10662

What's new in Wallet and Apple Pay

Frameworks • iOS, macOS, watchOS • 14:56

Apple Pay makes it simple to pay for goods and services in your app and on your website. Discover how you can integrate API updates like context-specific button types, contact data formatting, and cross-platform support to make the service more effective for you and people using it. And, if you’re building app clips, adopting Apple Pay can help you unlock new commerce experiences.

Open in Apple Developer site

WWDC20 • Session 10663

What's new for web developers

Frameworks • iOS, macOS, watchOS • 36:04

Explore the latest features and improvements for Safari and WebKit. We’ll walk you through updated web APIs, CSS and media features, JavaScript syntax, and more to help you build great experiences for people when they use your website, home screen web apps, or embedded WebKit views.

Open in Apple Developer site

WWDC20 • Session 10664

Getting started with HealthKit

Frameworks • iOS, macOS, watchOS • 32:11

HealthKit helps you build world-class health and fitness apps by centralizing health data from third-party apps, iPhone, Apple Watch, and external health devices. Discover how you can manage authorization and privacy around Health data, read and write data to the shared Health Store, and use HealthKit’s built-in queries to fetch data and calculate statistics for that data.

Open in Apple Developer site

WWDC20 • Session 10665

Meet Safari Web Extensions

Frameworks • macOS • 27:47

When you create a Safari Web Extension, you can help people get common online tasks done more quickly and efficiently. We’ll show you how to build a new Safari Web Extension and host it on the App Store, as well as how to use the safari-web-extension-converter tool to migrate existing extensions from other web browsers like Chrome, Firefox, or Edge with very little effort.

Open in Apple Developer site

WWDC20 • Session 10666

One-tap account security upgrades

Frameworks • iOS, macOS • 24:06

When you adopt the Account Authentication Modification Extension, you can provide people with fast, easy account security upgrades to use Sign in with Apple and strong passwords in the iCloud Keychain Password Manager. We’ll show you how to add these upgrade flows to your app with the Account Authentication Modification Extension, the AuthenticationServices Framework API, and best practices required for a smooth password transition.

Open in Apple Developer site

WWDC20 • Session 10667

Custom app distribution with Apple Business Manager

Frameworks • iOS, macOS • 21:00

Apple Business Manager is the best way to manage and deploy business apps to your employees and customers. Whether you're a developer, business owner, or IT administrator, we'll showcase the benefits of Custom apps for each role and provide guidance on each step in the process — from app creation to distribution.

Open in Apple Developer site

WWDC20 • Session 10668

Meet Nearby Interaction

Frameworks • iOS • 15:32

The Nearby Interaction framework streams distance and direction between opted-in Apple devices containing the U1 chip. Discover how this powerful combination of hardware and software allow you to create intuitive spatial interactions based on the relative position of two or more devices. We'll walk you through this session-based API and show you how to deliver entirely new interactive experiences — all with privacy in mind.

Open in Apple Developer site

WWDC20 • Session 10669

Handling FHIR without getting burned

Frameworks • iOS, macOS, watchOS • 8:07

Learn how FHIRModels creates native data models for all FHIR resources, provides data validation to enforce resource integrity, and prevents the creation of structurally invalid resources — across multiple versions of the FHIR specification. Whether you're working with clinical data obtained from HealthKit or direct from a clinical system, FHIRModels makes FHIR easy to handle.

Open in Apple Developer site

WWDC20 • Session 10670

Meet Face ID and Touch ID for the web

Frameworks • iOS, macOS • 15:41

Face ID and Touch ID provide a frictionless experience when logging in — and now you can use them on your websites in Safari with the Web Authentication API. Discover how to add this convenient and secure login alternative to your website.

Open in Apple Developer site

WWDC20 • Session 10672

What's new in ClassKit

Frameworks • iOS • 24:47

The ClassKit framework helps you surface educational activities within your app to teachers through the Schoolwork app. Discover how to provide a richer assignment experience for students and teachers through enhanced metadata properties and progress reporting. We’ll also show you how the new ClassKit Catalog APIs decouple management of your content from that of your app and improve overall discoverability.

Open in Apple Developer site

WWDC20 • Session 10673

Explore Computer Vision APIs

Frameworks • iOS, macOS, tvOS • 24:35

Learn how to bring Computer Vision intelligence to your app when you combine the power of Core Image, Vision, and Core ML. Go beyond machine learning alone and gain a deeper understanding of images and video. Discover new APIs in Core Image and Vision to bring Computer Vision to your application like new thresholding filters as well as Contour Detection and Optical Flow. And consider ways to use Core Image for preprocessing and visualization of these results. To learn more about the underlying frameworks see "Vision Framework: Building on Core ML" and "Core Image: Performance, Prototyping, and Python." And to further explore Computer Vision APIs, be sure to check out the "Detect Body and Hand Pose with Vision" and "Explore the Action & Vision app" sessions.

Open in Apple Developer site

WWDC20 • Session 10676

Build trust through better privacy

Frameworks • iOS, macOS • 36:04

Privacy is a more important issue than ever. Learn about Apple’s privacy pillars, our approach to privacy, and how to adopt the latest features on our platforms that can help you earn customer trust, create more personal experiences, and improve engagement. Explore the transparency iOS provides when your app is recording using the microphone or camera, control over location with approximate location, tracking transparency and permissions, and much more.

Open in Apple Developer site

WWDC20 • Session 10677

Build customized ML models with the Metal Performance Shaders Graph

Frameworks • iOS, macOS, tvOS • 39:35

Discover the Metal Performance Shaders (MPS) Graph, which extends Metal's Compute capabilities to multi-dimensional Tensors. MPS Graph builds on the highly tuned library of data parallel primitives that are vital to machine learning and leverages the tremendous power of the GPU. Explore how MPS Graph can help express sophisticated and dynamic neural network training architectures and optimize across them to get acceleration on the GPU. For a deeper understanding of the concepts covered in this session, check out "Metal for Machine Learning” from WWDC19.

Open in Apple Developer site

WWDC20 • Session 10684

Swan's Quest, Chapter 4: The sequence completes

Frameworks • iOS, macOS • 8:07

Swift Playgrounds presents "Swan’s Quest,” an interactive adventure in four chapters for all ages. It’s time for the grand finale: You’ve honed your skills with tones, but in this chapter our Hero needs to sequence multi-part harmony. Discover how to play pitched instruments with MIDI codes, and you just might help our Hero find the rhythm… and complete their quest. Swan’s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch "Create Swift Playgrounds content for iPad and Mac". And don’t forget to stop by the Developer Forums and share your solution for our side quests.

Open in Apple Developer site

WWDC20 • Session 10686

Explore the new system architecture of Apple silicon Macs

Frameworks • macOS • 23:16

Discover how Macs with Apple silicon will deliver modern advantages using Apple's System-on-Chip (SoC) architecture. Leveraging a unified memory architecture for CPU and GPU tasks, Mac apps will see amazing performance benefits from Apple silicon tuned frameworks such as Metal and Accelerate. Learn about new features and changes coming to boot and security, and how these may affect your applications.

Open in Apple Developer site

WWDC20 • Session 10008

Optimize the Core Image pipeline for your video app

Graphics and Games • iOS, macOS, tvOS • 8:37

Explore how you can harness the processing power of Core Image and optimize video performance within your app. We’ll show you how to build your Core Image pipeline for applying effects to your video in your apps: Discover how to reduce your app’s memory footprint when using CIContext, and learn best practices for using AVPlayView or MTKView view classes for video playback with Core Image filters. Additionally, find out why you should write your own custom kernels in the Metal Shading Language, and learn performance tips for optimal usage of Metal command queues in your Core Image pipeline.

Open in Apple Developer site

WWDC20 • Session 10012

Discover ray tracing with Metal

Graphics and Games • iOS, macOS, tvOS • 21:04

Achieve photorealistic 3D scenes in your apps and games through ray tracing — a core part of the Metal graphics framework and Shading Language. Discover the fundamentals of the Metal ray tracing API and Shading Language extensions for ray tracing, find out how to use them in your graphics apps and games, and learn how to take control of your kernels and combine them into a single compute kernel for optimal performance.

Open in Apple Developer site

WWDC20 • Session 10013

Get to know Metal function pointers

Graphics and Games • iOS, macOS, tvOS • 20:31

Metal is a low-level, low-overhead hardware-accelerated graphics framework and shader application programming interface for producing stunning visual effects in applications. Discover how to make your shaders written in Metal Shading Language more programmable and extensible by using function pointers. Learn how to take advantage of this new feature for dynamic flow control in Metal shaders. Discover how to use function pointers to specify custom intersection functions in your ray tracing application. We’ll explain how function pointers allow several compilations models so you can balance GPU pipeline size against runtime performance.

Open in Apple Developer site

WWDC20 • Session 10021

Build Metal-based Core Image kernels with Xcode

Graphics and Games • iOS, macOS • 6:11

Learn how to integrate and load Core Image kernels written in the Metal Shading Language into your application, and discover how you can apply these image filters to create unique effects. Explore how to use Xcode rules and naming conventions for Core Image kernels written in Metal Shading Language. We’ll explain how to best use Core Image APIs effectively and optimally with Metal and the Metal Shading Language.

Open in Apple Developer site

WWDC20 • Session 10089

Discover Core Image debugging techniques

Graphics and Games • iOS, macOS, tvOS • 7:15

Find and fix rendering and optimization issues in your Core Image pipeline with Xcode environment variable. Discover how you can set the environment variable for visualizing your Core Image graphs. You'll learn how to generate Core Image graphs and how to interpret them to discover memory, color, and performance issues and better improve and optimize your Core Image pipeline.

Open in Apple Developer site

WWDC20 • Session 10090

Decode ProRes with AVFoundation and VideoToolbox

Graphics and Games • macOS • 23:39

Make decoding and displaying ProRes content easier in your Mac app: Learn how to implement an optimal graphics pipeline by leveraging AVFoundation and VideoToolbox’s decoding capabilities. We’ll share best practices and performance considerations for your app, show you how to integrate Afterburner cards into your pipeline, and walk through how you can display decoded frames using Metal.

Open in Apple Developer site

WWDC20 • Session 10601

The artist’s AR toolkit

Graphics and Games • iOS, macOS • 28:17

Reality Converter and Reality Composer make preparing augmented reality assets for your iOS or iPadOS app easier than ever. Discover how you can convert existing 3D assets into USDZ, bring them into Reality Composer to create AR experiences, and integrate with an existing Xcode project or export to AR Quick Look. We’ll detail how to work with assets in a variety of popular 3D formats, build and test your AR scenes, and integrate with your artist’s workflow. To get the most out of this session, you should be familiar with USDZ and Reality Composer. Watch “Working with USD” and “Building AR Experiences with Reality Composer” for more. And to get more details about the latest additions to USD for AR, check out “What's new in USD”.

Open in Apple Developer site

WWDC20 • Session 10602

Harness Apple GPUs with Metal

Graphics and Games • iOS, macOS, tvOS • 24:23

Create visually stunning, high-performance apps and games when you combine the power of Apple GPUs with Metal, the modern foundation for GPU-accelerated graphics on Apple platforms. Discover the architecture and capabilities of the Apple GPU and how Metal harnesses its tile-based deferred rendering (TBDR) architecture to achieve measurable performance gains in apps and games. In this session, we’ll discuss the efficiency of Apple GPUs and show how TBDR applies to an array of modern rendering techniques. You should come to the session with a basic knowledge of Metal and graphics rendering. For a great introduction, check out “Modern Rendering with Metal” to orient yourself.

Open in Apple Developer site

WWDC20 • Session 10603

Optimize Metal apps and games with GPU counters

Graphics and Games • iOS, macOS, tvOS • 32:50

GPU counters can help you precisely measure GPU utilization to pinpoint bottlenecks and optimize workloads for your Metal apps and games. We’ll walk you through the tools available in the Metal System Trace instrument and Metal Debugger in Xcode 12 to profile your graphics workload, and show you how to use collected data to discover underused and overworked stages of your GPU pipeline. Discover how you can act on that data to improve your app's capabilities. To get the most out of the session, you should understand the tile-based deferred rendering architecture of Apple GPUs and familiarize yourself with our recommended best practices for performance optimization. For a primer, check out “Delivering optimized Metal apps and games” and “Harness Apple GPUs with Metal.” Once you’ve learned how to act on GPU counter data to optimize your Metal apps, see how you can use those skills to "Bring your Metal app to Apple silicon Macs" and "Optimize Metal Performance for Apple silicon Macs".

Open in Apple Developer site

WWDC20 • Session 10605

Gain insights into your Metal app with Xcode 12

Graphics and Games • iOS, macOS, tvOS • 14:16

Learn how to locate graphics issues in minutes with Metal’s debugging and performance optimization tools in Xcode 12. We’ll show you how to diagnose problems quickly using Metal Debugger. Discover the new summary view, which suggests ways to improve memory usage, bandwidth, performance, and implementation of the Metal API. You should have a basic understanding of Metal to get the most out of this session. For background, watch “Harness Apple GPUs with Metal.”

Open in Apple Developer site

WWDC20 • Session 10611

Explore ARKit 4

Graphics and Games • iOS • 27:37

ARKit 4 enables you to build the next generation of augmented reality apps to transform how people connect with the world around them. We’ll walk you through the latest improvements to Apple’s augmented reality platform, including how to use Location Anchors to connect virtual objects with a real-world longitude, latitude, and altitude. Discover how to harness the LiDAR Scanner on iPad Pro and obtain a depth map of your environment. And learn how to track faces in AR on more devices, including the iPad Air (3rd generation), iPad mini (5th generation), and all devices with the A12 Bionic chip or later that have a front-facing camera. To get the most out of this session, you should be familiar with how your apps can take advantage of LiDAR Scanner on iPad Pro. Watch “Advanced Scene Understanding in AR” for more information. Once you’ve learned how to leverage ARKit 4 in your iOS and iPadOS apps, explore realistic rendering improvements in “What’s New in RealityKit” and other ARKit features like People Occlusion and Motion Capture with “Introducing ARKit 3”.

Open in Apple Developer site

WWDC20 • Session 10612

What's new in RealityKit

Graphics and Games • iOS, macOS • 25:14

RealityKit is Apple’s rendering, animation, physics, and audio engine built from the ground up for augmented reality: It reimagines the traditional 3D renderer to make it easy for developers to prototype and produce high-quality AR experiences. Learn how to effectively implement each of the latest improvements to RealityKit in your app. Discover features like video textures, scene understanding using the LiDAR scanner on iPad Pro, Location Anchors, face tracking, and improved debugging tools. To get the most out of this session, you should understand the building blocks of developing RealityKit-based apps and games. Watch “Introducing RealityKit and Reality Composer” for a primer. For more on how you can integrate Reality Composer into your augmented reality workflow, watch "The artist’s AR toolkit".

Open in Apple Developer site

WWDC20 • Session 10613

What's new in USD

Graphics and Games • iOS, macOS • 24:41

Discover proposed schema and structure updates to the Universal Scene Description (USD) standard. Learn how you can use Reality Composer to build AR content with interactive properties like anchoring, physics, behaviors, 3D text, and spatial audio that exports to USDZ. And, discover streamlined workflows that help you bring newly-created objects into your app. If you're interested to learn more about USDZ as a distribution format, check out "Working with USD.” And for more on creating AR content with Reality Composer, watch “The Artist's AR Toolkit." We’d love to hear feedback about the preliminary schemas. After you watch this session, come join us on the Developer Forums and share your thoughts.

Open in Apple Developer site

WWDC20 • Session 10614

Advancements in Game Controllers

Graphics and Games • iOS, macOS, tvOS • 24:59

Let’s rumble! Discover how you can bring third-party game controllers and custom haptics into your games on iPhone, iPad, Mac, and Apple TV. We’ll show you how to add support for the latest controllers — including Xbox’s Elite Wireless Controller Series 2 and Adaptive Controller — and map your game’s controls accordingly. Learn how you can use the Game Controller framework in tandem with Core Haptics to enable rumble feedback. And find out how you can take your gaming experience to the next level with custom button mapping, nonstandard inputs, and control over specialty features like motion sensors, lights, and battery level. To get the most out of this session, you should be familiar with the Game Controller framework. Check the documentation link for a primer. And if you build games for iPad, be sure to check out "Bring keyboard and mouse gaming to iPad” for a guide on integrating keyboard, mouse, and trackpad inputs into your experience.

Open in Apple Developer site

WWDC20 • Session 10615

Build GPU binaries with Metal

Graphics and Games • iOS, macOS, tvOS • 36:16

Power up your shader pipeline with enhancements to the Metal shader compilation model — all leading to a dramatic reduction in Pipeline State Object (PSO) loading time, especially upon first launch. Learn about explicit PSO caching and sharing of GPU binaries using Metal binary archives and dynamic libraries. And we’ll detail the toolchain to create libraries and improve your shader compilation workflow.

Open in Apple Developer site

WWDC20 • Session 10616

Debug GPU-side errors in Metal

Graphics and Games • iOS, macOS, tvOS • 20:56

Track down even the trickiest GPU-side programming errors with enhanced reporting in Xcode 12. While Metal’s API validation layer can catch most problems in a project, GPU errors can cause a host of difficult-to-debug issues. Get an introduction to GPU-side errors and learn how to find and eliminate problems like visual corruption, infinite loop timeouts, out of bounds memory accesses, nil resource access, or invalid resource residency with Xcode 12. Discover how to enable enhanced command buffer error reporting and shader validation, use them effectively as part of your debugging strategy, and automate them in your production pipeline.

Open in Apple Developer site

WWDC20 • Session 10618

Tap into Game Center: Dashboard, Access Point, and Profile

Graphics and Games • iOS, macOS, tvOS, watchOS • 23:32

Apple’s social gaming network is ready to play. We’ll walk you through the latest updates to Game Center, starting with its in-game interface and all-new player experience. Learn how to integrate GameKit into your app and authenticate players effectively, and discover the Access Point, which brings players into the in-game dashboard. From there, we’ll explore player profiles and their options for privacy. After exploring Game Center’s interface, Dashboard, and player profiles, continue to the next video to learn about Leaderboards, Achievements, and Multiplayer gaming. And for more about preparing your game’s interface for these new capabilities, see “Design for Game Center.”

Open in Apple Developer site

WWDC20 • Session 10619

Tap into Game Center: Leaderboards, Achievements, and Multiplayer

Graphics and Games • iOS, macOS, tvOS, watchOS • 24:53

Level up your Game Center integration and enable players to compare scores on leaderboards, earn valuable achievements, and engage with other players. Organize special events like weekly championships, daily showdowns, or 1-hour competitions using recurring leaderboards. Create up to 100 unique achievements for your game. And we'll show you how to set up real-time or turn-based multiplayer matches for your Game Center players. If you want to learn more about Game Center’s interface, Dashboard, and player profiles, check out “Tap into Game Center: Dashboard, Access Point, and Profile.” And for more about preparing your game’s interface for these new capabilities, see “Design for Game Center.”

Open in Apple Developer site

WWDC20 • Session 10621

Support performance-intensive apps and games

Graphics and Games • iOS • 5:42

iOS and iPadOS provide powerful capabilities to help developers deliver breakthrough apps and games across all device generations. In certain instances, however, demanding apps with exceptional performance requirements may only be able to provide the best experience on devices with an A12 Bionic chip or higher. With Xcode 12, developers can now enable a setting for performance-intensive apps and games to indicate this requirement. We’ll walk you through the narrow circumstances for when to apply this setting and the app distribution trade-offs that must be carefully considered. Before selecting this approach, you should have deep experience in optimizing your apps. Watch “Delivering Optimized Metal Apps and Games” for specific insights into the tools and best practices you can use to make your product work well on all supported devices. For more on creating graphics-intensive experiences for your app or game using Metal, check out “Harness Apple GPUs with Metal”.

Open in Apple Developer site

WWDC20 • Session 10631

Bring your Metal app to Apple silicon Macs

Graphics and Games • macOS • 33:51

Meet the Tile Based Deferred Rendering (TBDR) GPU architecture for Apple silicon Macs — the heart of your Metal app or game’s graphics performance. Learn how you can translate or port your graphics-intensive app over to Apple silicon, and how to take advantage of TBDR and Metal when building natively for the platform. We’ll look at how TBDR compares with the Immediate Mode Rendering pipeline of older Macs, go through common issues you may face when bringing an app or game over, and explore how to offer incredible performance when building with the native SDK. We’ve designed this session in tandem with “Optimize Metal Performance for Apple silicon Macs.” After you’ve watched this session be sure to check that out next.

Open in Apple Developer site

WWDC20 • Session 10632

Optimize Metal Performance for Apple silicon Macs

Graphics and Games • macOS • 45:22

Apple silicon Macs are a transformative new platform for graphics-intensive apps — and we’re going to show you how to fire up the GPU to create blazingly fast apps and games. Discover how to take advantage of Apple’s unique Tile-Based Deferred Rendering (TBDR) GPU architecture within Apple silicon Macs and learn how to schedule workloads to provide maximum throughput, structure your rendering pipeline, and increase overall efficiency. And dive deep with our graphics team as we explore shader optimizations for the Apple GPU shader core. We’ve designed this session in tandem with “Bring your Metal app to Apple silicon Macs,” and recommend you watch that first. For more, watch “Harness Apple GPUs with Metal” to learn how TBDR applies to a variety of modern rendering techniques.

Open in Apple Developer site

WWDC20 • Session 10633

Capture and stream apps on the Mac with ReplayKit

Graphics and Games • iOS, macOS, tvOS • 23:57

Learn how you can integrate ReplayKit into your Mac apps and games to easily share screen recordings or broadcast live audio and visuals online. We’ll show you how to capture screen content, audio, and microphone input inside your Mac apps, and even broadcast your video to a live audience. For more on getting started with this framework in your app, be sure to see “Live Screen Broadcast with ReplayKit” and "What's New with Screen Recording and Live Broadcast" from previous years.

Open in Apple Developer site

WWDC20 • Session 10009

Edit and play back HDR video with AVFoundation

Media • iOS, macOS • 24:01

Find out how you can support HDR editing and playback in your macOS app, and how you can determine if a specific hardware configuration is eligible for HDR playback. We'll show you how to use AVMutableVideoComposition with the built-in compositor and easily edit HDR content, explain how you can use Core Image's built-in image filters to create your own AVMutableVideoComposition, and demonstrate how to create and use a custom compositor to enable HDR editing.

Open in Apple Developer site

WWDC20 • Session 10011

Author fragmented MPEG-4 content with AVAssetWriter

Media • iOS, macOS • 22:10

Transform your audio and video content into fragmented MPEG-4 files for a faster and smoother HLS streaming experience. Learn how to work with the fragmented MPEG-4 format, generate fragmented content from a movie, and set up AVAssetWriter to create fragments for HLS output.

Open in Apple Developer site

WWDC20 • Session 10042

Build SwiftUI apps for tvOS

Media • tvOS • 14:29

Add a new dimension to your tvOS app with SwiftUI. We’ll show you how to build layouts powered by SwiftUI and customize your interface with custom buttons, provide more functionality in your app with a context menu, check if views are focused, and manage default focus. To get the most out of this session, you should be comfortable with SwiftUI. For a primer, watch “Introducing SwiftUI: Building Your First App” and “SwiftUI On All Devices.”

Open in Apple Developer site

WWDC20 • Session 10060

Design high quality Siri media interactions

Media • iOS, tvOS, watchOS • 22:44

Demystify the art of designing Siri experiences for your music and audio apps: We’ll show you how to think about crafting great interactions and how you can provide custom vocabulary so that Siri can respond with more accuracy and personality. We’ll also explain how you can debug common errors and test your intents using the same methods Apple’s own Siri team employs.

Open in Apple Developer site

WWDC20 • Session 10061

Expand your SiriKit Media Intents to more platforms

Media • iOS, tvOS, watchOS • 11:25

Discover how you can enable Siri summoning for your music or audio app using SiriKit Media Intents. We’ll walk you through how to add Siri support to your music, podcast, or other audio service on more of our platforms, including HomePod and Apple TV, so people can start listening by just asking Siri. And learn about new APIs that let you support alternative results, helping people listen more quickly without leaving the Siri interface.

Open in Apple Developer site

WWDC20 • Session 10158

Deliver a better HLS audio experience

Media • iOS, macOS, tvOS, watchOS • 19:56

Discover techniques for streaming high-quality audio to bandwidth-limited networks and new audio codec support. We’ll share some best practices for supporting the xHE-AAC, FLAC, and Apple Lossless Audio audio codecs, including limited support for multichannel AAC.

Open in Apple Developer site

WWDC20 • Session 10224

Meet Audio Workgroups

Media • iOS, macOS • 10:52

Fine-tune your audio app or plug-in for Apple silicon Macs: We’ll show you how to register your realtime threads using Audio Workgroups and make your app sing. Learn more about the power efficiency of System on a Chip (SoC) and how you can take advantage of new APIs to improve the speed and sound of your apps and plug-ins.

Open in Apple Developer site

WWDC20 • Session 10225

Improve stream authoring with HLS Tools

Media • iOS, macOS, tvOS, watchOS • 10:41

Deliver live and on-demand audio and video to iPhone, iPad, Apple Watch, Mac, PC, and Apple TV with HTTP Live Streaming (HLS). Learn about tools and features to help improve the authoring of your HLS streams and provide low-latency delivery and better audio performance to people watching or listening to your content. We’ll also walk you through creating Low-Latency HLS test streams, integrating audio codecs, and creating master playlists.

Open in Apple Developer site

WWDC20 • Session 10226

Record stereo audio with AVAudioSession

Media • iOS • 9:37

Stereo recording is a powerful way to deliver immersive sound to listeners, fans, and family — and your app can use the built-in microphones on iPhone or iPad to record it. Discover how AVAudioSession can help you capture stereo audio from a mobile device, address the new special consideration called “input orientation,” and learn how to adopt this API in your app to provide a better recording experience.

Open in Apple Developer site

WWDC20 • Session 10228

What's new in Low-Latency HLS

Media • iOS, macOS, tvOS, watchOS • 5:54

Apple has added Low-Latency extensions to the HTTP Live Streaming protocol that combine the quality and scalability of HLS with a stream delay of two seconds or less. Learn about the most recent developments in LL-HLS and how it allows you to make your video delivery competitive with broadcast and improve social media integration. For an overview of Low-Latency HLS, watch “Introducing Low-Latency HLS” from WWDC19.

Open in Apple Developer site

WWDC20 • Session 10229

Discover HLS Blocking Preload Hints

Media • iOS, macOS, tvOS, watchOS • 9:26

Learn how to implement Blocking Preload Hints for Low-Latency HLS to reduce delivery latency and improve the reliability of your video and audio streams. Discover how to integrate LL-HLS with CMAF Chunk delivery and unify your delivery across streaming formats.

Open in Apple Developer site

WWDC20 • Session 10230

Optimize live streams with HLS Playlist Delta Updates

Media • iOS, macOS, tvOS, watchOS • 7:33

Discover Playlist Delta Updates, an HLS feature that optimizes the delivery of live streams with large playback windows and lots of metadata. We'll show you how Playlist Delta Updates can reduce overheard when producing live streams, provide higher-quality variants for people with slower connections, and integrate advertising.

Open in Apple Developer site

WWDC20 • Session 10231

Reduce latency with HLS Blocking Playlist Reload

Media • iOS, macOS, tvOS, watchOS • 8:40

Blocking Playlist Reload is a required component of Low-Latency HLS that improves segment discovery time in live streams and addresses the common problem of stale playlists when delivering through an HTTP cache. Learn how to use Blocking Playlist Reload to reduce streaming latency and improve CDN performance for both low-latency and regular live HLS streams.

Open in Apple Developer site

WWDC20 • Session 10232

Adapt ad insertion to Low-Latency HLS

Media • iOS, macOS, tvOS, watchOS • 9:39

Find out how to integrate advertising into your Low-Latency HLS streams through server-side ad insertion. We'll show you how to segment your ad content, and examine how ad insertion works with LL-HLS features such as Blocking Playlist Reload and Blocking Preload Hints. For more information about Blocking Playlist Reload and Preload Hinting, watch "Reduce Latency with HLS Blocking Playlist Reload" and "Discover HLS Blocking Preload Hints."

Open in Apple Developer site

WWDC20 • Session 10636

What's new in streaming audio for Apple Watch

Media • watchOS • 7:11

Deliver a smooth streaming audio experience straight to the wrist. We’ll talk about some of the new things for building great streaming apps unique to Apple Watch. Learn how to integrate more audio formats, deliver streams more efficiently through new codecs, and add encrypted content to expand your app’s media library. This session builds on techniques introduced in “Streaming Audio on watchOS 6” from WWDC19. If you’re new to audio on Apple Watch, we recommend you watch that video for a primer.

Open in Apple Developer site

WWDC20 • Session 10645

Support multiple users in your tvOS app

Media • tvOS • 8:45

Share your living room — not your Apple TV apps. When you support profiles within your app, you can customize your experience for each person who uses Apple TV within the same house. Discover how the “Runs as Current User” feature lets someone interact with your app, download local content, and log into iCloud or Game Center, all without affecting their family or housemates. We’ll show you how to implement this capability in your app, save recent data before switching profiles, handle notifications, and safeguard privacy. To get the most out of this session, you should have a basic understanding of modern tvOS frameworks and controls. Watching “Mastering the Living Room with tvOS” will give you a great overview.

Open in Apple Developer site

WWDC20 • Session 10655

Discover how to download and play HLS offline

Media • iOS • 17:08

Discover how to play HLS audio or video without an internet connection in your app by downloading HLS content for offline consumption using AVFoundation. Explore best practices for working with your HLS content while offline, learn how to use FairPlay Streaming to protect your offline audio and video, and hear updates on our media download policies.

Open in Apple Developer site