2023
WWDC23 · generated catalog
WWDC23 related resources
The 237 resources — documentation, sample projects, guides and downloads — referenced by WWDC23 sessions, grouped by topic. Also available as raw TSV.
Accessibility & Inclusion · 16
- Accessibility — Make your apps accessible to everyone who uses Apple devices.
- Accessibility — Make your SwiftUI apps accessible to everyone, including people with disabilities.
- Accessibility updates — Learn about important changes to Accessibility.
- Audio Unit — Add sophisticated audio manipulation and processing capabilities to your app.
- Creating an audio unit extension — Build an extension by using an Xcode template.
- Diorama — Design scenes for your visionOS app using Reality Composer Pro.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Improving accessibility support in your visionOS app — Update your code to ensure everyone can access your app’s content in
- Media Accessibility — Make your app’s media more accessible by supporting people’s systemwide preferences for video and audio content.
- NSInflectionRule — A rule that affects how an attributed string performs automatic grammatical agreement.
- NSMorphology — A description of the grammatical properties of a string.
- Speech synthesis — Configure voices to speak strings of text.
- Speech Synthesis Markup Language (SSML)
- UIAccessibility — A namespace for accessibility symbols for UIKit apps.
- UISupportsFullScreenInAssistiveAccess — A Boolean value that indicates if an iOS or iPadOS app appears as full screen in Assistive Access.
- XCUIApplication — A proxy that can launch, monitor, and terminate a test application.
AI & Machine Learning · 13
- Core ML — Integrate machine learning models into your app.
- Core ML Converters — Reference documentation on coremltools including Core ML Converters
- Core ML Tools PyTorch Conversion Documentation — Full documentation of coremltools for PyTorch model conversion.
- Create ML — Create machine learning models for use in your app.
- Customizing a PyTorch operation — Implement a custom operation in PyTorch that uses Metal kernels to improve performance.
- DockKit — Interact with accessories that track subjects on camera as they move around.
- Filtering images with MPSGraph FFT operations — Filter an image with MPSGraph fast Fourier transforms using the convolutional theorem.
- Integrating a Core ML Model into Your App — Add a simple model to an app,
- Natural Language — Analyze natural language text and deduce its language-specific metadata.
- Recognizing speech in live audio — Perform speech recognition and transcription on audio captured from the microphone of an iOS device.
- Speech — Perform speech recognition on live or prerecorded audio, and receive transcriptions, alternative interpretations, and confidence levels of the results.
- Vision — Analyze image and video content in your app using computer vision algorithms for object detection, text recognition, and image segmentation.
- VisionKit — Identify and extract information in the environment using the device’s camera, or in images that your app displays.
App Services · 81
- Accessing Calendar using EventKit and EventKitUI — Choose and implement the appropriate Calendar access level in your app.
- Accessing submersion data — Use a water-submersion manager to receive water pressure, temperature, and depth data on Apple Watch Ultra.
- ActivityKit — Share live updates from your app as Live Activities on iPhone, iPad, Apple Watch, and the Mac.
- Adding a search interface to your app — Present an interface that people can use to search for content in your app.
- Adjusting your layout with keyboard layout guide — Respond dynamically to keyboard movement by using the tracking features of the keyboard layout guide.
- Adopting live updates in Core Location — Simplify location delivery using asynchronous events in Swift.
- Adopting system selection UI in custom text views — Incorporate the system text-selection experience into your custom text UI in UIKit.
- Adopting the system text cursor in custom text views — Incorporate the system text cursor into your custom text UI in AppKit.
- Adopting the Verifier API in your iPhone app — Configure and test ID Verifier support in your app for reading mobile documents.
- App Clips — Create a lightweight, in-the-moment experience or demo version for your app that’s instantly available.
- App Intents — Make content and actions discoverable by Apple Intelligence and support system experiences like Siri, Spotlight, Shortcuts, and widgets.
- App Shortcuts — Improve the experience of using your app intents and entities in system experiences like Siri, Spotlight, and the Shortcuts app.
- App Store Guidelines: User Privacy and Data Use
- App Store Server API — Manage your customers’ App Store transactions from your server.
- App Store Server API changelog — Learn about new features and updates in the App Store Server API.
- App Store Server Notifications — Monitor in-app purchase events in real time with server notifications from the App Store.
- App Store Server Notifications changelog — Learn about changes to the App Store Server Notifications service.
- Apple App Store Server Java Library — The Java server library for the App Store Server API and App Store Server Notifications
- Apple App Store Server Node.js Library — The Node.js server library for the App Store Server API and App Store Server Notifications
- Apple App Store Server Python Library — The Python server library for the App Store Server API and App Store Server Notifications
- Apple App Store Server Swift Library — The Swift server library for the App Store Server API and App Store Server Notifications
- Apple Certificate Authority — Apple established the Apple PKI in support of the generation, issuance, distribution, revocation, administration, and management of public/private cryptographic keys that are contained in CA-signed X.509 Certificates.
- AVCam: Building a camera app — Capture photos and record video using the front and rear iPhone and iPad cameras.
- AVFoundation — Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.
- Background Assets — Improve or eliminate the time people wait while your app downloads assets.
- Backyard Birds: Building an app with SwiftData and widgets — Create an app with persistent data, interactive widgets, and an all new in-app purchase experience.
- Beta Testing Made Simple — Beta Testing Made Simple
- Checking IDs with the Verifier API — Read and verify mobile driver’s license, photo ID, and National ID information without any additional hardware.
- Core Location — Obtain the geographic location and orientation of a device.
- Core Motion — Process accelerometer, gyroscope, pedometer, and environment-related events.
- Describing use of required reason API — Ensure your use of covered API is consistent with policy.
- Displaying live data with Live Activities — Display up-to-date data and offer quick interactions in the Dynamic Island, on the Lock Screen, in CarPlay, and on a paired Mac or Apple Watch.
- Downloading essential assets in the background — Fetch the assets your app requires before its first launch using an app extension and the Background Assets framework.
- Establishing a token-based connection to APNs — Secure your communications with Apple Push Notification service (APNs) by using stateless authentication tokens.
- EventKit — Create, view, and edit calendar and reminder events.
- Explore the Human Interface Guidelines for privacy — Explore the Human Interface Guidelines for privacy.
- FocusState — A property wrapper type that can read and write a value that SwiftUI updates
- Generating JSON Web Tokens for API requests — Create JSON Web Tokens signed with your private key to authorize requests for App Store Server API and External Purchase Server API.
- Generating reader tokens for the Verifier API — Configure your server to generate reader tokens to prepare a device for mobile document reading.
- Get Transaction Info — Get information about a single transaction for your app.
- Human Interface Guidelines: App Clips — An App Clip is a lightweight version of your app that lets people perform everyday tasks quickly, without downloading and installing your app.
- Human Interface Guidelines: Keyboards
- Human Interface Guidelines: Live Activities — A Live Activity displays up-to-date information from your app, allowing people to view the progress of events or tasks at a glance.
- In-App Purchase - Promotional offers — Give existing or previous subscribers a free or discounted subscription for a specific duration.
- Learn about app privacy details on the App Store — Learn about app privacy details on the App Store.
- Learn more about AVFoundation — Full featured framework for working with time-based audiovisual media on iOS, macOS, watchOS and tvOS.
- Managing Audio with SiriKit — Control audio playback and handle requests to add media using SiriKit Media Intents.
- Message — An instance for receiving and displaying App Store messages in your app.
- Monitoring location changes with Core Location — Define boundaries and act on user location updates.
- Online Certificate Status Protocol - OCSP — This document specifies a protocol useful in determining the current status of a digital certificate without requiring Certificate Revocation Lists (CRLs).
- onlyFailures — A Boolean value that indicates whether the response includes only notifications that failed to reach your server.
- Privacy manifest files — Describe the data your app or third-party SDK collects and the required reasons APIs it uses.
- SafeAreaRegions — A set of symbolic safe area regions.
- Sending notification requests to APNs — Transmit your remote notification payload and device token information to Apple Push Notification service (APNs).
- Sending push notifications using command-line tools — Use basic macOS command-line tools to send push notifications to Apple Push Notification service (APNs).
- Setting up StoreKit Testing in Xcode — Prepare your test environment to test in-app purchases with data you configure locally.
- ShazamKit — Find information about a specific audio recording when a segment of it’s part of captured sound in the Shazam catalog or your custom catalog.
- Siri Event Suggestions — Provide users with current, actionable information connected to a reservation.
- SiriKit — Empower users to interact with their devices through voice, intelligent suggestions, and personalized workflows.
- Starting and updating Live Activities with ActivityKit push notifications — Use ActivityKit to receive push tokens and to remotely start, update, and end your Live Activity with ActivityKit notifications.
- status — The status of an auto-renewable subscription at the time the App Store signs the notification.
- StoreKit — Support In-App Purchases and interactions with the App Store.
- StoreKit views — Display a customizable In-App Purchase store using StoreKit views for SwiftUI.
- Submit feedback
- Supporting promoted In-App Purchases in your app — Display promoted In-App Purchases on your product page and handle purchases that users initiate on the App Store.
- Testing at all stages of development with Xcode and the sandbox — Verify your implementation of In-App Purchases by testing your code throughout its development.
- Testing failing subscription renewals and In-App Purchases — Verify that your app handles failed subscription renewals that are in the billing retry or billing grace period states, as well as failed In-App Purchases.
- Testing In-App Purchases with sandbox — Test your implementation of In-App Purchases using real product information and server-to-server transactions in the sandbox environment.
- Turn on Family Sharing for in-app purchases — Apps that offer auto-renewable subscriptions and nonconsumable in-app purchases can enable Family Sharing, which will allow users to share their purchase with up to five additional family members.
- Turn on Family Sharing for in-app purchases in App Store Connect
- UIDocument — An abstract base class for managing discrete portions of your app’s data.
- UIDocumentViewController — A view controller that manages and presents a document stored locally or in the cloud.
- UIKit updates — Learn about important changes to UIKit.
- UIMutableTraits — A mutable container of traits.
- UITraitDefinition — A type representing a trait in a trait collection.
- Universal Links for Developers
- Verifying the origin of your XCFrameworks — Discover who signed a framework, and take action when that changes.
- Vision — Analyze image and video content in your app using computer vision algorithms for object detection, text recognition, and image segmentation.
- VisionKit — Identify and extract information in the environment using the device’s camera, or in images that your app displays.
- watchOS updates — Learn about important changes to watchOS.
- WidgetKit — Extend the reach of your app by creating widgets, watch complications, Live Activities, and controls.
App Store, Distribution & Marketing · 28
- App Store Server API — Manage your customers’ App Store transactions from your server.
- App Store Server API changelog — Learn about new features and updates in the App Store Server API.
- App Store Server Notifications — Monitor in-app purchase events in real time with server notifications from the App Store.
- App Store Server Notifications changelog — Learn about changes to the App Store Server Notifications service.
- Apple App Store Server Java Library — The Java server library for the App Store Server API and App Store Server Notifications
- Apple App Store Server Node.js Library — The Node.js server library for the App Store Server API and App Store Server Notifications
- Apple App Store Server Python Library — The Python server library for the App Store Server API and App Store Server Notifications
- Apple App Store Server Swift Library — The Swift server library for the App Store Server API and App Store Server Notifications
- Apple Certificate Authority — Apple established the Apple PKI in support of the generation, issuance, distribution, revocation, administration, and management of public/private cryptographic keys that are contained in CA-signed X.509 Certificates.
- Backyard Birds: Building an app with SwiftData and widgets — Create an app with persistent data, interactive widgets, and an all new in-app purchase experience.
- Beta Testing Made Simple — Beta Testing Made Simple
- Generating JSON Web Tokens for API requests — Create JSON Web Tokens signed with your private key to authorize requests for App Store Server API and External Purchase Server API.
- Get Transaction Info — Get information about a single transaction for your app.
- In-App Purchase - Promotional offers — Give existing or previous subscribers a free or discounted subscription for a specific duration.
- Message — An instance for receiving and displaying App Store messages in your app.
- Online Certificate Status Protocol - OCSP — This document specifies a protocol useful in determining the current status of a digital certificate without requiring Certificate Revocation Lists (CRLs).
- onlyFailures — A Boolean value that indicates whether the response includes only notifications that failed to reach your server.
- Setting up StoreKit Testing in Xcode — Prepare your test environment to test in-app purchases with data you configure locally.
- status — The status of an auto-renewable subscription at the time the App Store signs the notification.
- StoreKit — Support In-App Purchases and interactions with the App Store.
- StoreKit views — Display a customizable In-App Purchase store using StoreKit views for SwiftUI.
- Submit feedback
- Supporting promoted In-App Purchases in your app — Display promoted In-App Purchases on your product page and handle purchases that users initiate on the App Store.
- Testing at all stages of development with Xcode and the sandbox — Verify your implementation of In-App Purchases by testing your code throughout its development.
- Testing failing subscription renewals and In-App Purchases — Verify that your app handles failed subscription renewals that are in the billing retry or billing grace period states, as well as failed In-App Purchases.
- Testing In-App Purchases with sandbox — Test your implementation of In-App Purchases using real product information and server-to-server transactions in the sandbox environment.
- Turn on Family Sharing for in-app purchases — Apps that offer auto-renewable subscriptions and nonconsumable in-app purchases can enable Family Sharing, which will allow users to share their purchase with up to five additional family members.
- Turn on Family Sharing for in-app purchases in App Store Connect
Audio & Video · 16
- AirPlay-Enabled TVs and Video Accessories
- Apple HEVC Stereo Video Interoperability Profile
- AVFoundation — Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.
- AVQueuePlayer — An object that plays a sequence of player items.
- Cinematic — Integrate playback and editing of assets captured in Cinematic mode into your app.
- Getting Started with HLS Interstitials
- Human Interface Guidelines: SharePlay
- Learn more about AVFoundation — Full featured framework for working with time-based audiovisual media on iOS, macOS, watchOS and tvOS.
- Media playback — Manage the playback of media assets and interstitial content, independent of how you present that content in your interface.
- Playing custom audio with your own player — Construct an audio player to play your custom audio data, and optionally take advantage of the advanced features of AirPlay 2.
- ScreenCaptureKit — Filter and select screen content and stream it to your app.
- SharePlay for Developers
- ShazamKit — Find information about a specific audio recording when a segment of it’s part of captured sound in the Shazam catalog or your custom catalog.
- Supporting AirPlay in your app — Set up your app to use AirPlay to send content wirelessly.
- Supporting Continuity Camera in your tvOS app — Capture high-quality photos, video, and audio in your Apple TV app by connecting
- Video Contour Map Payload Metadata within the QuickTime Movie File Format
Business & Education · 10
- Apple Business Manager User Guide — Apple Business Manager User Guide
- Apple Configurator User Guide for iPhone
- Apple Configurator User Guide for Mac — Learn how to use Apple Configurator to create and install configuration profiles on your iPhone, iPad, or Apple TV.
- Apple School Manager User Guide — Apple School Manager User Guide
- Device Management — Manage your organization’s devices remotely.
- Device Management Client Schema on GitHub
- Mobile Device Management Protocol Reference
- Passkeys overview
- Shortcuts User Guide for Mac — A shortcut is a quick way to get one or more tasks done with your apps. The Shortcuts app lets you create your own shortcuts with multiple steps.
- Support - Apple Platform Deployment — Apple devices integrate hardware, software, apps, and services to let you manage your deployment projects easily. Get the control and flexibility you want by using Apple School Manager or Apple Business Manager and your chosen mobile device management solution.
Design · 9
- App Shortcuts — Improve the experience of using your app intents and entities in system experiences like Siri, Spotlight, and the Shortcuts app.
- Apple Design Resources
- Displaying live data with Live Activities — Display up-to-date data and offer quick interactions in the Dynamic Island, on the Lock Screen, in CarPlay, and on a paired Mac or Apple Watch.
- Human Interface Guidelines: App Shortcuts
- Human Interface Guidelines: Live Activities — A Live Activity displays up-to-date information from your app, allowing people to view the progress of events or tasks at a glance.
- Human Interface Guidelines: watchOS — When people glance at their Apple Watch, they know they can access essential information and perform simple, timely tasks whether they’re stationary or in motion.
- Human Interface Guidelines: Widgets — HIG
- Keeping a widget up to date — Plan your widget’s timeline to show timely, relevant information using
- WidgetKit — Extend the reach of your app by creating widgets, watch complications, Live Activities, and controls.
Developer Tools · 50
- Achieving smooth frame rates with a Metal display link — Pace rendering with minimal input latency while providing essential information to the operating system for power-efficient rendering, thermal mitigation, and the scheduling of sustainable workloads.
- Adding a web development tool to Safari Web Inspector — Expand the built-in Safari Web Inspector to include your custom tool, augmenting developers’ options for inspecting, testing, and debugging webpages.
- Analyzing responsiveness issues in your shipping app — Identify responsiveness issues your users encounter, and use the hang and hitch data in Xcode Organizer to determine which issues are most important to fix.
- Analyzing the performance of your visionOS app — Use the RealityKit Trace template in Instruments to evaluate and improve the performance of your visionOS app.
- Applying temporal antialiasing and upscaling using MetalFX — Reduce render workloads while increasing image detail with MetalFX.
- Calling APIs Across Language Boundaries — Use a variety of C++ APIs in Swift – and vice-versa – across multiple targets and frameworks in an Xcode project.
- Configuring webhooks in Xcode Cloud — Configure webhooks that connect Xcode Cloud to other services and tools.
- Configuring your first Xcode Cloud workflow — Set up your project or workspace to use Xcode Cloud and adopt continuous integration and delivery.
- Configuring your project to use mergeable libraries — Use mergeable dynamic libraries to get app launch times similar to static linking in release builds, without losing dynamically linked build times in debug builds.
- Creating a performance plan for your visionOS app — Identify your app’s performance and power goals and create a plan to measure and assess them.
- Developing a workflow strategy for Xcode Cloud — Review how you can best create custom Xcode Cloud workflows to refine your continuous integration and delivery practice.
- Distributing your app for beta testing and releases — Release your app to beta testers and users.
- DocC — Produce rich API reference documentation and interactive tutorials for your app, framework, or package.
- Download the game porting toolkit — Use the game porting toolkit to eliminate months of up-front work and evaluate how well your game could run on the Mac before writing any code.
- Download the Metal shader converter (Mac and Windows) — Metal shader converter provides tools to convert existing DXIL shaders, compiled from HLSL, to Metal and take full advantage of Apple silicon performance with support for all shader stages, simplified shader conversion pipelines, and faster build times.
- Environment variable reference — Review predefined environment variables you use in custom build scripts.
- Evolving Swift Project Workgroups
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Game Controller — Support hardware game controllers in your game.
- Get started with Metal shader converter — This document describes the IR conversion process, explains the binding model, synchronization considerations, and reflection capabilities, then provides general guidance and examples.
- Improving app responsiveness — Create a user experience that feels responsive by removing hangs and hitches from your app.
- Improving code assessment by organizing tests into test plans — Control the information you receive from your tests at different stages in the software engineering process by creating and configuring test plans.
- Including notes for testers with a beta release of your app — Add text files to your Xcode project to provide notes to beta testers about what to test.
- Localization — Expand the market for your app by supporting multiple languages and regions.
- Logging — Capture telemetry from your app for debugging and performance analysis using the unified logging system.
- Making dependencies available to Xcode Cloud — Review dependencies and make them available to Xcode Cloud before you configure your project to use Xcode Cloud.
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- MetalFX — Boost your Metal app’s performance by upscaling lower-resolution content to save GPU time.
- Mixing Languages in an Xcode project — Use C++ APIs in Swift – and Swift APIs in C++ – in a single framework target, and consume the framework’s APIs in a separate app target.
- Mixing Swift and C++ — This document is the reference guide describing how to mix Swift and C++. It describes how C++ APIs get imported into Swift, and provides examples showing how various C++ APIs can be used in Swift. It also describes how Swift APIs get exposed to C++, and provides examples showing how the exposed Swift APIs can be used from C++.
- Modern rendering with Metal — Use advanced Metal features such as indirect command buffers, sparse textures, and variable rate rasterization to implement complex rendering techniques.
- Reality Converter and USDZ Tools — Reality Converter and USDZ Tools
- Safari Release Notes — Learn about changes for Safari and Safari View Controller for iOS, iPadOS, macOS, and in visionOS; WKWebView for iOS, iPadOS, macOS, watchOS, and in visionOS; and Web Inspector on macOS.
- Safari Technology Preview — Safari Technology Preview
- Submit feedback
- Swift CMake Examples
- Swift Distributed Tracing - Repository
- Swift Evolution — The list of Swift Evolution proposals.
- Swift OpenAPI Generator package plugin — Generate Swift client and server code from an OpenAPI document.
- Swift OpenAPI Generator Runtime — This library provides common abstractions and helper functions used by the client and server code generated by Swift OpenAPI Generator.
- The Future of Foundation
- URLSession Transport for Swift OpenAPI Generator — A client transport that uses the URLSession type from the Foundation framework to perform HTTP operations. Use the transport with client code generated by Swift OpenAPI Generator.
- USDZ schemas for AR — Add augmented reality functionality to your 3D content using USDZ schemas.
- Web Inspector Reference — Web Inspector Documentation
- WebKit Open Source Project — WebKit Open Source Project
- Writing custom build scripts — Extend your Xcode Cloud workflows with custom build scripts that perform custom tasks or install additional tools.
- Xcode Cloud workflow reference — Configure metadata, start conditions, actions, post-actions, and more to create custom Xcode Cloud workflows.
- Xcode Cloud Workflows and Builds — Automate reading Xcode Cloud data, managing workflows, and starting builds.
- Xcode updates — Learn about important changes to Xcode.
- XCUIApplication — A proxy that can launch, monitor, and terminate a test application.
Essentials · 46
- Achieving smooth frame rates with a Metal display link — Pace rendering with minimal input latency while providing essential information to the operating system for power-efficient rendering, thermal mitigation, and the scheduling of sustainable workloads.
- ActivityKit — Share live updates from your app as Live Activities on iPhone, iPad, Apple Watch, and the Mac.
- Adopting SwiftData for a Core Data app — Persist data in your app intuitively with the Swift native persistence framework.
- App Store Guidelines: User Privacy and Data Use
- Apple Design Resources
- Building a document-based app using SwiftData — Code along with the WWDC presenter to transform an app with SwiftData.
- Customizing workouts with WorkoutKit — Create, preview, and sync workouts for use in the Workout app on Apple Watch.
- Describing use of required reason API — Ensure your use of covered API is consistent with policy.
- Diorama — Design scenes for your visionOS app using Reality Composer Pro.
- Displaying live data with Live Activities — Display up-to-date data and offer quick interactions in the Dynamic Island, on the Lock Screen, in CarPlay, and on a paired Mac or Apple Watch.
- Distributing your app for beta testing and releases — Release your app to beta testers and users.
- Download the game porting toolkit — Use the game porting toolkit to eliminate months of up-front work and evaluate how well your game could run on the Mac before writing any code.
- Download the Metal shader converter (Mac and Windows) — Metal shader converter provides tools to convert existing DXIL shaders, compiled from HLSL, to Metal and take full advantage of Apple silicon performance with support for all shader stages, simplified shader conversion pipelines, and faster build times.
- Evolving Swift Project Workgroups
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Game Controller — Support hardware game controllers in your game.
- HealthKit — Access and share health and fitness data while maintaining the user’s privacy and control.
- Hello World — Use windows, volumes, and immersive spaces to teach people about the Earth.
- Human Interface Guidelines: Live Activities — A Live Activity displays up-to-date information from your app, allowing people to view the progress of events or tasks at a glance.
- Human Interface Guidelines: watchOS — When people glance at their Apple Watch, they know they can access essential information and perform simple, timely tasks whether they’re stationary or in motion.
- Including notes for testers with a beta release of your app — Add text files to your Xcode project to provide notes to beta testers about what to test.
- Learn about app privacy details on the App Store — Learn about app privacy details on the App Store.
- Localization — Expand the market for your app by supporting multiple languages and regions.
- MapKit — Display map or satellite imagery within your app, call out points of interest, and determine placemark information for map coordinates.
- MapKit for SwiftUI — MapKit for SwiftUI allows you to build map-centric views and apps across Apple platforms. You can design expressive and highly interactive Maps with minimal code by composing views, using ViewBuilders and view modifiers.
- Playing haptics — Playing haptics can engage people’s sense of touch and bring their familiarity with the physical world into your app or game.
- Privacy manifest files — Describe the data your app or third-party SDK collects and the required reasons APIs it uses.
- Reality Converter and USDZ Tools — Reality Converter and USDZ Tools
- Safari Release Notes — Learn about changes for Safari and Safari View Controller for iOS, iPadOS, macOS, and in visionOS; WKWebView for iOS, iPadOS, macOS, watchOS, and in visionOS; and Web Inspector on macOS.
- Starting and updating Live Activities with ActivityKit push notifications — Use ActivityKit to receive push tokens and to remotely start, update, and end your Live Activity with ActivityKit notifications.
- Submit feedback
- Swift CMake Examples
- Swift Evolution — The list of Swift Evolution proposals.
- Swift OpenAPI Generator package plugin — Generate Swift client and server code from an OpenAPI document.
- Swift OpenAPI Generator Runtime — This library provides common abstractions and helper functions used by the client and server code generated by Swift OpenAPI Generator.
- SwiftData — Write your model code declaratively to add managed persistence and efficient
- The Future of Foundation
- UIMutableTraits — A mutable container of traits.
- UITraitDefinition — A type representing a trait in a trait collection.
- URLSession Transport for Swift OpenAPI Generator — A client transport that uses the URLSession type from the Foundation framework to perform HTTP operations. Use the transport with client code generated by Swift OpenAPI Generator.
- USDZ schemas for AR — Add augmented reality functionality to your 3D content using USDZ schemas.
- Verifying the origin of your XCFrameworks — Discover who signed a framework, and take action when that changes.
- watchOS updates — Learn about important changes to watchOS.
- WidgetKit — Extend the reach of your app by creating widgets, watch complications, Live Activities, and controls.
- WorkoutKit — Create, preview, and sync workout compositions to the Workout app.
- Xcode updates — Learn about important changes to Xcode.
Graphics & Games · 19
- Accelerating ray tracing using Metal — Implement ray-traced rendering using GPU-based parallel processing.
- Achieving smooth frame rates with a Metal display link — Pace rendering with minimal input latency while providing essential information to the operating system for power-efficient rendering, thermal mitigation, and the scheduling of sustainable workloads.
- Apply for the Unity beta — Create spatial experiences for Apple’s visionOS with Unity.
- Applying temporal antialiasing and upscaling using MetalFX — Reduce render workloads while increasing image detail with MetalFX.
- Background Assets — Improve or eliminate the time people wait while your app downloads assets.
- Diorama — Design scenes for your visionOS app using Reality Composer Pro.
- Download the game porting toolkit — Use the game porting toolkit to eliminate months of up-front work and evaluate how well your game could run on the Mac before writing any code.
- Download the Metal shader converter (Mac and Windows) — Metal shader converter provides tools to convert existing DXIL shaders, compiled from HLSL, to Metal and take full advantage of Apple silicon performance with support for all shader stages, simplified shader conversion pipelines, and faster build times.
- Downloading essential assets in the background — Fetch the assets your app requires before its first launch using an app extension and the Background Assets framework.
- Drawing fully immersive content using Metal — Create a fully immersive experience in visionOS using a custom Metal-based rendering engine.
- Game Controller — Support hardware game controllers in your game.
- Get started with Metal shader converter — This document describes the IR conversion process, explains the binding model, synchronization considerations, and reflection capabilities, then provides general guidance and examples.
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Metal for Accelerating Ray Tracing — Use the Metal Performance Shaders ray intersector to perform ray-traced rendering.
- MetalFX — Boost your Metal app’s performance by upscaling lower-resolution content to save GPU time.
- Modern rendering with Metal — Use advanced Metal features such as indirect command buffers, sparse textures, and variable rate rasterization to implement complex rendering techniques.
- Rendering reflections in real time using ray tracing — Implement realistic real-time lighting by dynamically generating reflection maps
- ScreenCaptureKit — Filter and select screen content and stream it to your app.
- Validating feature support for USD files — Ensure that the renderer that displays your USD assets supports its features.
Health & Fitness · 8
- Accessing submersion data — Use a water-submersion manager to receive water pressure, temperature, and depth data on Apple Watch Ultra.
- Building a multidevice workout app — Mirror a workout from a watchOS app to its companion iOS app, and perform bidirectional communication between them.
- Core Motion — Process accelerometer, gyroscope, pedometer, and environment-related events.
- Customizing workouts with WorkoutKit — Create, preview, and sync workouts for use in the Workout app on Apple Watch.
- HealthKit — Access and share health and fitness data while maintaining the user’s privacy and control.
- HealthKit updates — Learn about important changes to HealthKit.
- watchOS updates — Learn about important changes to watchOS.
- WorkoutKit — Create, preview, and sync workout compositions to the Workout app.
Maps & Location · 5
- Adopting live updates in Core Location — Simplify location delivery using asynchronous events in Swift.
- Core Location — Obtain the geographic location and orientation of a device.
- MapKit — Display map or satellite imagery within your app, call out points of interest, and determine placemark information for map coordinates.
- MapKit for SwiftUI — MapKit for SwiftUI allows you to build map-centric views and apps across Apple platforms. You can design expressive and highly interactive Maps with minimal code by composing views, using ViewBuilders and view modifiers.
- Monitoring location changes with Core Location — Define boundaries and act on user location updates.
Photos & Camera · 16
- AVCam: Building a camera app — Capture photos and record video using the front and rear iPhone and iPad cameras.
- AVFoundation — Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.
- Cinematic — Integrate playback and editing of assets captured in Cinematic mode into your app.
- Create ML — Create machine learning models for use in your app.
- DockKit — Interact with accessories that track subjects on camera as they move around.
- Edit and play back HDR video with AVFoundation — Link to AVFoundation documentation.
- Editing and playing HDR video — Support high-dynamic-range (HDR) video content in your app by using the HDR editing and playback capabilities of AVFoundation.
- Export HDR media in your app using AVFoundation — Link to ACFoundation Documentation
- Implementing an inline Photos picker — Embed a system-provided, half-height Photos picker into your app’s view.
- Learn more about AVFoundation — Full featured framework for working with time-based audiovisual media on iOS, macOS, watchOS and tvOS.
- Processing HDR images with Metal — Implement a post-processing pipeline using the latest features on Apple GPUs.
- ScreenCaptureKit — Filter and select screen content and stream it to your app.
- Selecting Photos and Videos in iOS — Improve the user experience of finding and selecting assets by using the Photos picker.
- Supporting Continuity Camera in your tvOS app — Capture high-quality photos, video, and audio in your Apple TV app by connecting
- Supporting HDR images in your app —
- Vision — Analyze image and video content in your app using computer vision algorithms for object detection, text recognition, and image segmentation.
Privacy & Security · 10
- App Sandbox — Restrict access to system resources and user data in macOS apps to contain damage if an app becomes compromised.
- App Store Guidelines: User Privacy and Data Use
- Describing use of required reason API — Ensure your use of covered API is consistent with policy.
- Detecting sensitive content in media and providing intervention options — Alert people before displaying images or video that might be sensitive.
- Learn about app privacy details on the App Store — Learn about app privacy details on the App Store.
- Passkeys overview
- Privacy manifest files — Describe the data your app or third-party SDK collects and the required reasons APIs it uses.
- Security — Secure the data your app manages, and control access to your app.
- Security Overview
- Verifying the origin of your XCFrameworks — Discover who signed a framework, and take action when that changes.
Safari & Web · 14
- Adding a web development tool to Safari Web Inspector — Expand the built-in Safari Web Inspector to include your custom tool, augmenting developers’ options for inspecting, testing, and debugging webpages.
- Developing a Safari Web Extension — Customize and enhance web pages by building a Safari web extension.
- Enabling Low-Latency HTTP Live Streaming (HLS) — Add Low-Latency HLS to your content streams to maintain scalability.
- HLS.js — HLS.js is a JavaScript library that implements an HTTP Live Streaming client. It relies on HTML5 video and MediaSource Extensions for playback.
- MDN Web Docs - Web Extensions API — JavaScript APIs for web extensions.
- Push API — The Push API gives web applications the ability to receive messages pushed to them from a server.
- Reality Converter and USDZ Tools — Reality Converter and USDZ Tools
- Safari Release Notes — Learn about changes for Safari and Safari View Controller for iOS, iPadOS, macOS, and in visionOS; WKWebView for iOS, iPadOS, macOS, watchOS, and in visionOS; and Web Inspector on macOS.
- Safari Technology Preview — Safari Technology Preview
- Sending web push notifications in web apps and browsers — Update your web server and website to send push notifications that work in Safari, other browsers, and web apps, following cross-browser standards.
- Submit feedback
- USDZ schemas for AR — Add augmented reality functionality to your 3D content using USDZ schemas.
- Web Inspector Reference — Web Inspector Documentation
- WebKit Open Source Project — WebKit Open Source Project
Spatial Computing · 22
- Accessibility — Make your SwiftUI apps accessible to everyone, including people with disabilities.
- Adopting live updates in Core Location — Simplify location delivery using asynchronous events in Swift.
- Analyzing the performance of your visionOS app — Use the RealityKit Trace template in Instruments to evaluate and improve the performance of your visionOS app.
- App Sandbox — Restrict access to system resources and user data in macOS apps to contain damage if an app becomes compromised.
- Apple HEVC Stereo Video Interoperability Profile
- Apply for the Unity beta — Create spatial experiences for Apple’s visionOS with Unity.
- Core Location — Obtain the geographic location and orientation of a device.
- Creating a performance plan for your visionOS app — Identify your app’s performance and power goals and create a plan to measure and assess them.
- Detecting sensitive content in media and providing intervention options — Alert people before displaying images or video that might be sensitive.
- Diorama — Design scenes for your visionOS app using Reality Composer Pro.
- Drawing fully immersive content using Metal — Create a fully immersive experience in visionOS using a custom Metal-based rendering engine.
- Hello World — Use windows, volumes, and immersive spaces to teach people about the Earth.
- Improving accessibility support in your visionOS app — Update your code to ensure everyone can access your app’s content in
- Media Accessibility — Make your app’s media more accessible by supporting people’s systemwide preferences for video and audio content.
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Monitoring location changes with Core Location — Define boundaries and act on user location updates.
- Rendering at different rasterization rates — Configure a rasterization rate map to vary rasterization rates depending on the amount of detail needed.
- Scanning objects using Object Capture — Implement a full scanning workflow for capturing objects on iOS devices.
- SystemCoordinator — A type you use to coordinate your interface’s behavior when an
- UIAccessibility — A namespace for accessibility symbols for UIKit apps.
- Validating feature support for USD files — Ensure that the renderer that displays your USD assets supports its features.
- Video Contour Map Payload Metadata within the QuickTime Movie File Format
Swift · 15
- Adopting SwiftData for a Core Data app — Persist data in your app intuitively with the Swift native persistence framework.
- Calling APIs Across Language Boundaries — Use a variety of C++ APIs in Swift – and vice-versa – across multiple targets and frameworks in an Xcode project.
- Configuring your project to use mergeable libraries — Use mergeable dynamic libraries to get app launch times similar to static linking in release builds, without losing dynamically linked build times in debug builds.
- DocC — Produce rich API reference documentation and interactive tutorials for your app, framework, or package.
- Evolving Swift Project Workgroups
- Mixing Languages in an Xcode project — Use C++ APIs in Swift – and Swift APIs in C++ – in a single framework target, and consume the framework’s APIs in a separate app target.
- Mixing Swift and C++ — This document is the reference guide describing how to mix Swift and C++. It describes how C++ APIs get imported into Swift, and provides examples showing how various C++ APIs can be used in Swift. It also describes how Swift APIs get exposed to C++, and provides examples showing how the exposed Swift APIs can be used from C++.
- Swift CMake Examples
- Swift Distributed Tracing - Repository
- Swift Evolution — The list of Swift Evolution proposals.
- Swift OpenAPI Generator package plugin — Generate Swift client and server code from an OpenAPI document.
- Swift OpenAPI Generator Runtime — This library provides common abstractions and helper functions used by the client and server code generated by Swift OpenAPI Generator.
- SwiftData — Write your model code declaratively to add managed persistence and efficient
- The Future of Foundation
- URLSession Transport for Swift OpenAPI Generator — A client transport that uses the URLSession type from the Foundation framework to perform HTTP operations. Use the transport with client code generated by Swift OpenAPI Generator.
SwiftUI & UI Frameworks · 24
- Adopting system selection UI in custom text views — Incorporate the system text-selection experience into your custom text UI in UIKit.
- Adopting the system text cursor in custom text views — Incorporate the system text cursor into your custom text UI in AppKit.
- Apple Design Resources
- Backyard Birds: Building an app with SwiftData and widgets — Create an app with persistent data, interactive widgets, and an all new in-app purchase experience.
- Building a document-based app using SwiftData — Code along with the WWDC presenter to transform an app with SwiftData.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Hello World — Use windows, volumes, and immersive spaces to teach people about the Earth.
- Human Interface Guidelines: watchOS — When people glance at their Apple Watch, they know they can access essential information and perform simple, timely tasks whether they’re stationary or in motion.
- Human Interface Guidelines: Widgets — HIG
- Keeping a widget up to date — Plan your widget’s timeline to show timely, relevant information using
- Localization — Expand the market for your app by supporting multiple languages and regions.
- NSInflectionRule — A rule that affects how an attributed string performs automatic grammatical agreement.
- NSMorphology — A description of the grammatical properties of a string.
- Playing haptics — Playing haptics can engage people’s sense of touch and bring their familiarity with the physical world into your app or game.
- StoreKit views — Display a customizable In-App Purchase store using StoreKit views for SwiftUI.
- Submit feedback
- UIDocument — An abstract base class for managing discrete portions of your app’s data.
- UIDocumentViewController — A view controller that manages and presents a document stored locally or in the cloud.
- UIKit updates — Learn about important changes to UIKit.
- UIMutableTraits — A mutable container of traits.
- UITraitDefinition — A type representing a trait in a trait collection.
- Updating your app and widgets for watchOS 10 — Integrate SwiftUI elements and watch-specific features, and build widgets for the Smart Stack.
- Visualizing your app’s data — Build complex and interactive charts using Swift Charts.
- WidgetKit — Extend the reach of your app by creating widgets, watch complications, Live Activities, and controls.
System Services · 33
- Accessing Calendar using EventKit and EventKitUI — Choose and implement the appropriate Calendar access level in your app.
- Adopting system selection UI in custom text views — Incorporate the system text-selection experience into your custom text UI in UIKit.
- Adopting the system text cursor in custom text views — Incorporate the system text cursor into your custom text UI in AppKit.
- App Store Guidelines: User Privacy and Data Use
- Building a resumable upload server with SwiftNIO — Support HTTP resumable upload protocol in SwiftNIO by translating resumable uploads to regular uploads.
- CarPlay for developers — Guide to CarPlay development
- CKSyncEngine — An object that manages the synchronization of local and remote record data.
- CloudKit Samples: CKSyncEngine — This project demonstrates using CKSyncEngine to sync data in an app.
- Core Data — Persist or cache data on a single device, or sync data to multiple devices with CloudKit.
- Describing use of required reason API — Ensure your use of covered API is consistent with policy.
- Downloading files in the background — Create tasks that download files while your app is inactive.
- Establishing a certificate-based connection to APNs — Secure your communications with Apple Push Notification service (APNs) by installing a certificate on your provider server.
- Establishing a token-based connection to APNs — Secure your communications with Apple Push Notification service (APNs) by using stateless authentication tokens.
- EventKit — Create, view, and edit calendar and reminder events.
- Explore the Human Interface Guidelines for privacy — Explore the Human Interface Guidelines for privacy.
- Learn about app privacy details on the App Store — Learn about app privacy details on the App Store.
- Migrating your data model automatically — Enable lightweight migrations to keep your data model and the underlying data in a consistent state.
- Privacy manifest files — Describe the data your app or third-party SDK collects and the required reasons APIs it uses.
- ProxyConfiguration — A proxy configuration for Relays, Oblivious HTTP, HTTP CONNECT, or SOCKSv5.
- Relays — Create and manage a system-wide network relay configuration that uses built-in proxying for TCP and UDP traffic over HTTP/3 and HTTP/2.
- Running macOS in a virtual machine on Apple silicon — Install and run macOS in a virtual machine using the Virtualization framework.
- Sending notification requests to APNs — Transmit your remote notification payload and device token information to Apple Push Notification service (APNs).
- Siri Event Suggestions — Provide users with current, actionable information connected to a reservation.
- Testing and Debugging L4S in Your App — Learn how to verify your app on an L4S-capable host and network to improve your app’s responsiveness.
- UIDocument — An abstract base class for managing discrete portions of your app’s data.
- UIDocumentViewController — A view controller that manages and presents a document stored locally or in the cloud.
- UIKit updates — Learn about important changes to UIKit.
- UIMutableTraits — A mutable container of traits.
- UITraitDefinition — A type representing a trait in a trait collection.
- Universal Links for Developers
- URLSession — An object that coordinates a group of related, network data transfer tasks.
- Verifying the origin of your XCFrameworks — Discover who signed a framework, and take action when that changes.
- Virtualization — Create virtual machines and run macOS and Linux-based operating systems.