Friday

Welcome to the last day of WWDC20. We hope you’re rested and ready to learn more about the latest Apple technologies and frameworks, because we’ve got a lot to share with you.

Design for…

Whether you’re curious about typography in UI design, SF Symbols, accessibility in Mac Catalyst, or designing assets for AR, we’ve got a session for you.

  • WWDC20

SF Symbols 2

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

  • WWDC20

The details of UI typography

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

  • WWDC20

Design for location privacy

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

  • WWDC20

Design great widgets

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

  • WWDC20

Accessibility design for Mac Catalyst

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

Power and performance

Discover tools that can help you identify performance and battery life issues. Learn how to analyze aggregated power and performance data in Xcode with just a few clicks. Track your app's quality by utilizing the new Power and Performances Metrics view in Xcode’s Organizer, or use the Diagnostics API to create custom dashboards and integrate with your bug reporting systems. Find out why apps terminate in the background, and explore how you can use MetricKit to help you identify key statistics to drive down the rate of terminations.

  • WWDC20

Why is my app getting killed?

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

  • WWDC20

What's new in MetricKit

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

  • WWDC20

Identify trends with the Power and Performance API

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

  • WWDC20

Background execution demystified

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

  • WWDC20

Diagnose performance issues with the Xcode Organizer

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

  • WWDC20

Eliminate animation hitches with XCTest

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

Tracking health

Discover the latest improvements to HealthKit, CareKit, and related frameworks to help you deliver world-class health and fitness apps. Learn how you can move beyond step counting in your app and give people a much richer understanding of their mobility.

  • WWDC20

Beyond counting steps

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

  • WWDC20

Handling FHIR without getting burned

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

  • WWDC20

Synchronize health data with HealthKit

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

... And more

Check out the full list of sessions releasing today.

  • WWDC20

Accessibility design for Mac Catalyst

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

  • WWDC20

Add configuration and intelligence to your widgets

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

  • WWDC20

Advancements in the Objective-C runtime

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

  • WWDC20

AutoFill everywhere

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

  • WWDC20

Background execution demystified

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

  • WWDC20

Become a Simulator expert

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

  • WWDC20

Beyond counting steps

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

  • WWDC20

Boost performance and security with modern networking

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

  • WWDC20

Build customized ML models with the Metal Performance Shaders Graph

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

  • WWDC20

Build localization-friendly layouts using Xcode

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

  • WWDC20

Build scalable enterprise app suites

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

  • WWDC20

Build SwiftUI views for widgets

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

  • WWDC20

Capture and stream apps on the Mac with ReplayKit

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

  • WWDC20

Control training in Create ML with Swift

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

  • WWDC20

Core Data: Sundries and maxims

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

  • WWDC20

Create custom apps for employees

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

  • WWDC20

Create quick interactions with Shortcuts on watchOS

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

  • WWDC20

Data Essentials in SwiftUI

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

  • WWDC20

Decipher and deal with common Siri errors

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

  • WWDC20

Deliver a better HLS audio experience

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.

  • WWDC20

Design for location privacy

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

  • WWDC20

Design great widgets

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

  • WWDC20

Diagnose performance issues with the Xcode Organizer

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

  • WWDC20

Discover AppleSeed for IT and Managed Software Updates

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

  • WWDC20

Discover how to download and play HLS offline

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

  • WWDC20

Discover ray tracing with Metal

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

  • WWDC20

Discover search suggestions for Apple TV

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

  • WWDC20

Eliminate animation hitches with XCTest

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

  • WWDC20

Empower your intents

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

  • WWDC20

Feature your actions in the Shortcuts app

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

  • WWDC20

Formatters: Make data human-friendly

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

  • WWDC20

Get models on device using Core ML Converters

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

  • WWDC20

Get to know Metal function pointers

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

  • WWDC20

Handling FHIR without getting burned

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

  • WWDC20

Identify trends with the Power and Performance API

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

  • WWDC20

Integrate your app with Wind Down

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

  • WWDC20

Meet Watch Face Sharing

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

  • WWDC20

Refine Objective-C frameworks for Swift

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

  • WWDC20

Safely manage pointers in Swift

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

  • WWDC20

SF Symbols 2

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

  • WWDC20

Structure your app for SwiftUI previews

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

  • WWDC20

Swan's Quest, Chapter 4: The sequence completes

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

  • WWDC20

Synchronize health data with HealthKit

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

  • WWDC20

The artist’s AR toolkit

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

  • WWDC20

The details of UI typography

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

  • WWDC20

Use Swift on AWS Lambda with Xcode

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

  • WWDC20

VoiceOver efficiency with custom rotors

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

  • WWDC20

What's new in MetricKit

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

  • WWDC20

What's new in Universal Links

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

  • WWDC20

What's new in Web Inspector

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.

  • WWDC20

Why is my app getting killed?

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