2021
WWDC21 · generated catalog
WWDC21 related resources
The 349 resources — documentation, sample projects, guides and downloads — referenced by WWDC21 sessions, grouped by topic. Also available as raw TSV.
Accessibility & Inclusion · 15
- Accessibility — Make your SwiftUI apps accessible to everyone, including people with disabilities.
- Accessibility for Developers — Collection of Accessibility resources for macOS, iOS, watchOS, and tvOS.
- accessibilityReduceMotion — Whether the system preference for Reduce Motion is enabled.
- Adjusting your layout with keyboard layout guide — Respond dynamically to keyboard movement by using the tracking features of the keyboard layout guide.
- Appearance Effects and Motion
- Apple Style Guide: Writing Inclusively
- Audio graphs — Define an accessible representation of your chart for VoiceOver to generate an audio
- Color and Contrast
- Create accessible experiences for watchOS — Learn how to make your watchOS app more accessible.
- Creating accessible views — Make your app accessible to everyone by applying accessibility modifiers to your SwiftUI views.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Fruta: Building a feature-rich app with SwiftUI — Create a shared codebase to build a multiplatform app that offers widgets and an App Clip.
- Human Interface Guidelines: Inclusion — An inclusive app puts people first by prioritizing respectful communication and presenting content and functionality in ways that everyone can access and understand.
- isReduceMotionEnabled — A Boolean value that indicates whether the Reduce Motion setting is in an enabled state.
- Localization — Expand the market for your app by supporting multiple languages and regions.
AI & Machine Learning · 15
- Accelerate — Make large-scale mathematical computations and image calculations, optimized for high performance and low energy consumption.
- Applying Matte Effects to People in Images and Video — Generate image masks for people automatically by using semantic person-segmentation.
- Classifying Live Audio Input with a Built-in Sound Classifier — Detect and identify hundreds of sounds by using a trained classifier.
- Core ML — Integrate machine learning models into your app.
- Core ML Converters — Reference documentation on coremltools including Core ML Converters
- Create ML — Create machine learning models for use in your app.
- Encrypting and Decrypting Directories — Compress and encrypt the contents of an entire directory or decompress and decrypt an archived directory using Apple Encrypted Archive.
- Explore the Human Interface Guidelines
- Human Interface Guidelines: Inclusion — An inclusive app puts people first by prioritizing respectful communication and presenting content and functionality in ways that everyone can access and understand.
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Metal Performance Shaders — Optimize graphics and compute performance with kernels that are fine-tuned for the unique characteristics of each Metal GPU family.
- Metal Shading Language Specification — The Metal shading language is used to write graphics and compute functions that are executed on the GPU. Version 2.0 of the Metal shading language adds new features such as Raster Order Groups, Indirect Argument Buffers, Arrays of Samplers, Uniform Types, and much more.
- Sound Analysis — Classify various sounds by analyzing audio files or streams.
- Training a Neural Network with Metal Performance Shaders — Use an MPS neural network graph to train a simple neural network digit classifier.
- Vision — Analyze image and video content in your app using computer vision algorithms for object detection, text recognition, and image segmentation.
App Services · 37
- Apple Pay on the Web — Support Apple Pay on your website with JavaScript-based APIs.
- Apple Pay on the Web Interactive Demo — Try configuring an Apple Pay JS button and then making a test transaction.
- Build Mail App Extensions — Create app extensions that block content, perform message and composing actions, and help message security.
- Dispatching intents to handlers — Provide SiriKit with an intent handler capable of handling a specific intent.
- Displaying Apple Pay Buttons Using JavaScript — Load and configure the JavaScript Apple Pay button.
- Distributing and updating a pass — Distribute a pass to your users or update an existing pass.
- Donating Shortcuts — Tell Siri about shortcuts to actions that the user performed in your app.
- Feature your actions in the Shortcuts app
- File Provider — An extension other apps use to access files and folders managed by your app and synced with a remote storage.
- Finding multiple players for a game — Discover and invite other players to participate in a real-time game.
- Fruta: Building a feature-rich app with SwiftUI — Create a shared codebase to build a multiplatform app that offers widgets and an App Clip.
- GKLocalPlayer — The local player who signs in to Game Center on the device running the game.
- Group Activities — Create app-specific activities your users can share and experience together.
- Human Interface Guidelines: Game Center — HIG
- Human Interface Guidelines: Siri
- INSendMessageIntent — A request to send a message to the designated recipients.
- INStartCallIntent — A request to start an audio or video call with one or more users.
- Introduction to WebKit Content Blockers
- Keeping a widget up to date — Plan your widget’s timeline to show timely, relevant information using
- Learn more about bug reporting
- Learn more about creating app clips
- MailKit — Secure, customize, and act on email messages that users send and receive.
- Making a configurable widget — Give people the option to customize their widgets by adding a custom app intent
- MFi Program — MFi Program top page
- Offering Actions in the Shortcuts App — Suggest shortcuts users may want to add to Siri or combine with other actions in their own shortcuts.
- Offering Apple Pay in Your App — Collect payments with iPhone and Apple Watch using Apple Pay.
- PassKit (Apple Pay and Wallet) — Process Apple Pay payments in your app, and create and distribute passes for the Wallet app.
- Reducing your app’s size — Measure your app’s size, optimize its assets and settings, and adopt technologies
- Replicated File Provider extension — Build a File Provider extension that syncs the local copies of your files with your remote storage.
- 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
- SiriKit — Empower users to interact with their devices through voice, intelligent suggestions, and personalized workflows.
- Synchronizing files using file provider extensions — Make remote files available in macOS and iOS, and synchronize their states by using file provider extensions.
- Testing the launch experience of your App Clip — Debug App Clip invocations, test the launch experience, and verify the configuration of your released App Clip.
- TimelineEntry — A type that specifies the date to display a widget, and, optionally,
- User Notifications — Push user-facing notifications to the user’s device from a server, or generate them locally from your app.
- Wallet — Manage tickets, boarding passes, payment cards and other passes in the Wallet app.
App Store, Distribution & Marketing · 54
- Analyzing the performance of your shipping app — View power and performance metrics for apps you distribute through the App
- App and Book Management — Manage apps and books for your students and employees.
- App Store Connect
- App Store Connect API — The data structure that represents an app store connect api resource.
- App Store Guidelines: User Privacy and Data Use
- App Store Server API — Manage your customers’ App Store transactions from your server.
- App Store Server Notifications — Monitor in-app purchase events in real time with server notifications from the App Store.
- Apple Business Manager User Guide — Apple Business Manager User Guide
- Apple Configurator 2 User Guide — Apple Configurator 2 User Guide
- Apple Pay on the Web — Support Apple Pay on your website with JavaScript-based APIs.
- Apple Pay on the Web Interactive Demo — Try configuring an Apple Pay JS button and then making a test transaction.
- Apple Platform Deployment
- Apple School Manager User Guide — Apple School Manager User Guide
- Apple Style Guide: Writing Inclusively
- AppleSeed
- Auto-renewable subscriptions overview — Auto-Renewable Subscriptions
- Beta Testing Made Simple — Beta Testing Made Simple
- Building and improving your app with Mac Catalyst — Improve your iPadOS app with Mac Catalyst by supporting native controls, multiple windows, sharing, printing, menus and keyboard shortcuts.
- Creating your Product Page — Help users find and engage with your app on the App Store through thoughtfully crafted app metadata.
- Device Activity — Monitor device activity with your app extension while maintaining privacy.
- Device Management — Manage your organization’s devices remotely.
- Displaying Apple Pay Buttons Using JavaScript — Load and configure the JavaScript Apple Pay button.
- Distributing and updating a pass — Distribute a pass to your users or update an existing pass.
- Family Controls — Authorize your app to provide parental controls on a device.
- Finding multiple players for a game — Discover and invite other players to participate in a real-time game.
- Gain Insights with Analytics
- Get Your Product Page Ready
- GKLocalPlayer — The local player who signs in to Game Center on the device running the game.
- Human Interface Guidelines: Game Center — HIG
- Human Interface Guidelines: In-app purchase — HIG
- Human Interface Guidelines: Inclusion — An inclusive app puts people first by prioritizing respectful communication and presenting content and functionality in ways that everyone can access and understand.
- Implementing a store in your app using the StoreKit API — Offer In-App Purchases and manage entitlements using signed transactions and status information.
- In-App Events
- In-app purchase overview
- Introducing Private Click Measurement, PCM — This blog post covers a new feature called Private Click Measurement, or PCM, for measuring ad clicks across websites and from iOS apps to websites. It is part of iOS and iPadOS 14.5.
- Introducing StoreKit 2
- JWS documentation (RFC 7515)
- Learn more about App Store Connect
- Learn more about bug reporting
- Learn more about designing subscriptions
- Manage settings on devices in a Family Sharing group — Empower parents and guardians to configure constraints on other devices while preserving the family’s privacy.
- Managed Settings — Access and change settings with your app while maintaining user privacy and control.
- Measuring App Performance
- MetricKit — Measure your app’s performance using daily metric and diagnostic reports from real users.
- Offering Apple Pay in Your App — Collect payments with iPhone and Apple Watch using Apple Pay.
- PassKit (Apple Pay and Wallet) — Process Apple Pay payments in your app, and create and distribute passes for the Wallet app.
- Reducing terminations in your app — Minimize how frequently the system stops your app by addressing common termination reasons.
- Running your iOS apps in macOS — Modernize the iOS apps you choose to run on a Mac with Apple silicon, or opt out of
- Safari Technology Preview — Safari Technology Preview
- Schedule an OS Update — Schedule an update of the operating system on a device.
- SKAdNetwork — A class that validates advertisement-driven app installations.
- StoreKit — Support In-App Purchases and interactions with the App Store.
- Wallet — Manage tickets, boarding passes, payment cards and other passes in the Wallet app.
- WebKit Open Source Project — WebKit Open Source Project
Audio & Video · 35
- Advanced Video Quality Tool — The Advanced Video Quality Tool, or AVQT in short, is a macOS command line tool, which estimates perceptual video quality of compressed videos, that might contain video coding and scaling artifacts. The tool expects reference (source) and test (compressed) videos as inputs and outputs frame level and segment level scores of the test video on a scale of 1 to 5, where 1 indicates bad video quality and 5 indicates excellent video quality. You can also use AVQT to compute MSE (Mean Squared Error) and PSNR (Peak Signal to Noise Ratio) scores. Please see the enclosed README for more details.
- AVFoundation — Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.
- AVKit — Create user interfaces for media playback, complete with transport controls, chapter navigation, picture-in-picture support, and display of subtitles and closed captions.
- Building a Custom Catalog and Matching Audio — Display lesson content that’s synchronized to a learning video by matching the audio to a custom reference signature and associated metadata.
- Classifying Live Audio Input with a Built-in Sound Classifier — Detect and identify hundreds of sounds by using a trained classifier.
- Core Audio — Use the Core Audio framework to interact with device’s audio hardware.
- Core Haptics — Compose and play haptic patterns to customize your iOS app’s haptic feedback.
- Core Image — Use built-in or custom filters to process still and video images.
- Customizing the tvOS Playback Experience — Adopt the latest features of the redesigned tvOS player user interface to provide a more streamlined way to watch your content.
- Delivering Rich App Experiences with Haptics — Enhance your app’s experience by incorporating haptic and sound feedback into key interactive moments.
- Drawing content in a group session — Invite your friends to draw on a shared canvas while on a FaceTime call.
- 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
- Getting Started with HLS Interstitials
- Group Activities — Create app-specific activities your users can share and experience together.
- HLS Content Steering Specification
- HTTP Live Streaming - Overview
- Human Interface Guidelines: Designing for tvOS — HIG
- Human Interface Guidelines: Playing haptics — HIG
- Loading media data asynchronously — Build responsive apps by using language-level concurrency features to efficiently load media data.
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Metal Shading Language Specification — The Metal shading language is used to write graphics and compute functions that are executed on the GPU. Version 2.0 of the Metal shading language adds new features such as Raster Order Groups, Indirect Argument Buffers, Arrays of Samplers, Uniform Types, and much more.
- MusicKit — MusicKit lets users play Apple Music and their local music library natively from your apps and now websites. When a user provides permission to their Apple Music account, your app can create playlists, add songs to their library, and play any of the millions of songs in the Apple Music catalog.
- MusicKit — Integrate your app with Apple Music.
- PHASE — Create dynamic audio experiences in your game or app that react to events and cues in the environment.
- Processing HDR images with Metal — Implement a post-processing pipeline using the latest features on Apple GPUs.
- Recording and Streaming Your macOS App — Share screen recordings, or broadcast live audio and video of your app, by adding ReplayKit to your macOS apps and games.
- Reference video for FoodMath sample project — Video for use with FoodMath sample project associated with this Code-Along session.
- ReplayKit — Record or stream video from the screen, and audio from the app and microphone.
- 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.
- Sound Analysis — Classify various sounds by analyzing audio files or streams.
- Supporting coordinated media playback — Create synchronized media experiences that enable users to watch and listen across devices.
- Using MusicKit to integrate with Apple Music — Find an album in Apple Music that corresponds to a CD in a user’s collection, and present the information for the album.
- Video Toolbox — Work directly with hardware-accelerated video encoding and decoding capabilities.
Business & Education · 14
- App and Book Management — Manage apps and books for your students and employees.
- Apple Business Manager User Guide — Apple Business Manager User Guide
- Apple Configurator 2 User Guide — Apple Configurator 2 User Guide
- Apple Platform Deployment
- Apple School Manager User Guide — Apple School Manager User Guide
- AppleSeed
- Building a Custom Catalog and Matching Audio — Display lesson content that’s synchronized to a learning video by matching the audio to a custom reference signature and associated metadata.
- ClassKit — Enable teachers to assign activities from your app’s content and to view student progress.
- Device Management — Manage your organization’s devices remotely.
- fetchActivity(for:completion:) — Fetches an activity for a given document so you can record progress on the associated task.
- Incorporating ClassKit into an Educational App — Walk through the process of setting up assignments and recording student progress.
- Reference video for FoodMath sample project — Video for use with FoodMath sample project associated with this Code-Along session.
- Schedule an OS Update — Schedule an update of the operating system on a device.
- 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.
Design · 21
- Apple Style Guide: Writing Inclusively
- Core Haptics — Compose and play haptic patterns to customize your iOS app’s haptic feedback.
- Delivering Rich App Experiences with Haptics — Enhance your app’s experience by incorporating haptic and sound feedback into key interactive moments.
- Download SF Symbols
- Explore the Human Interface Guidelines
- Feature your actions in the Shortcuts app
- Game Controller — Support hardware game controllers in your game.
- GCVirtualController — A software emulation of a real controller that you configure specifically for your game.
- Group Activities — Create app-specific activities your users can share and experience together.
- Human Interface Guidelines: Inclusion — An inclusive app puts people first by prioritizing respectful communication and presenting content and functionality in ways that everyone can access and understand.
- Human Interface Guidelines: Nearby interactions — HIG
- Human Interface Guidelines: Playing haptics — HIG
- Human Interface Guidelines: SF Symbols — HIG
- Human Interface Guidelines: Siri
- Learn more about bug reporting
- Nearby Interaction — Locate and interact with nearby devices using identifiers, distance, and direction.
- Nearby Interactions with U1
- Offering Actions in the Shortcuts App — Suggest shortcuts users may want to add to Siri or combine with other actions in their own shortcuts.
- 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
- WebKit Open Source Project — WebKit Open Source Project
Developer Tools · 49
- About continuous integration and delivery with Xcode Cloud — Learn how continuous integration and delivery with Xcode Cloud helps you create high-quality apps and frameworks.
- Adding structure to your documentation pages — Make symbols easier to find by arranging them into groups and collections.
- Adding supplemental content to a documentation catalog — Include articles and extension files to extend your source documentation comments or provide supporting conceptual content.
- Advanced Video Quality Tool — The Advanced Video Quality Tool, or AVQT in short, is a macOS command line tool, which estimates perceptual video quality of compressed videos, that might contain video coding and scaling artifacts. The tool expects reference (source) and test (compressed) videos as inputs and outputs frame level and segment level scores of the test video on a scale of 1 to 5, where 1 indicates bad video quality and 5 indicates excellent video quality. You can also use AVQT to compute MSE (Mean Squared Error) and PSNR (Peak Signal to Noise Ratio) scores. Please see the enclosed README for more details.
- Analyzing HTTP traffic with Instruments — Measure HTTP-based network performance and usage of your apps.
- Analyzing the performance of your shipping app — View power and performance metrics for apps you distribute through the App
- App Store Connect API — The data structure that represents an app store connect api resource.
- Automating CloudKit Development — This document describes CloudKit tools and authentication considerations for automating processes to support local integration testing and continuous integration (CI) systems.
- Beta Testing Made Simple — Beta Testing Made Simple
- Building an Interactive Tutorial — Construct a step-by-step guided learning experience for your app, framework, or package.
- CloudKit — Store structured app and user data in iCloud containers that all users of your app can share.
- Configuring start conditions — Configure Xcode Cloud to start a build when you update a branch, pull request, or Git tag, or based on a schedule.
- 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 Xcode Cloud workflow’s actions — Add actions to an Xcode Cloud workflow to build, test, analyze, and archive your app or framework when it performs a build.
- Debugging the shaders within a draw command or compute dispatch — Identify and fix problematic shaders in your app using the shader debugger.
- 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.
- Diagnosing issues using crash reports and device logs — Use crash reports and device logs to debug app issues.
- Dispatch — Execute code concurrently on multicore hardware by submitting work to dispatch queues managed by the system.
- Distributing documentation to other developers — Share your documentation directly with Xcode users or host it on a web server.
- DocC — Produce rich API reference documentation and interactive tutorials for your app, framework, or package.
- Documenting a Swift Framework or Package — Create developer documentation from in-source comments, add articles with code snippets, and add tutorials for a guided learning experience.
- Environment variable reference — Review predefined environment variables you use in custom build scripts.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Expected Failures — Anticipate known test failures to prevent failing tests from affecting your workflows.
- Formatting your documentation — Enhance your content’s presentation with special formatting and styling for text, links, and other page elements.
- Fruta: Building a feature-rich app with SwiftUI — Create a shared codebase to build a multiplatform app that offers widgets and an App Clip.
- Improving app responsiveness — Create a user experience that feels responsive by removing hangs and hitches from your app.
- Integrating a Text-Based Schema into Your Workflow — Define and update your schema with the CloudKit Schema Language.
- Interactive Tutorials — Teach developers your Swift and Objective-C APIs through step-by-step, interactive content.
- Learn more about App Store Connect
- Localization — Expand the market for your app by supporting multiple languages and regions.
- Manual Memory Management — Allocate and manage memory manually.
- Measuring App Performance
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Metal Developer Tools on Windows — Metal Developer Tools on Windows
- Metal Performance Shaders — Optimize graphics and compute performance with kernels that are fine-tuned for the unique characteristics of each Metal GPU family.
- Metal Shading Language Specification — The Metal shading language is used to write graphics and compute functions that are executed on the GPU. Version 2.0 of the Metal shading language adds new features such as Raster Order Groups, Indirect Argument Buffers, Arrays of Samplers, Uniform Types, and much more.
- MetricKit — Measure your app’s performance using daily metric and diagnostic reports from real users.
- Reducing terminations in your app — Minimize how frequently the system stops your app by addressing common termination reasons.
- SlothCreator: Building DocC documentation in Xcode — Build DocC documentation for a Swift package that contains a DocC Catalog.
- Swift Package Collection Generator
- UIButton.Configuration — A configuration that specifies the appearance and behavior of a button and its contents.
- User Interface Tests — Make sure that your app’s user interface behaves correctly when expected actions are performed.
- Writing custom build scripts — Extend your Xcode Cloud workflows with custom build scripts that perform custom tasks or install additional tools.
- Writing symbol documentation in your source files — Add reference documentation to your symbols that explains how to use them.
- Xcode Cloud — Automatically build, test, and distribute your apps with Xcode Cloud to verify changes and create high-quality apps.
- Xcode Cloud workflow reference — Configure metadata, start conditions, actions, post-actions, and more to create custom Xcode Cloud workflows.
- XCTest — Create and run unit tests, performance tests, and UI tests for your Xcode project.
Essentials · 111
- About continuous integration and delivery with Xcode Cloud — Learn how continuous integration and delivery with Xcode Cloud helps you create high-quality apps and frameworks.
- Accessibility design for Mac Catalyst — Improve navigation in your app by using keyboard shortcuts and accessibility containers.
- Adding an Apple Pay Button or a Custom Action in AR Quick Look — Provide a banner that users can tap to make a purchase or perform a custom action in an AR experience.
- Adding hardware keyboard support to your app — Enhance interactions with your app by handling raw keyboard events, writing custom keyboard shortcuts, and working with gesture recognizers.
- Adding menus and shortcuts to the menu bar and user interface — Provide quick access to useful actions by adding menus and keyboard shortcuts to your Mac app built with Mac Catalyst.
- Adding structure to your documentation pages — Make symbols easier to find by arranging them into groups and collections.
- Adding supplemental content to a documentation catalog — Include articles and extension files to extend your source documentation comments or provide supporting conceptual content.
- App Store Connect
- App Store Guidelines: User Privacy and Data Use
- App Store Server API — Manage your customers’ App Store transactions from your server.
- App Store Server Notifications — Monitor in-app purchase events in real time with server notifications from the App Store.
- AppKit — Construct and manage a graphical, event-driven user interface for your macOS app.
- Apple Pay on the Web — Support Apple Pay on your website with JavaScript-based APIs.
- Apple Pay on the Web Interactive Demo — Try configuring an Apple Pay JS button and then making a test transaction.
- Apple Style Guide: Writing Inclusively
- AR Quick Look Gallery — AR Quick Look Gallery Page
- ARKit — Integrate hardware sensing features to produce augmented reality apps and games.
- AVKit — Create user interfaces for media playback, complete with transport controls, chapter navigation, picture-in-picture support, and display of subtitles and closed captions.
- Beta Testing Made Simple — Beta Testing Made Simple
- Bring an iPad App to the Mac with Mac Catalyst
- Building a great Mac app with SwiftUI — Create engaging SwiftUI Mac apps by incorporating side bars, tables, toolbars, and several other popular user interface elements.
- Building and improving your app with Mac Catalyst — Improve your iPadOS app with Mac Catalyst by supporting native controls, multiple windows, sharing, printing, menus and keyboard shortcuts.
- CloudKit — Store structured app and user data in iCloud containers that all users of your app can share.
- CloudKit Samples: Encryption — This project demonstrates using encrypted values with CloudKit and iCloud containers.
- CloudKit Samples: Private Database — This buildable (and testable) Xcode project demonstrates a simple use of the CloudKit Private Database.
- Configuring your first Xcode Cloud workflow — Set up your project or workspace to use Xcode Cloud and adopt continuous integration and delivery.
- Core Location — Obtain the geographic location and orientation of a device.
- CoreLocationUI — Streamline access to users’ location data through a standard, secure UI.
- Creating your Product Page — Help users find and engage with your app on the App Store through thoughtfully crafted app metadata.
- Designing your app for the Always On state — Customize your watchOS app’s user interface for continuous display.
- Device Activity — Monitor device activity with your app extension while maintaining privacy.
- Displaying Apple Pay Buttons Using JavaScript — Load and configure the JavaScript Apple Pay button.
- Distributing and updating a pass — Distribute a pass to your users or update an existing pass.
- Diversity in Swift
- DocC — Produce rich API reference documentation and interactive tutorials for your app, framework, or package.
- Documenting a Swift Framework or Package — Create developer documentation from in-source comments, add articles with code snippets, and add tutorials for a guided learning experience.
- Download SF Symbols
- Enhancing your iPad app with pointer interactions — Provide a great user experience with pointing devices, by incorporating pointer content effects and shape customizations.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Explore the Human Interface Guidelines
- Family Controls — Authorize your app to provide parental controls on a device.
- Finding multiple players for a game — Discover and invite other players to participate in a real-time game.
- Formatting your documentation — Enhance your content’s presentation with special formatting and styling for text, links, and other page elements.
- Foundation — Access essential data types, collections, and operating-system services to define the base layer of functionality for your app.
- Fruta: Building a feature-rich app with SwiftUI — Create a shared codebase to build a multiplatform app that offers widgets and an App Clip.
- Game Controller — Support hardware game controllers in your game.
- GCVirtualController — A software emulation of a real controller that you configure specifically for your game.
- Get Your Product Page Ready
- GKLocalPlayer — The local player who signs in to Game Center on the device running the game.
- Group Activities — Create app-specific activities your users can share and experience together.
- HealthKit — Access and share health and fitness data while maintaining the user’s privacy and control.
- Human Interface Guidelines: Accessing User Data — User privacy is paramount. To help people trust your app, it’s crucial to be transparent about the privacy-related data and resources you require and how you use them.
- Human Interface Guidelines: Designing for iOS — HIG
- Human Interface Guidelines: Game Center — HIG
- Human Interface Guidelines: In-app purchase — HIG
- Human Interface Guidelines: Inclusion — An inclusive app puts people first by prioritizing respectful communication and presenting content and functionality in ways that everyone can access and understand.
- Human Interface Guidelines: Mac Catalyst — When you use Mac Catalyst to create a Mac version of your iPad app, you make your app available to a new audience while giving existing users the opportunity to enjoy it in a new environment.
- Human Interface Guidelines: Pointing devices — HIG
- Human Interface Guidelines: SF Symbols — HIG
- Implementing a store in your app using the StoreKit API — Offer In-App Purchases and manage entitlements using signed transactions and status information.
- In-app purchase overview
- Introducing Private Click Measurement, PCM — This blog post covers a new feature called Private Click Measurement, or PCM, for measuring ad clicks across websites and from iOS apps to websites. It is part of iOS and iPadOS 14.5.
- Introducing SF Symbols
- Introducing StoreKit 2
- JWS documentation (RFC 7515)
- Keeping a widget up to date — Plan your widget’s timeline to show timely, relevant information using
- Learn more about bug reporting
- Learn more about creating app clips
- Learn more about designing subscriptions
- Localization — Expand the market for your app by supporting multiple languages and regions.
- Mac Catalyst — Create a version of your iPad app that users can run on a Mac device.
- Making a configurable widget — Give people the option to customize their widgets by adding a custom app intent
- Manage settings on devices in a Family Sharing group — Empower parents and guardians to configure constraints on other devices while preserving the family’s privacy.
- Managed Settings — Access and change settings with your app while maintaining user privacy and control.
- Offering Apple Pay in Your App — Collect payments with iPhone and Apple Watch using Apple Pay.
- Package Collections
- PassKit (Apple Pay and Wallet) — Process Apple Pay payments in your app, and create and distribute passes for the Wallet app.
- Reducing your app’s size — Measure your app’s size, optimize its assets and settings, and adopt technologies
- Requesting authorization to use location services — Obtain authorization to use location services and manage changes to your app’s authorization status.
- Research and care app code-along source repository
- Research and Care Website — Research and Care Website
- Running your iOS apps in macOS — Modernize the iOS apps you choose to run on a Mac with Apple silicon, or opt out of
- 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
- Search developer forums for AR Quick Look — Search developer forums for AR Quick Look
- Sharing Your Location to Find a Park — Ask for location access using a customizable location button.
- SlothCreator: Building DocC documentation in Xcode — Build DocC documentation for a Swift package that contains a DocC Catalog.
- StoreKit — Support In-App Purchases and interactions with the App Store.
- Supporting coordinated media playback — Create synchronized media experiences that enable users to watch and listen across devices.
- Swift Algorithms on GitHub — GitHub repository for the Swift Algorithms package.
- Swift Argument Parser on GitHub — Straightforward, type-safe argument parsing for Swift.
- Swift AWS Lambda Runtime on GitHub — The Swift AWS Lambda Runtime GitHub repository where you can find sample code, scripts, documentation and more.
- Swift Collections on GitHub — GitHub repository for the Swift Collections package.
- Swift Compiler Driver on GitHub — The GitHub repository for the Swift compiler driver project.
- Swift Evolution — The list of Swift Evolution proposals.
- Swift Forums — Forums for the Swift open-source project.
- Swift Mentorship Program
- Swift Numerics on GitHub — Swift Numerics provides a set of modules that support numerical computing in Swift.
- Swift Package Index
- Swift System on GitHub — GitHub repository for the Swift System package.
- SwiftUI — Declare the user interface and behavior for your app on every platform.
- Testing the launch experience of your App Clip — Debug App Clip invocations, test the launch experience, and verify the configuration of your released App Clip.
- The Swift Programming Language: Concurrency — The chapter of the Language Guide in The Swift Programming Language that covers asynchronous and parallel code, including asynchronous functions (async/await), asynchronous sequences (AsyncSequence), async let, tasks, task groups, and actors.
- UIButton.Configuration — A configuration that specifies the appearance and behavior of a button and its contents.
- UIKit — Construct and manage a graphical, event-driven user interface for your iOS, iPadOS, or tvOS app.
- UNLocationNotificationTrigger — A trigger condition that causes the system to deliver a notification when the user’s device enters or exits a geographic region you specify.
- Updating watchOS apps with timelines — Seamlessly schedule updates to your user interface, even while it’s inactive.
- Wallet — Manage tickets, boarding passes, payment cards and other passes in the Wallet app.
- Web Inspector Reference — Web Inspector Documentation
- Writing symbol documentation in your source files — Add reference documentation to your symbols that explains how to use them.
- Xcode Cloud — Automatically build, test, and distribute your apps with Xcode Cloud to verify changes and create high-quality apps.
Graphics & Games · 67
- Accelerating ray tracing using Metal — Implement ray-traced rendering using GPU-based parallel processing.
- Add rich graphics to your SwiftUI app — Make your apps stand out by adding background materials, vibrancy, custom graphics, and animations.
- Adding an Apple Pay Button or a Custom Action in AR Quick Look — Provide a banner that users can tap to make a purchase or perform a custom action in an AR experience.
- Adding interactivity with gestures — Use gesture modifiers to add interactivity to your app.
- Applying realistic material and lighting effects to entities — Enhance the appearance of objects in a RealityKit scene with Physically Based Rendering
- AR Quick Look Gallery — AR Quick Look Gallery Page
- ARKit — Integrate hardware sensing features to produce augmented reality apps and games.
- ASWF USD Working Group — ASWF USD Working Group
- Building an immersive experience with RealityKit — Use systems and postprocessing effects to create a realistic underwater scene.
- Capture setup — Configure built-in cameras and microphones, and external capture devices, for media capture.
- Capturing photographs for RealityKit Object Capture — Take high-quality images of objects to generate 3D models.
- Capturing photographs for RealityKit Object Capture — Take high-quality images of objects to generate 3D models.
- Capturing photos in RAW and Apple ProRAW formats — Support professional photography workflows by enabling minimally processed image capture in your camera app.
- Capturing still and Live Photos — Configure and capture single or multiple still images, Live Photos, and other forms of photography.
- Composing SwiftUI gestures — Combine gestures to create complex interactions.
- Core Haptics — Compose and play haptic patterns to customize your iOS app’s haptic feedback.
- Core Image — Use built-in or custom filters to process still and video images.
- Creating 3D objects from photographs — Construct virtual objects to use in your AR experiences.
- Creating a fog effect using scene depth — Apply virtual fog to the physical environment.
- Creating a Metal dynamic library — Compile a library of shaders and write it to a file as a dynamically linked library.
- Creating a photogrammetry command-line app — Generate 3D objects from images using RealityKit Object Capture.
- Creating an App for Face-Painting in AR — Combine RealityKit’s face detection with PencilKit to implement virtual face-painting.
- Creating recurring leaderboards — Create a leaderboard for your game that ranks player scores based on a schedule.
- Debugging the shaders within a draw command or compute dispatch — Identify and fix problematic shaders in your app using the shader debugger.
- Delivering Rich App Experiences with Haptics — Enhance your app’s experience by incorporating haptic and sound feedback into key interactive moments.
- Displaying a point cloud using scene depth — Present a visualization of the physical environment by placing points based a scene’s depth data.
- 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.
- Explore the ARKit Developer Forums
- Explore the RealityKit Developer Forums
- Export HDR media in your app using AVFoundation — Link to ACFoundation Documentation
- Finding multiple players for a game — Discover and invite other players to participate in a real-time game.
- Game Controller — Support hardware game controllers in your game.
- GCVirtualController — A software emulation of a real controller that you configure specifically for your game.
- GestureState — A property wrapper type that updates a property while the user performs a
- GKLocalPlayer — The local player who signs in to Game Center on the device running the game.
- Human Interface Guidelines: App Clip Codes — Human Interface Guidelines: App Clip Codes
- Human Interface Guidelines: Game Center — HIG
- Human Interface Guidelines: Playing haptics — HIG
- Interacting with App Clip Codes in AR — Display content and provide services in an AR experience with App Clip Codes.
- Introduction to Universal Scene Description (USD) — Introduction to Universal Scene Description (USD)
- Managing groups of resources with argument buffers — Create argument buffers to organize related resources.
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Metal Developer Tools on Windows — Metal Developer Tools on Windows
- Metal Feature Set Tables — Features, limits, and capabilities of Metal.
- Metal Performance Shaders — Optimize graphics and compute performance with kernels that are fine-tuned for the unique characteristics of each Metal GPU family.
- Metal Shading Language Specification — The Metal shading language is used to write graphics and compute functions that are executed on the GPU. Version 2.0 of the Metal shading language adds new features such as Raster Order Groups, Indirect Argument Buffers, Arrays of Samplers, Uniform Types, and much more.
- PHASE — Create dynamic audio experiences in your game or app that react to events and cues in the environment.
- PhotogrammetrySample — An object that represents one image and its corresponding metadata.
- PhotogrammetrySession — Manages the creation of a 3D model from a set of images.
- PhotoKit — Work with image and video assets managed by the Photos app, including those from iCloud Photos and Live Photos.
- Photos — Work with image and video assets managed by the Photos app, including those from iCloud Photo Library and Live Photos. Fetch and cache full-sized assets or thumbnails asynchronously, revise content, and sync revisions to multiple devices.
- PhysicallyBasedMaterial — A material that simulates the appearance of real-world objects.
- Processing HDR images with Metal — Implement a post-processing pipeline using the latest features on Apple GPUs.
- Reality Converter and USDZ Tools — Reality Converter and USDZ Tools
- RealityKit — Simulate and render 3D content for use in your augmented reality apps.
- Recording and Streaming Your macOS App — Share screen recordings, or broadcast live audio and video of your app, by adding ReplayKit to your macOS apps and games.
- Rendering reflections in real time using ray tracing — Implement realistic real-time lighting by dynamically generating reflection maps
- ReplayKit — Record or stream video from the screen, and audio from the app and microphone.
- Rigid Body Physics in USD Proposal — Rigid Body Physics in USD Proposal
- Search developer forums for AR Quick Look — Search developer forums for AR Quick Look
- Search forums for USDZ — Search forums for USDZ
- Shader libraries — Manage and load your app’s Metal shaders.
- Tracking geographic locations in AR — Track specific geographic areas of interest and render them in an AR experience.
- Training a Neural Network with Metal Performance Shaders — Use an MPS neural network graph to train a simple neural network digit classifier.
- USD Github Repository — USD Github Repository
- USDZ schemas for AR — Add augmented reality functionality to your 3D content using USDZ schemas.
Health & Fitness · 24
- Accessing a User’s Clinical Records — Request authorization to query HealthKit for a user’s clinical records and display them in your app.
- Accessing Data from a SMART Health Card — Query for and validate a verifiable clinical record.
- Accessing Health Records — Read clinical record data from the HealthKit store.
- appleWalkingSteadiness — A quantity sample type that measures the steadiness of the user’s gait.
- appleWalkingSteadinessEvent — A category sample type that records an incident where the user showed a reduced score for their gait’s steadiness.
- Background execution — Manage background sessions and tasks.
- Build a workout app for Apple Watch — Create your own workout app, quickly and easily, with HealthKit and SwiftUI.
- CMFallDetectionManager — An object for managing fall detection events.
- Core Bluetooth — Communicate with Bluetooth low energy and BR/EDR (“Classic”) Devices.
- Core Motion — Process accelerometer, gyroscope, pedometer, and environment-related events.
- Designing your app for the Always On state — Customize your watchOS app’s user interface for continuous display.
- Getting movement disorder symptom data — Retrieve data from the Apple Watch’s movement disorder manager.
- HealthKit — Access and share health and fitness data while maintaining the user’s privacy and control.
- HKAppleWalkingSteadinessClassification — A classification of a score based on the steadiness of the user’s gait.
- HKVerifiableClinicalRecord — A sample that represents the contents of a SMART Health Card or EU Digital COVID Certificate.
- HKVerifiableClinicalRecordQuery — A query for one-time access to a SMART Health Card or EU Digital COVID Certificate.
- Interacting with Bluetooth peripherals during background app refresh — Keep your complications up-to-date by reading values from a Bluetooth peripheral while your app is running in the background.
- Measuring Walking Quality Through iPhone Mobility Metrics
- Research and care app code-along source repository
- Research and Care Website — Research and Care Website
- UNLocationNotificationTrigger — A trigger condition that causes the system to deliver a notification when the user’s device enters or exits a geographic region you specify.
- Updating watchOS apps with timelines — Seamlessly schedule updates to your user interface, even while it’s inactive.
- Using Apple Watch to Estimate Cardio Fitness with VO2 max
- Using Apple Watch to Estimate Six-Minute Walk Distance
Maps & Location · 8
- Core Location — Obtain the geographic location and orientation of a device.
- CoreLocationUI — Streamline access to users’ location data through a standard, secure UI.
- Human Interface Guidelines: Accessing User Data — User privacy is paramount. To help people trust your app, it’s crucial to be transparent about the privacy-related data and resources you require and how you use them.
- MFI Program — MFi Technologies and the Apple Ecosystem
- Nearby Interaction — Locate and interact with nearby devices using identifiers, distance, and direction.
- Nearby Interactions with U1
- Requesting authorization to use location services — Obtain authorization to use location services and manage changes to your app’s authorization status.
- Sharing Your Location to Find a Park — Ask for location access using a customizable location button.
Photos & Camera · 15
- Capture setup — Configure built-in cameras and microphones, and external capture devices, for media capture.
- Capturing photos in RAW and Apple ProRAW formats — Support professional photography workflows by enabling minimally processed image capture in your camera app.
- Capturing still and Live Photos — Configure and capture single or multiple still images, Live Photos, and other forms of photography.
- Core Image — Use built-in or custom filters to process still and video images.
- Create ML — Create machine learning models for use in your app.
- 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
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Metal Shading Language Specification — The Metal shading language is used to write graphics and compute functions that are executed on the GPU. Version 2.0 of the Metal shading language adds new features such as Raster Order Groups, Indirect Argument Buffers, Arrays of Samplers, Uniform Types, and much more.
- PhotoKit — Work with image and video assets managed by the Photos app, including those from iCloud Photos and Live Photos.
- Photos — Work with image and video assets managed by the Photos app, including those from iCloud Photo Library and Live Photos. Fetch and cache full-sized assets or thumbnails asynchronously, revise content, and sync revisions to multiple devices.
- Processing HDR images with Metal — Implement a post-processing pipeline using the latest features on Apple GPUs.
- Selecting Photos and Videos in iOS — Improve the user experience of finding and selecting assets by using the Photos picker.
- Video Toolbox — Work directly with hardware-accelerated video encoding and decoding capabilities.
Privacy & Security · 48
- 2020 Data Breach Investigations Report
- Accessing a User’s Clinical Records — Request authorization to query HealthKit for a user’s clinical records and display them in your app.
- Accessing and modifying per-device data — Use a token from your app to query and modify two per-device binary digits stored
- Accessing Data from a SMART Health Card — Query for and validate a verifiable clinical record.
- Accessing Health Records — Read clinical record data from the HealthKit store.
- Analyzing HTTP traffic with Instruments — Measure HTTP-based network performance and usage of your apps.
- App Store Guidelines: User Privacy and Data Use
- Apple Pay on the Web — Support Apple Pay on your website with JavaScript-based APIs.
- Apple Pay on the Web Interactive Demo — Try configuring an Apple Pay JS button and then making a test transaction.
- Apple Platform Deployment
- Apple Platform Security
- Assessing fraud risk — Request and analyze risk data using server-to-server calls.
- Build Mail App Extensions — Create app extensions that block content, perform message and composing actions, and help message security.
- CloudKit — Store structured app and user data in iCloud containers that all users of your app can share.
- CloudKit Samples: Encryption — This project demonstrates using encrypted values with CloudKit and iCloud containers.
- CloudKit Samples: Private Database — This buildable (and testable) Xcode project demonstrates a simple use of the CloudKit Private Database.
- Connecting to a service with passkeys — Allow users to sign in to a service without typing a password.
- Core Location — Obtain the geographic location and orientation of a device.
- CoreLocationUI — Streamline access to users’ location data through a standard, secure UI.
- Create ML — Create machine learning models for use in your app.
- Device Activity — Monitor device activity with your app extension while maintaining privacy.
- Device and Data Access when Personal Safety is At Risk — Apple makes it easy to connect and share your life with the people closest to you. What you share, and whom you share it with, is up to you — including the decision to make changes to better protect your information or personal safety.
- Displaying Apple Pay Buttons Using JavaScript — Load and configure the JavaScript Apple Pay button.
- Distributing and updating a pass — Distribute a pass to your users or update an existing pass.
- Establishing your app’s integrity — Ensure that requests your server receives come from legitimate instances of your
- Family Controls — Authorize your app to provide parental controls on a device.
- HKVerifiableClinicalRecord — A sample that represents the contents of a SMART Health Card or EU Digital COVID Certificate.
- HKVerifiableClinicalRecordQuery — A query for one-time access to a SMART Health Card or EU Digital COVID Certificate.
- Human Interface Guidelines: Accessing User Data — User privacy is paramount. To help people trust your app, it’s crucial to be transparent about the privacy-related data and resources you require and how you use them.
- Introducing Private Click Measurement, PCM — This blog post covers a new feature called Private Click Measurement, or PCM, for measuring ad clicks across websites and from iOS apps to websites. It is part of iOS and iPadOS 14.5.
- Introduction to WebKit Content Blockers
- Learn more about enhancing SMS-delivered code security with domain-bound codes
- MailKit — Secure, customize, and act on email messages that users send and receive.
- Manage settings on devices in a Family Sharing group — Empower parents and guardians to configure constraints on other devices while preserving the family’s privacy.
- Managed Settings — Access and change settings with your app while maintaining user privacy and control.
- MFi Program — MFi Program top page
- Offering Apple Pay in Your App — Collect payments with iPhone and Apple Watch using Apple Pay.
- PassKit (Apple Pay and Wallet) — Process Apple Pay payments in your app, and create and distribute passes for the Wallet app.
- Prepare Your Network for iCloud Private Relay — Prepare Your Network for iCloud Private Relay
- Protecting the User’s Privacy — Secure personal data, and respect user preferences for how data is used.
- Requesting authorization to use location services — Obtain authorization to use location services and manage changes to your app’s authorization status.
- Securing Logins with iCloud Keychain Verification Codes — Use time-based codes generated on-device for a secure authentication experience.
- Sharing Your Location to Find a Park — Ask for location access using a customizable location button.
- Simplifying User Authentication in a tvOS App — Build a fluid sign-in experience for your tvOS apps using AuthenticationServices.
- Supporting passkeys — Eliminate passwords for your users when they sign in to apps and websites.
- Supporting Security Key Authentication Using Physical Keys — Allow users to authenticate using NFC, USB, and Lightning security keys in your app or service.
- Validating apps that connect to your server — Verify that connections to your server come from legitimate instances of your app.
- Wallet — Manage tickets, boarding passes, payment cards and other passes in the Wallet app.
Safari & Web · 26
- 2020 Data Breach Investigations Report
- App Store Guidelines: User Privacy and Data Use
- App-Bound Domains Domain WebKit Blog Post
- Apple Platform Security
- Build Mail App Extensions — Create app extensions that block content, perform message and composing actions, and help message security.
- Connecting to a service with passkeys — Allow users to sign in to a service without typing a password.
- Group Activities — Create app-specific activities your users can share and experience together.
- Introducing Private Click Measurement, PCM — This blog post covers a new feature called Private Click Measurement, or PCM, for measuring ad clicks across websites and from iOS apps to websites. It is part of iOS and iPadOS 14.5.
- Introducing Storage Access API — Learn about Storage Access API and Intelligent Tracking Prevention.
- Introduction to WebKit Content Blockers
- Learn more about bug reporting
- Learn more about enhancing SMS-delivered code security with domain-bound codes
- MailKit — Secure, customize, and act on email messages that users send and receive.
- NSUserActivity — A representation of the state of your app at a moment in time.
- 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
- Securing Logins with iCloud Keychain Verification Codes — Use time-based codes generated on-device for a secure authentication experience.
- SFSafariViewController — An object that provides a visible standard interface for browsing the web.
- SKAdNetwork — A class that validates advertisement-driven app installations.
- StoreKit — Support In-App Purchases and interactions with the App Store.
- Supporting coordinated media playback — Create synchronized media experiences that enable users to watch and listen across devices.
- Supporting passkeys — Eliminate passwords for your users when they sign in to apps and websites.
- Supporting Security Key Authentication Using Physical Keys — Allow users to authenticate using NFC, USB, and Lightning security keys in your app or service.
- Web Inspector Reference — Web Inspector Documentation
- WebKit — Integrate web content seamlessly into your app, and customize content interactions to meet your app’s needs.
- WebKit Open Source Project — WebKit Open Source Project
Spatial Computing · 38
- Adding an Apple Pay Button or a Custom Action in AR Quick Look — Provide a banner that users can tap to make a purchase or perform a custom action in an AR experience.
- Applying realistic material and lighting effects to entities — Enhance the appearance of objects in a RealityKit scene with Physically Based Rendering
- AR Quick Look Gallery — AR Quick Look Gallery Page
- ARKit — Integrate hardware sensing features to produce augmented reality apps and games.
- ASWF USD Working Group — ASWF USD Working Group
- Building an immersive experience with RealityKit — Use systems and postprocessing effects to create a realistic underwater scene.
- Capturing photographs for RealityKit Object Capture — Take high-quality images of objects to generate 3D models.
- Capturing photographs for RealityKit Object Capture — Take high-quality images of objects to generate 3D models.
- Core Haptics — Compose and play haptic patterns to customize your iOS app’s haptic feedback.
- Create ML — Create machine learning models for use in your app.
- Creating 3D objects from photographs — Construct virtual objects to use in your AR experiences.
- Creating a fog effect using scene depth — Apply virtual fog to the physical environment.
- Creating a photogrammetry command-line app — Generate 3D objects from images using RealityKit Object Capture.
- Creating an App for Face-Painting in AR — Combine RealityKit’s face detection with PencilKit to implement virtual face-painting.
- Delivering Rich App Experiences with Haptics — Enhance your app’s experience by incorporating haptic and sound feedback into key interactive moments.
- Displaying a point cloud using scene depth — Present a visualization of the physical environment by placing points based a scene’s depth data.
- Explore the ARKit Developer Forums
- Explore the RealityKit Developer Forums
- Human Interface Guidelines: App Clip Codes — Human Interface Guidelines: App Clip Codes
- Human Interface Guidelines: Nearby interactions — HIG
- Human Interface Guidelines: Playing haptics — HIG
- Interacting with App Clip Codes in AR — Display content and provide services in an AR experience with App Clip Codes.
- Introduction to Universal Scene Description (USD) — Introduction to Universal Scene Description (USD)
- Nearby Interaction — Locate and interact with nearby devices using identifiers, distance, and direction.
- Nearby Interactions with U1
- PhotogrammetrySample — An object that represents one image and its corresponding metadata.
- PhotogrammetrySession — Manages the creation of a 3D model from a set of images.
- PhysicallyBasedMaterial — A material that simulates the appearance of real-world objects.
- Reality Converter and USDZ Tools — Reality Converter and USDZ Tools
- RealityKit — Simulate and render 3D content for use in your augmented reality apps.
- Rigid Body Physics in USD Proposal — Rigid Body Physics in USD Proposal
- Search developer forums for AR Quick Look — Search developer forums for AR Quick Look
- Search forums for USDZ — Search forums for USDZ
- 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.
- Tracking geographic locations in AR — Track specific geographic areas of interest and render them in an AR experience.
- USD Github Repository — USD Github Repository
- USDZ schemas for AR — Add augmented reality functionality to your 3D content using USDZ schemas.
- Vision — Analyze image and video content in your app using computer vision algorithms for object detection, text recognition, and image segmentation.
Swift · 38
- ARC - The Swift Programming Language
- AsyncImage — A view that asynchronously loads and displays an image.
- Attributes - The Swift Programming Language
- Collection — A sequence whose elements can be traversed multiple times,
- Diversity in Swift
- DocC — Produce rich API reference documentation and interactive tutorials for your app, framework, or package.
- Fruta: Building a feature-rich app with SwiftUI — Create a shared codebase to build a multiplatform app that offers widgets and an App Clip.
- Loading and displaying a large data feed — Consume data in the background, and lower memory use by batching imports and preventing duplicate records.
- Package Collections
- Result Builders - The Swift Programming Language
- SE-0296: Async/await — Swift evolution proposal
- SE-0297: Concurrency Interoperability with Objective-C — Swift evolution proposal
- SE-0298: Async/Await: Sequences — Swift evolution proposal
- SE-0300: Continuations for interfacing async tasks with synchronous code — Swift evolution proposal
- SE-0302: Sendable and @Sendable closures — Swift evolution proposal
- SE-0304: Structured concurrency — Swift evolution proposal
- SE-0306: Actors — Swift evolution proposal
- SE-0310: Effectful read-only properties — Swift evolution proposal
- SE-0313: Improved control over actor isolation — Swift evolution proposal
- SE-0314: AsyncStream and AsyncThrowingStream — Swift evolution proposal
- SE-0316: Global actors — Swift evolution proposal
- SE-0317: async let — Swift evolution proposal
- Sequence — A type that provides sequential, iterated access to its elements.
- Swift Algorithms on GitHub — GitHub repository for the Swift Algorithms package.
- Swift Argument Parser on GitHub — Straightforward, type-safe argument parsing for Swift.
- Swift AWS Lambda Runtime on GitHub — The Swift AWS Lambda Runtime GitHub repository where you can find sample code, scripts, documentation and more.
- Swift Collections on GitHub — GitHub repository for the Swift Collections package.
- Swift Compiler Driver on GitHub — The GitHub repository for the Swift compiler driver project.
- Swift Evolution — The list of Swift Evolution proposals.
- Swift Forums — Forums for the Swift open-source project.
- Swift Mentorship Program
- Swift Numerics on GitHub — Swift Numerics provides a set of modules that support numerical computing in Swift.
- Swift Package Collection Generator
- Swift Package Index
- Swift System on GitHub — GitHub repository for the Swift System package.
- The Swift Programming Language: Concurrency — The chapter of the Language Guide in The Swift Programming Language that covers asynchronous and parallel code, including asynchronous functions (async/await), asynchronous sequences (AsyncSequence), async let, tasks, task groups, and actors.
- Updating an App to Use Swift Concurrency — Improve your app’s performance by refactoring your code to take advantage of asynchronous functions in Swift.
- URLSession — An object that coordinates a group of related, network data transfer tasks.
SwiftUI & UI Frameworks · 56
- About focus interactions for Apple TV — Design and implement intuitive control schemes for menus and interactive user interface layouts.
- Accessibility — Make your SwiftUI apps accessible to everyone, including people with disabilities.
- Accessibility design for Mac Catalyst — Improve navigation in your app by using keyboard shortcuts and accessibility containers.
- Accessibility for Developers — Collection of Accessibility resources for macOS, iOS, watchOS, and tvOS.
- Add rich graphics to your SwiftUI app — Make your apps stand out by adding background materials, vibrancy, custom graphics, and animations.
- Adding hardware keyboard support to your app — Enhance interactions with your app by handling raw keyboard events, writing custom keyboard shortcuts, and working with gesture recognizers.
- Adding interactivity with gestures — Use gesture modifiers to add interactivity to your app.
- Adding menus and shortcuts to the menu bar and user interface — Provide quick access to useful actions by adding menus and keyboard shortcuts to your Mac app built with Mac Catalyst.
- Adjusting your layout with keyboard layout guide — Respond dynamically to keyboard movement by using the tracking features of the keyboard layout guide.
- AppKit — Construct and manage a graphical, event-driven user interface for your macOS app.
- AsyncImage — A view that asynchronously loads and displays an image.
- AVKit — Create user interfaces for media playback, complete with transport controls, chapter navigation, picture-in-picture support, and display of subtitles and closed captions.
- Bring an iPad App to the Mac with Mac Catalyst
- Build a workout app for Apple Watch — Create your own workout app, quickly and easily, with HealthKit and SwiftUI.
- Building a great Mac app with SwiftUI — Create engaging SwiftUI Mac apps by incorporating side bars, tables, toolbars, and several other popular user interface elements.
- Building and improving your app with Mac Catalyst — Improve your iPadOS app with Mac Catalyst by supporting native controls, multiple windows, sharing, printing, menus and keyboard shortcuts.
- Building high-performance lists and collection views — Improve the performance of lists and collections in your app with prefetching and image preparation.
- Classifying Live Audio Input with a Built-in Sound Classifier — Detect and identify hundreds of sounds by using a trained classifier.
- Composing SwiftUI gestures — Combine gestures to create complex interactions.
- Create accessible experiences for watchOS — Learn how to make your watchOS app more accessible.
- Creating accessible views — Make your app accessible to everyone by applying accessibility modifiers to your SwiftUI views.
- Customizing and resizing sheets in UIKit — Discover how to create a layered and customized sheet experience in UIKit.
- Customizing the tvOS Playback Experience — Adopt the latest features of the redesigned tvOS player user interface to provide a more streamlined way to watch your content.
- Designing your app for the Always On state — Customize your watchOS app’s user interface for continuous display.
- Download SF Symbols
- Enhancing your iPad app with pointer interactions — Provide a great user experience with pointing devices, by incorporating pointer content effects and shape customizations.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Fruta: Building a feature-rich app with SwiftUI — Create a shared codebase to build a multiplatform app that offers widgets and an App Clip.
- GestureState — A property wrapper type that updates a property while the user performs a
- Human Interface Guidelines: Designing for iOS — HIG
- Human Interface Guidelines: Designing for tvOS — HIG
- Human Interface Guidelines: Mac Catalyst — When you use Mac Catalyst to create a Mac version of your iPad app, you make your app available to a new audience while giving existing users the opportunity to enjoy it in a new environment.
- Human Interface Guidelines: Pointing devices — HIG
- Human Interface Guidelines: SF Symbols — HIG
- Implementing Advanced Text Input Features — Demonstrates how to implement many common user interface patterns surrounding the iOS keyboard, as well as how to create a custom keyboard extension.
- Input and event modifiers — Supply actions for a view to perform in response to user input and system events.
- Introducing Private Click Measurement, PCM — This blog post covers a new feature called Private Click Measurement, or PCM, for measuring ad clicks across websites and from iOS apps to websites. It is part of iOS and iPadOS 14.5.
- Introducing SF Symbols
- Keeping a widget up to date — Plan your widget’s timeline to show timely, relevant information using
- Loading and displaying a large data feed — Consume data in the background, and lower memory use by batching imports and preventing duplicate records.
- Localization — Expand the market for your app by supporting multiple languages and regions.
- Mac Catalyst — Create a version of your iPad app that users can run on a Mac device.
- Making a configurable widget — Give people the option to customize their widgets by adding a custom app intent
- Navigating an app’s user interface using a keyboard — Navigate between user interface elements using a keyboard and focusable UI elements in iPad apps and apps built with Mac Catalyst.
- NSUserActivity — A representation of the state of your app at a moment in time.
- Running your iOS apps in macOS — Modernize the iOS apps you choose to run on a Mac with Apple silicon, or opt out of
- Showcase App Data in Spotlight — Index app data so users can find it by using Spotlight search.
- Sound Analysis — Classify various sounds by analyzing audio files or streams.
- SwiftUI — Declare the user interface and behavior for your app on every platform.
- Synchronizing a local store to the cloud — Share data between a user’s devices and other iCloud users.
- TextKit — Manage text storage and perform custom layout of text-based content in your app’s views.
- TimelineEntry — A type that specifies the date to display a widget, and, optionally,
- UIKit — Construct and manage a graphical, event-driven user interface for your iOS, iPadOS, or tvOS app.
- UNLocationNotificationTrigger — A trigger condition that causes the system to deliver a notification when the user’s device enters or exits a geographic region you specify.
- Updating watchOS apps with timelines — Seamlessly schedule updates to your user interface, even while it’s inactive.
- Using TextKit 2 to interact with text — Interact with text by managing text selection and inserting custom text elements.
System Services · 45
- Accelerate — Make large-scale mathematical computations and image calculations, optimized for high performance and low energy consumption.
- Analyzing HTTP traffic with Instruments — Measure HTTP-based network performance and usage of your apps.
- Automating CloudKit Development — This document describes CloudKit tools and authentication considerations for automating processes to support local integration testing and continuous integration (CI) systems.
- AVFoundation — Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.
- Background execution — Manage background sessions and tasks.
- CloudKit — Store structured app and user data in iCloud containers that all users of your app can share.
- CloudKit Samples: Encryption — This project demonstrates using encrypted values with CloudKit and iCloud containers.
- CloudKit Samples: Private Database — This buildable (and testable) Xcode project demonstrates a simple use of the CloudKit Private Database.
- Core Bluetooth — Communicate with Bluetooth low energy and BR/EDR (“Classic”) Devices.
- Designing your app for the Always On state — Customize your watchOS app’s user interface for continuous display.
- Downloading files from websites — Download files directly to the filesystem.
- Encrypting and Decrypting Directories — Compress and encrypt the contents of an entire directory or decompress and decrypt an archived directory using Apple Encrypted Archive.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- File Provider — An extension other apps use to access files and folders managed by your app and synced with a remote storage.
- Foundation — Access essential data types, collections, and operating-system services to define the base layer of functionality for your app.
- INSendMessageIntent — A request to send a message to the designated recipients.
- INStartCallIntent — A request to start an audio or video call with one or more users.
- Integrating a Text-Based Schema into Your Workflow — Define and update your schema with the CloudKit Schema Language.
- Interacting with Bluetooth peripherals during background app refresh — Keep your complications up-to-date by reading values from a Bluetooth peripheral while your app is running in the background.
- Keeping your complications up to date — Replace or extend the data in your complication’s timeline.
- Keeping your watchOS content up to date — Ensure that your app’s content is relevant and up to date.
- Loading and displaying a large data feed — Consume data in the background, and lower memory use by batching imports and preventing duplicate records.
- Localization — Expand the market for your app by supporting multiple languages and regions.
- Managing iCloud Containers with CloudKit Database App — Inspect and modify the schema and data for your app’s iCloud container.
- MFi Program — MFi Program top page
- MFI Program — MFi Technologies and the Apple Ecosystem
- Nearby Interaction — Locate and interact with nearby devices using identifiers, distance, and direction.
- Nearby Interactions with U1
- Network — Create network connections to send and receive data using transport and security protocols.
- Optimize your app for 5G
- Prepare Your Network for iCloud Private Relay — Prepare Your Network for iCloud Private Relay
- Protecting the User’s Privacy — Secure personal data, and respect user preferences for how data is used.
- Replicated File Provider extension — Build a File Provider extension that syncs the local copies of your files with your remote storage.
- Sharing access to keychain items among a collection of apps — Enable apps to share keychain items with each other by adding the apps to an access group.
- Showcase App Data in Spotlight — Index app data so users can find it by using Spotlight search.
- SiriKit — Empower users to interact with their devices through voice, intelligent suggestions, and personalized workflows.
- Supporting Associated Domains — Connect your app and a website to provide both a native app and a browser experience.
- Synchronizing a local store to the cloud — Share data between a user’s devices and other iCloud users.
- Synchronizing files using file provider extensions — Make remote files available in macOS and iOS, and synchronize their states by using file provider extensions.
- UNLocationNotificationTrigger — A trigger condition that causes the system to deliver a notification when the user’s device enters or exits a geographic region you specify.
- Updating watchOS apps with timelines — Seamlessly schedule updates to your user interface, even while it’s inactive.
- URLSession — An object that coordinates a group of related, network data transfer tasks.
- URLSession Programming Guide
- User Notifications — Push user-facing notifications to the user’s device from a server, or generate them locally from your app.
- WCSession — The object that initiates communication between a WatchKit extension and its companion iOS app.