2024
WWDC24 · generated catalog
WWDC24 related resources
The 275 resources — documentation, sample projects, guides and downloads — referenced by WWDC24 sessions, grouped by topic. Also available as raw TSV.
Accessibility & Inclusion · 8
- Accessibility updates — Learn about important changes to Accessibility.
- accessibilityShowsLargeContentViewer() — Adds a default large content view to be shown by
- Enhancing the accessibility of your SwiftUI app — Support advancements in SwiftUI accessibility to make your app accessible to everyone.
- Forum: Accessibility & Inclusion
- Human Interface Guidelines: Accessibility — HIG
- Human Interface Guidelines: Typography — HIG
- Performing accessibility testing for your app — Test your app with accessibility settings and assistive technologies to discover and address accessibility issues.
- UILargeContentViewerInteraction — An interaction that enables a gesture to present the large content viewer for cases when supporting the largest dynamic type sizes isn’t appropriate.
AI & Machine Learning · 31
- Accelerating app interactions with App Intents — Enable people to use your app’s features quickly through Siri, Spotlight, and Shortcuts.
- App Intents — Make content and actions discoverable by Apple Intelligence and support system experiences like Siri, Spotlight, Shortcuts, and widgets.
- App schema domains — Declare support for well-known actions and content by applying system-defined schemas to
- AppKit — Construct and manage a graphical, event-driven user interface for your macOS app.
- Building spatial experiences for business apps with enterprise APIs for visionOS — Grant enhanced sensor access and increased platform control to your visionOS app by using entitlements.
- Capturing consistent color images — Add the power of a photography studio and lighting rig to your app with the new Constant Color API.
- Core ML — Integrate machine learning models into your app.
- Core Spotlight — Add search capabilities to your app, and index your content so
- Creating a camera experience for the Lock Screen — Offer your app’s camera experience on locked devices from Control Center, the Lock Screen, and the Action button.
- Creating controls to perform actions across the system — Perform your app’s actions from Control Center, the Lock Screen, and the Action button.
- Creating your first app intent — Create your first app intent that makes your app available in system experiences like Spotlight or the Shortcuts app.
- Exploring object tracking with ARKit — Find and track real-world objects in visionOS using reference objects you train with Create ML.
- Filtering images with MPSGraph FFT operations — Filter an image with MPSGraph fast Fourier transforms using the convolutional theorem.
- Forum: Business & Education
- Forum: Design
- Forum: Machine Learning and AI
- Forum: Photos & Camera
- Forum: Spatial Computing
- Forum: UI Frameworks
- Human Interface Guidelines: Controls — HIG
- Implementing object tracking in your app — Create engaging interactions by training models to recognize and track real-world objects in people’s surroundings.
- Integrating your app with Siri and Apple Intelligence — Create app intents, entities, and enumerations that conform to assistant schemas to tap into the enhanced action capabilities of Siri and Apple Intelligence.
- Integrating your photo app with Apple Intelligence — Adopt photo schemas so people can edit and manage photos with Siri.
- Making actions and content discoverable and widely available — Adopt App Intents to make your app discoverable with Siri and Apple Intelligence, Spotlight, controls, widgets, and the Action button.
- Metal Performance Shaders Graph — Build, compile, and execute compute graphs utilizing all the different compute devices on the platform, including GPU, CPU, and Neural Engine.
- MPSGraph — The optimized representation of a compute graph of operations and tensors.
- Stable Diffusion with Core ML on Apple Silicon — Discussion of Stable Diffusion models optimized for running on Apple silicon.
- Translating text within your app — Display simple system translations and create custom translation experiences.
- Translation — Translate text in your app from one language to another.
- UIKit — Construct and manage a graphical, event-driven user interface for your iOS, iPadOS, or tvOS app.
- WKWebView — An object that displays interactive web content, such as for an in-app browser.
App Services · 109
- A-Frame WebXR framework — A web framework for building 3D/AR/VR experiences
- About the security of passkeys
- Accelerating app interactions with App Intents — Enable people to use your app’s features quickly through Siri, Spotlight, and Shortcuts.
- Accessing a person’s contact data using Contacts and ContactsUI — Allow people to grant your app access to contact data by adding the Contact access button and Contact access picker to your app.
- AdAttributionKit — Present, process, and register postbacks for in-app ads in the App Store and alternative app marketplaces.
- 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.
- Adding refinements and configuration to controls — Customize the way controls display across the system and offer people the ability to configure them.
- Adopting SwiftData for a Core Data app — Persist data in your app intuitively with the Swift native persistence framework.
- App Intents — Make content and actions discoverable by Apple Intelligence and support system experiences like Siri, Spotlight, Shortcuts, and widgets.
- App schema domains — Declare support for well-known actions and content by applying system-defined schemas to
- AppKit updates — Learn about important changes to AppKit.
- Apple Pencil — Enhance your iPad app’s user experience by supporting drawing, handwriting, and other features of Apple Pencil.
- Apple Pencil updates — Learn about important changes to Apple Pencil.
- ASCredentialProviderExtensionCapabilities — The credential types supported by a credential provider extension, and whether it presents a user interface.
- Attributing ads with SKAdNetwork and Private Click Measurement — SKAdNetwork and Private Click Measurement let advertisers attribute their advertising across multiple sources — all while maintaining user privacy.
- Authentication Services — Make it easy for users to log into apps and services.
- Automatic trait tracking — Reduce the need to manually register for trait changes when you use traits within a method or closure that supports automatic trait tracking.
- babylon.js – webGL and WebXR library — Web rendering engine
- Building a guessing game for visionOS — Create a team-based guessing game for visionOS using Group Activities.
- Building spatial experiences for business apps with enterprise APIs for visionOS — Grant enhanced sensor access and increased platform control to your visionOS app by using entitlements.
- Configuring the PencilKit tool picker — Incorporate a custom PencilKit tool picker with a variety of system and custom tools into a drawing app.
- Connecting to a service with passkeys — Allow users to sign in to a service without typing a password.
- Core Spotlight — Add search capabilities to your app, and index your content so
- Creating a camera experience for the Lock Screen — Offer your app’s camera experience on locked devices from Control Center, the Lock Screen, and the Action button.
- Creating a data visualization dashboard with Swift Charts — Visualize an entire data collection efficiently by instantiating a single vectorized plot in Swift Charts.
- Creating controls to perform actions across the system — Perform your app’s actions from Control Center, the Lock Screen, and the Action button.
- Creating your first app intent — Create your first app intent that makes your app available in system experiences like Spotlight or the Shortcuts app.
- 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.
- Displaying place information using the Maps Embed API — Show place information on a map using a URL.
- Enabling the double-tap gesture on Apple Watch — Customize your app’s response to the double-tap gesture on Apple Watch.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Fetching and filtering time-based model changes — Track all inserts, updates, and deletes that occur in a data store and process
- FinanceKit — Securely store orders and financial information details about eligible accounts in Apple Wallet.
- Forum: App & System Services
- Forum: App Store Distribution & Marketing
- Forum: Business & Education
- Forum: Design
- Forum: Health & Fitness
- Forum: Machine Learning and AI
- Forum: Maps & Location
- Forum: Privacy & Security
- Forum: Programming Languages
- Forum: Safari & Web
- Forum: UI Frameworks
- Generating a signature for promotional offers — Create a signature to validate a promotional offer using your private key.
- 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: Apple Pencil and Scribble
- Human Interface Guidelines: Controls — HIG
- 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
- Identifying unique locations with Place IDs — Obtain information about a point of interest that persists over its lifetime.
- In-App Purchase — Offer content and services in your app across Apple platforms using a Swift-based interface.
- Integrating your app with Siri and Apple Intelligence — Create app intents, entities, and enumerations that conform to assistant schemas to tap into the enhanced action capabilities of Siri and Apple Intelligence.
- Integrating your photo app with Apple Intelligence — Adopt photo schemas so people can edit and manage photos with Siri.
- Interacting with nearby points of interest — Provide automatic search completions for a partial search query, search the map for relevant locations nearby, and retrieve details for selected points of interest.
- Introducing StoreKit 2
- Journaling Suggestions — Display a set of recent, personal events that inspire someone to contribute to your app’s creative workflow.
- Loading the latest version of the Apple Pay JS SDK — Link to the most recent autoupdating version of the Apple Pay JS SDK or a version of your choice.
- Looking Up an Artist — Query for artists by artist name.
- Making actions and content discoverable and widely available — Adopt App Intents to make your app discoverable with Siri and Apple Intelligence, Spotlight, controls, widgets, and the Action button.
- Merchandising win-back offers in your app — Present win-back offers to eligible customers in your app with the win-back offer sheet or by implementing custom merchandising.
- Message — An instance for receiving and displaying App Store messages in your app.
- offer — The offer that applies to the transaction, including its offer type, payment mode, and ID.
- Original API for In-App Purchase — Offer additional content and services in your app using the Original In-App Purchase API.
- Passkeys overview
- PassKit (Apple Pay and Wallet) — Process Apple Pay payments in your app, and create and distribute passes for the Wallet app.
- PlayCanvas – webGL and WebXR library — webGL and WebXR library
- Playing haptic feedback in your app — Provide tactile feedback when people perform certain actions in your app.
- Presenting the suggestions picker and processing a selection — Display the journaling suggestions picker and process a suggestion that someone chooses.
- Product.SubscriptionInfo.RenewalInfo — The renewal information for an auto-renewable subscription.
- Public-Private Key Authentication — Register and authenticate users with passkeys and security keys, without using passwords.
- PurchaseIntent — An instance that emits purchase intents, which indicate that the customer initiated a purchase outside of your app, for your app to complete.
- Resources - Apple Maps - Apple Developer — Tools, documentation, tutorials, videos, and more.
- 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.
- SemanticTags — An object that contains machine-readable metadata the system uses to offer a pass and suggest related actions.
- Sending broadcast push notification requests to APNs — Transmit your broadcast notification payload to Apple Push Notifications service (APNs).
- Sending channel management requests to APNs — Manage channels that your application uses for broadcast push notifications.
- Setting up broadcast push notifications — Enable broadcast capability for Apple Push Notifications service (APNs).
- Setting up StoreKit Testing in Xcode — Prepare your test environment to test in-app purchases with data you configure locally.
- 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.
- StoreKit views — Display a customizable In-App Purchase store using StoreKit views for SwiftUI.
- Submit feedback
- Supporting offer codes in your app — Enable customers to redeem offer codes through the App Store or within your app.
- Supporting passkeys — Eliminate passwords for your users when they sign in to apps and websites.
- Supporting win-back offers in your app — Re-engage previous subscribers with a free or discounted offer for an auto-renewable subscription, for a specific duration.
- Swift Charts updates — Learn about important changes to Swift Charts.
- SwiftData — Write your model code declaratively to add managed persistence and efficient
- Testing in-app purchases with StoreKit transaction manager in Xcode — Use the transaction manager within Xcode to test in-app purchases without requiring a connection to App Store servers.
- Testing win-back offers in the sandbox environment — Verify that your app receives and handles win-back offer transactions, including those made outside your app.
- Testing win-back offers in Xcode — Validate your app’s handling of win-back offers that you configure for the testing environment.
- three.js – webGL and WebXR library — three.js – webGL and WebXR library
- TipKit — Display tips that help people discover features in your app.
- Transaction properties — The properties of a transaction, including identifiers, purchase and revocation dates and details, status, and offer details.
- Translating text within your app — Display simple system translations and create custom translation experiences.
- Translation — Translate text in your app from one language to another.
- UIKit updates — Learn about important changes to UIKit.
- UIUpdateLink — An object you use to observe, participate in, and affect the UI update process.
- Updating controls locally and remotely — Update and reload controls from your app or using push notifications.
- Visualizing HealthKit State of Mind in visionOS — Incorporate HealthKit State of Mind into your app and visualize the data in visionOS.
- Web Inspector Reference — Web Inspector Documentation
- WebKit Open Source Project — WebKit Open Source Project
- WebKit.org – Report issues to the WebKit open-source project — Bug tracking for WebKit open source project
- WebXR Chess Garden Demo — Example of a chess game that uses WebXR.
- WebXR Device API | W3C
- WidgetKit — Extend the reach of your app by creating widgets, watch complications, Live Activities, and controls.
- Wonderland Engine — Web-based 3D engine for 3D, VR, and AR.
- WorkoutKit — Create, preview, and sync workout compositions to the Workout app.
App Store, Distribution & Marketing · 33
- AdAttributionKit — Present, process, and register postbacks for in-app ads in the App Store and alternative app marketplaces.
- 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.
- Attributing ads with SKAdNetwork and Private Click Measurement — SKAdNetwork and Private Click Measurement let advertisers attribute their advertising across multiple sources — all while maintaining user privacy.
- consumptionRequestReason — The customer-provided reason for a refund request.
- currency — The three-letter ISO 4217 currency code for the price of the product.
- Forum: App & System Services
- Forum: App Store Distribution & Marketing
- Generating a signature for promotional offers — Create a signature to validate a promotional offer using your private key.
- Get Transaction History — Get a customer’s in-app purchase transaction history for your app.
- In-App Purchase — Offer content and services in your app across Apple platforms using a Swift-based interface.
- Introducing StoreKit 2
- Merchandising win-back offers in your app — Present win-back offers to eligible customers in your app with the win-back offer sheet or by implementing custom merchandising.
- Message — An instance for receiving and displaying App Store messages in your app.
- offer — The offer that applies to the transaction, including its offer type, payment mode, and ID.
- offerDiscountType — The payment mode for a discount offer on an In-App Purchase.
- Original API for In-App Purchase — Offer additional content and services in your app using the Original In-App Purchase API.
- price — The price, in milliunits, of the In-App Purchase that the system records in the transaction.
- Product.SubscriptionInfo.RenewalInfo — The renewal information for an auto-renewable subscription.
- PurchaseIntent — An instance that emits purchase intents, which indicate that the customer initiated a purchase outside of your app, for your app to complete.
- refundPreference — A value that indicates your preferred outcome for the refund request.
- renewalPrice — The renewal price, in milliunits, of the auto-renewable subscription that renews at the next billing period.
- Send Consumption Information — Send consumption information about an In-App Purchase to the App Store after your server receives a consumption request notification.
- Setting up StoreKit Testing in Xcode — Prepare your test environment to test in-app purchases with data you configure locally.
- Simplifying your implementation by using the App Store Server Library — Use Apple’s open source library to create JSON Web Tokens (JWT) to authorize your calls, verify transactions, extract transaction identifiers from receipts, and more.
- StoreKit views — Display a customizable In-App Purchase store using StoreKit views for SwiftUI.
- Submit feedback
- Supporting offer codes in your app — Enable customers to redeem offer codes through the App Store or within your app.
- Supporting win-back offers in your app — Re-engage previous subscribers with a free or discounted offer for an auto-renewable subscription, for a specific duration.
- Testing in-app purchases with StoreKit transaction manager in Xcode — Use the transaction manager within Xcode to test in-app purchases without requiring a connection to App Store servers.
- Testing win-back offers in the sandbox environment — Verify that your app receives and handles win-back offer transactions, including those made outside your app.
- Testing win-back offers in Xcode — Validate your app’s handling of win-back offers that you configure for the testing environment.
- Transaction properties — The properties of a transaction, including identifiers, purchase and revocation dates and details, status, and offer details.
Audio & Video · 14
- Building a guessing game for visionOS — Create a team-based guessing game for visionOS using Group Activities.
- Building an immersive media viewing experience — Add a deeper level of immersion to media playback in your app with RealityKit and Reality Composer Pro.
- Building spatial experiences for business apps with enterprise APIs for visionOS — Grant enhanced sensor access and increased platform control to your visionOS app by using entitlements.
- Creating a tvOS media catalog app in SwiftUI — Build standard content lockups and rows of content shelves for your tvOS app.
- Destination Video — Leverage SwiftUI to build an immersive media experience in a multiplatform app.
- Enabling video reflections in an immersive environment — Create a more immersive experience by adding video reflections in a custom environment.
- Forum: App & System Services
- Forum: Business & Education
- Forum: Media Technologies
- Forum: Photos & Camera
- Forum: UI Frameworks
- Group Activities — Create app-specific activities your users can share and experience together.
- Providing an integrated view of your timeline when playing HLS interstitials — Go beyond simple ad insertion with point and fill occupancy HLS interstitials.
- ScreenCaptureKit — Filter and select screen content and stream it to your app.
Business & Education · 13
- Apple Business Essentials 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 Platform Deployment
- Apple School Manager User Guide — Apple School Manager User Guide
- Building spatial experiences for business apps with enterprise APIs for visionOS — Grant enhanced sensor access and increased platform control to your visionOS app by using entitlements.
- Classroom for iPad User Guide — Classroom for iPad User Guide
- Classroom for Mac User Guide — Classroom for Mac User Guide
- Device Management — Manage your organization’s devices remotely.
- Device Management Client Schema on GitHub
- Forum: Business & Education
- Schoolwork User Guide — Schoolwork lets you easily add classes, send assessments, and create assignments, then see assessment results and class, assignment, and student progress.
- 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 · 30
- Accelerating app interactions with App Intents — Enable people to use your app’s features quickly through Siri, Spotlight, and Shortcuts.
- App Intents — Make content and actions discoverable by Apple Intelligence and support system experiences like Siri, Spotlight, Shortcuts, and widgets.
- Building an immersive media viewing experience — Add a deeper level of immersion to media playback in your app with RealityKit and Reality Composer Pro.
- CarPlay for developers — Guide to CarPlay development
- Composing SwiftUI gestures — Combine gestures to create complex interactions.
- Creating visual effects with SwiftUI — Add scroll effects, rich color treatments, custom transitions, and advanced effects using shaders and a text renderer.
- Creating your first app intent — Create your first app intent that makes your app available in system experiences like Spotlight or the Shortcuts app.
- CustomHoverEffect — A type that represents how a view should change when a pointer hovers
- Designing for visionOS — When people wear Apple Vision Pro, they enter an infinite 3D space where they can engage with your app or game while staying connected to their surroundings.
- Destination Video — Leverage SwiftUI to build an immersive media experience in a multiplatform app.
- Download the Game Porting Toolkit — The Game Porting Toolkit includes an updated set of tools that can help you accelerate porting your advanced games to Mac, and to get them up and running on iPad and iPhone.
- Elevating your iPad app with a tab bar and sidebar — Provide a compact, ergonomic tab bar for quick access to key parts of your app, and a sidebar for in-depth navigation.
- Enabling video reflections in an immersive environment — Create a more immersive experience by adding video reflections in a custom environment.
- Enhancing your app’s content with tab navigation — Keep your app content front and center while providing quick access to navigation using the tab bar.
- Forum: Design
- Forum: Graphics & Games
- Forum: Media Technologies
- Forum: UI Frameworks
- Human Interface Guidelines: Designing for games — HIG
- Human Interface Guidelines: Eyes — HIG
- Human Interface Guidelines: Game controls — HIG Game controls
- Human Interface Guidelines: Gestures — HIG
- 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: Writing — HIG
- Incorporating real-world surroundings in an immersive experience — Create an immersive experience by making your app’s content respond to the local shape of the world.
- Integrating your app with Siri and Apple Intelligence — Create app intents, entities, and enumerations that conform to assistant schemas to tap into the enhanced action capabilities of Siri and Apple Intelligence.
- Making actions and content discoverable and widely available — Adopt App Intents to make your app discoverable with Siri and Apple Intelligence, Spotlight, controls, widgets, and the Action button.
- MFI Program — MFi Technologies and the Apple Ecosystem
- Unifying your app’s animations — Create a consistent UI animation experience across SwiftUI, UIKit, and AppKit.
Developer Tools · 52
- Adding tests to your Xcode project — Include test targets that build code to test the logic in your functions, check for integration issues, automate UI workflows, and measure performance.
- AOUSD – Alliance for OpenUSD — Alliance for OpenUSD
- Building an object reconstruction app — Reconstruct objects from user-selected input images by using photogrammetry.
- Composing interactive 3D content with RealityKit and Reality Composer Pro — Build an interactive scene using an animation timeline.
- 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.
- Creating a Spaceship game — Build an immersive game using RealityKit audio, simulation, and rendering features.
- Creating a spatial drawing app with RealityKit — Use low-level mesh and texture APIs to achieve fast updates to a person’s brush
- Download the Game Porting Toolkit — The Game Porting Toolkit includes an updated set of tools that can help you accelerate porting your advanced games to Mac, and to get them up and running on iPad and iPhone.
- Drawing paths and shapes
- Environment variable reference — Review predefined environment variables you use in custom build scripts.
- Forum: Developer Tools & Services
- Forum: Graphics & Games
- Forum: Programming Languages
- Forum: Spatial Computing
- 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.
- Getting started with Metal-cpp — Metal-cpp is a low-overhead C++ interface for Metal that helps developers add Metal functionality to graphics apps, games, and game engines that are written in C++.
- 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.
- Install Swift — Installation guide for Swift on all platforms
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Metal Developer Resources — Accelerate graphics and much more with Metal. Metal powers hardware-accelerated graphics on Apple platforms by providing a low-overhead API, rich shading language, tight integration between graphics and compute, and an unparalleled suite of GPU profiling and debugging tools. Your games and pro apps can take full advantage of the incredible performance and efficiency of Apple silicon across iPhone, iPad, Mac, and Apple TV.
- Previewing your app’s interface in Xcode — Iterate designs quickly and preview your apps’ displays across different Apple devices.
- Rendering reflections in real time using ray tracing — Implement realistic real-time lighting by dynamically generating reflection maps
- Running tests and interpreting results — Determine whether your project’s code behaves as you expect by running tests and understanding the results.
- Scanning objects using Object Capture — Implement a full scanning workflow for capturing objects on iOS devices.
- ShaderGraph — Create custom materials and effects for 3D content in Reality Composer Pro.
- Sharing macOS and Xcode versions across Xcode Cloud workflows — Use custom aliases to share configurations with multiple workflows.
- Simplifying GPU resource management with residency sets — Organize your resources into groups and influence when they become accessible to the GPU.
- Swift Blog — The Swift.org blog
- Swift Community Overview — Learn more about the Swift.org Community
- Swift Forums — Forums for the Swift open-source project.
- Swift Migration Guide
- Swift Testing — Create and run tests for your Swift packages and Xcode projects.
- Swift Testing GitHub repository — Swift Testing Repository where you can contribute to the Swift Testing package.
- Swift Testing vision document — The Vision document for Swift Testing. Learn more about the design and principles of Swift Testing.
- Testing — Develop and run tests to detect logic failures, UI problems, and performance regressions.
- The LLDB debugger — Learn more about LLDB
- The Swift Programming Language — The definitive guide to Swift, Apple’s programming language for building iOS, macOS, watchOS, and tvOS apps.
- The Swift Programming Language: Automatic Reference Counting — Learn about Automatic Reference Counting in Swift
- Tools used: Ubuntu — Learn more about Ubuntu.
- Tools used: Visual Studio Code — Learn more about Visual Studio Code
- Tools used: Windows — Learn more about Windows.
- Updating an app to use strict concurrency — Use this code to follow along with a guide to migrating your code to take advantage of the full concurrency protection that the Swift 6 language mode provides.
- Validating feature support for USD files — Ensure that the renderer that displays your USD assets supports its features.
- Validating your app’s Metal API usage — Catch runtime issues in your Metal app using API Validation.
- Validating your app’s Metal shader usage — Catch common shader runtime issues using Shader Validation.
- Value and Reference types — Swift.org article on value and reference types
- Wrapping C/C++ Library in Swift — Swift.org article on wrapping C/C++ libraries in Swift
- Writing custom build scripts — Extend your Xcode Cloud workflows with custom build scripts that perform custom tasks or install additional tools.
- Xcode — Xcode landing page
- Xcode updates — Learn about important changes to Xcode.
Essentials · 29
- Adding tests to your Xcode project — Include test targets that build code to test the logic in your functions, check for integration issues, automate UI workflows, and measure performance.
- 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.
- Environment variable reference — Review predefined environment variables you use in custom build scripts.
- Forum: Developer Tools & Services
- Forum: Programming Languages
- Forum: UI Frameworks
- 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.
- Learning SwiftUI
- Previewing your app’s interface in Xcode — Iterate designs quickly and preview your apps’ displays across different Apple devices.
- Running tests and interpreting results — Determine whether your project’s code behaves as you expect by running tests and understanding the results.
- Sharing macOS and Xcode versions across Xcode Cloud workflows — Use custom aliases to share configurations with multiple workflows.
- Swift Testing — Create and run tests for your Swift packages and Xcode projects.
- Swift Testing GitHub repository — Swift Testing Repository where you can contribute to the Swift Testing package.
- Swift Testing vision document — The Vision document for Swift Testing. Learn more about the design and principles of Swift Testing.
- SwiftUI — Declare the user interface and behavior for your app on every platform.
- SwiftUI Pathway — This pathway begins by answering the question: What is SwiftUI, and how does it work? From there, you’ll dive into video sessions, documentation, and tutorials that can help you build a foundation for understanding SwiftUI apps. Finally, you’ll find next steps to continue your learning journey — so you can choose the path that’s right for you.
- SwiftUI updates — Learn about important changes to SwiftUI.
- Testing — Develop and run tests to detect logic failures, UI problems, and performance regressions.
- The Swift Programming Language — The definitive guide to Swift, Apple’s programming language for building iOS, macOS, watchOS, and tvOS apps.
- Tools used: Ubuntu — Learn more about Ubuntu.
- Tools used: Visual Studio Code — Learn more about Visual Studio Code
- Tools used: Windows — Learn more about Windows.
- Value and Reference types — Swift.org article on value and reference types
- Wrapping C/C++ Library in Swift — Swift.org article on wrapping C/C++ libraries in Swift
- Writing custom build scripts — Extend your Xcode Cloud workflows with custom build scripts that perform custom tasks or install additional tools.
- Xcode — Xcode landing page
- Xcode updates — Learn about important changes to Xcode.
Graphics & Games · 43
- AOUSD – Alliance for OpenUSD — Alliance for OpenUSD
- Building an object reconstruction app — Reconstruct objects from user-selected input images by using photogrammetry.
- Composing SwiftUI gestures — Combine gestures to create complex interactions.
- Creating a Spaceship game — Build an immersive game using RealityKit audio, simulation, and rendering features.
- Creating a spatial drawing app with RealityKit — Use low-level mesh and texture APIs to achieve fast updates to a person’s brush
- Creating tabletop games — Develop a spatial board game where multiple players interact with pieces on a table.
- Creating visual effects with SwiftUI — Add scroll effects, rich color treatments, custom transitions, and advanced effects using shaders and a text renderer.
- Designing for visionOS — When people wear Apple Vision Pro, they enter an infinite 3D space where they can engage with your app or game while staying connected to their surroundings.
- Download the Game Porting Toolkit — The Game Porting Toolkit includes an updated set of tools that can help you accelerate porting your advanced games to Mac, and to get them up and running on iPad and iPhone.
- Drawing paths and shapes
- Filtering images with MPSGraph FFT operations — Filter an image with MPSGraph fast Fourier transforms using the convolutional theorem.
- Forum: Design
- Forum: Developer Tools & Services
- Forum: Graphics & Games
- Forum: Machine Learning and AI
- Forum: Media Technologies
- Forum: Spatial Computing
- Forum: UI Frameworks
- 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.
- Getting started with Metal-cpp — Metal-cpp is a low-overhead C++ interface for Metal that helps developers add Metal functionality to graphics apps, games, and game engines that are written in C++.
- How to start designing assets in Display P3 — Assets designed in the Display P3 color space look richer and more vibrant on any device with a wide color gamut display. You can find wide color gamut Retina displays on most Macs, as well as iPhone, iPad, and Apple Watch.
- Human Interface Guidelines: Designing for games — HIG
- Human Interface Guidelines: Game controls — HIG Game controls
- Human Interface Guidelines: Gestures — HIG
- Improving rendering performance with vertex amplification — Run draw commands that render to different outputs using the same vertex data multiple times.
- Interacting with virtual content blended with passthrough — Present a mixed immersion style space to draw content in a person’s surroundings,
- Metal — Render advanced 3D graphics and compute data in parallel with graphics processors.
- Metal Developer Resources — Accelerate graphics and much more with Metal. Metal powers hardware-accelerated graphics on Apple platforms by providing a low-overhead API, rich shading language, tight integration between graphics and compute, and an unparalleled suite of GPU profiling and debugging tools. Your games and pro apps can take full advantage of the incredible performance and efficiency of Apple silicon across iPhone, iPad, Mac, and Apple TV.
- Metal Performance Shaders Graph — Build, compile, and execute compute graphs utilizing all the different compute devices on the platform, including GPU, CPU, and Neural Engine.
- MPSGraph — The optimized representation of a compute graph of operations and tensors.
- Presenting an artist’s scene — Display a scene from Reality Composer Pro in visionOS.
- Rendering a scene with deferred lighting in Swift — Avoid expensive lighting calculations by implementing a deferred lighting renderer optimized for immediate mode and tile-based deferred renderer GPUs.
- Rendering a windowed game in stereo — Bring an iOS or iPadOS game to visionOS and enhance it.
- Rendering at different rasterization rates — Configure a rasterization rate map to vary rasterization rates depending on the amount of detail needed.
- Rendering reflections in real time using ray tracing — Implement realistic real-time lighting by dynamically generating reflection maps
- Scanning objects using Object Capture — Implement a full scanning workflow for capturing objects on iOS devices.
- ScreenCaptureKit — Filter and select screen content and stream it to your app.
- ShaderGraph — Create custom materials and effects for 3D content in Reality Composer Pro.
- Simplifying GPU resource management with residency sets — Organize your resources into groups and influence when they become accessible to the GPU.
- TabletopKit — Create multiplayer spatial games on a virtual table surface and use FaceTime to invite players.
- Validating feature support for USD files — Ensure that the renderer that displays your USD assets supports its features.
- Validating your app’s Metal API usage — Catch runtime issues in your Metal app using API Validation.
- Validating your app’s Metal shader usage — Catch common shader runtime issues using Shader Validation.
Health & Fitness · 14
- Bringing multiple windows to your SwiftUI app — Compose rich views by reacting to state changes and customize your app’s scene presentation and behavior on iPadOS and macOS.
- Enabling the double-tap gesture on Apple Watch — Customize your app’s response to the double-tap gesture on Apple Watch.
- Forum: App & System Services
- Forum: Health & Fitness
- Forum: UI Frameworks
- HealthKit — Access and share health and fitness data while maintaining the user’s privacy and control.
- 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
- Journaling Suggestions — Display a set of recent, personal events that inspire someone to contribute to your app’s creative workflow.
- Let others use your Apple Vision Pro — With Guest User, other people can use your Apple Vision Pro, and you can choose what they can open.
- Presenting the suggestions picker and processing a selection — Display the journaling suggestions picker and process a suggestion that someone chooses.
- Visualizing HealthKit State of Mind in visionOS — Incorporate HealthKit State of Mind into your app and visualize the data in visionOS.
- 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.
Maps & Location · 10
- Adopting live updates in Core Location — Simplify location delivery using asynchronous events in Swift.
- Configuring your app to use location services — Prepare your app to start collecting location data.
- Displaying place information using the Maps Embed API — Show place information on a map using a URL.
- Forum: Maps & Location
- Identifying unique locations with Place IDs — Obtain information about a point of interest that persists over its lifetime.
- Interacting with nearby points of interest — Provide automatic search completions for a partial search query, search the map for relevant locations nearby, and retrieve details for selected points of interest.
- Request authentication for WeatherKit REST API — Create a developer token to access weather data.
- Resources - Apple Maps - Apple Developer — Tools, documentation, tutorials, videos, and more.
- WeatherKit — Deliver weather conditions and alerts to your users.
- WeatherKit REST API — Obtain historical, current, and predictive weather for your app or service.
Photos & Camera · 12
- AVCam: Building a camera app — Capture photos and record video using the front and rear iPhone and iPad cameras.
- Building spatial experiences for business apps with enterprise APIs for visionOS — Grant enhanced sensor access and increased platform control to your visionOS app by using entitlements.
- Capturing consistent color images — Add the power of a photography studio and lighting rig to your app with the new Constant Color API.
- Converting side-by-side 3D video to multiview HEVC and spatial video — Create video content for visionOS by converting an existing 3D HEVC file to a multiview HEVC format, optionally adding spatial metadata to create a spatial video.
- Creating a camera experience for the Lock Screen — Offer your app’s camera experience on locked devices from Control Center, the Lock Screen, and the Action button.
- Creating controls to perform actions across the system — Perform your app’s actions from Control Center, the Lock Screen, and the Action button.
- Creating spatial photos and videos with spatial metadata — Add spatial metadata to stereo photos and videos to create spatial media for viewing on Apple Vision Pro.
- Forum: Business & Education
- Forum: Photos & Camera
- Forum: Spatial Computing
- Human Interface Guidelines: Controls — HIG
- Writing spatial photos — Create spatial photos for visionOS by packaging a pair of left- and right-eye images as a stereo HEIC file with related spatial metadata.
Privacy & Security · 14
- About the security of passkeys
- AccessorySetupKit — Enable privacy-preserving discovery and configuration of accessories.
- Adopting live updates in Core Location — Simplify location delivery using asynchronous events in Swift.
- ASCredentialProviderExtensionCapabilities — The credential types supported by a credential provider extension, and whether it presents a user interface.
- Authentication Services — Make it easy for users to log into apps and services.
- Configuring your app to use location services — Prepare your app to start collecting location data.
- Connecting to a service with passkeys — Allow users to sign in to a service without typing a password.
- Forum: Maps & Location
- Forum: Privacy & Security
- Getting up-to-date calling and blocking information for your app — Implement the Live Caller ID Lookup app extension to provide call-blocking and identity services.
- Passkeys overview
- Public-Private Key Authentication — Register and authenticate users with passkeys and security keys, without using passwords.
- Setting up and authorizing a Bluetooth accessory — Discover, select, and set up a specific Bluetooth accessory without requesting permission to use Bluetooth.
- Supporting passkeys — Eliminate passwords for your users when they sign in to apps and websites.
Safari & Web · 22
- A-Frame WebXR framework — A web framework for building 3D/AR/VR experiences
- 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.
- babylon.js – webGL and WebXR library — Web rendering engine
- Displaying place information using the Maps Embed API — Show place information on a map using a URL.
- Forum: Maps & Location
- Forum: Safari & Web
- Forum: Spatial Computing
- Identifying unique locations with Place IDs — Obtain information about a point of interest that persists over its lifetime.
- Interacting with nearby points of interest — Provide automatic search completions for a partial search query, search the map for relevant locations nearby, and retrieve details for selected points of interest.
- PlayCanvas – webGL and WebXR library — webGL and WebXR library
- Resources - Apple Maps - Apple Developer — Tools, documentation, tutorials, videos, and more.
- 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.
- three.js – webGL and WebXR library — three.js – webGL and WebXR library
- w3.org – Model element — w3.org – Model element
- Web Audio API - Web APIs | MDN — The Web Audio API provides a powerful and versatile system for controlling audio on the Web, allowing developers to choose audio sources, add effects to audio, create audio visualizations, apply spatial effects (such as panning) and much more.
- Web Inspector Reference — Web Inspector Documentation
- Web Speech API - Web APIs | MDN — The Web Speech API enables you to incorporate voice data into web apps.
- WebKit Open Source Project — WebKit Open Source Project
- WebKit.org – Report issues to the WebKit open-source project — Bug tracking for WebKit open source project
- WebXR Chess Garden Demo — Example of a chess game that uses WebXR.
- WebXR Device API | W3C
- Wonderland Engine — Web-based 3D engine for 3D, VR, and AR.
Spatial Computing · 70
- A-Frame WebXR framework — A web framework for building 3D/AR/VR experiences
- 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.
- AOUSD – Alliance for OpenUSD — Alliance for OpenUSD
- AVCam: Building a camera app — Capture photos and record video using the front and rear iPhone and iPad cameras.
- babylon.js – webGL and WebXR library — Web rendering engine
- BOT-anist — Build a multiplatform app that uses windows, volumes, and animations to create a robot botanist’s greenhouse.
- Bringing multiple windows to your SwiftUI app — Compose rich views by reacting to state changes and customize your app’s scene presentation and behavior on iPadOS and macOS.
- Building a guessing game for visionOS — Create a team-based guessing game for visionOS using Group Activities.
- Building an immersive media viewing experience — Add a deeper level of immersion to media playback in your app with RealityKit and Reality Composer Pro.
- Building an object reconstruction app — Reconstruct objects from user-selected input images by using photogrammetry.
- Building local experiences with room tracking — Use room tracking in visionOS to provide custom interactions with physical spaces.
- Building spatial experiences for business apps with enterprise APIs for visionOS — Grant enhanced sensor access and increased platform control to your visionOS app by using entitlements.
- Composing interactive 3D content with RealityKit and Reality Composer Pro — Build an interactive scene using an animation timeline.
- Composing SwiftUI gestures — Combine gestures to create complex interactions.
- Converting side-by-side 3D video to multiview HEVC and spatial video — Create video content for visionOS by converting an existing 3D HEVC file to a multiview HEVC format, optionally adding spatial metadata to create a spatial video.
- Creating a Spaceship game — Build an immersive game using RealityKit audio, simulation, and rendering features.
- Creating a spatial drawing app with RealityKit — Use low-level mesh and texture APIs to achieve fast updates to a person’s brush
- Creating spatial photos and videos with spatial metadata — Add spatial metadata to stereo photos and videos to create spatial media for viewing on Apple Vision Pro.
- Creating tabletop games — Develop a spatial board game where multiple players interact with pieces on a table.
- CustomHoverEffect — A type that represents how a view should change when a pointer hovers
- Designing for visionOS — When people wear Apple Vision Pro, they enter an infinite 3D space where they can engage with your app or game while staying connected to their surroundings.
- Destination Video — Leverage SwiftUI to build an immersive media experience in a multiplatform app.
- Drawing paths and shapes
- Enabling video reflections in an immersive environment — Create a more immersive experience by adding video reflections in a custom environment.
- Exploring object tracking with ARKit — Find and track real-world objects in visionOS using reference objects you train with Create ML.
- Forum: App & System Services
- Forum: Business & Education
- Forum: Design
- Forum: Developer Tools & Services
- Forum: Graphics & Games
- Forum: Health & Fitness
- Forum: Media Technologies
- Forum: Safari & Web
- Forum: Spatial Computing
- Forum: UI Frameworks
- 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.
- How to start designing assets in Display P3 — Assets designed in the Display P3 color space look richer and more vibrant on any device with a wide color gamut display. You can find wide color gamut Retina displays on most Macs, as well as iPhone, iPad, and Apple Watch.
- Human Interface Guidelines: Eyes — HIG
- Human Interface Guidelines: Game controls — HIG Game controls
- Human Interface Guidelines: Gestures — HIG
- Implementing object tracking in your app — Create engaging interactions by training models to recognize and track real-world objects in people’s surroundings.
- Improving rendering performance with vertex amplification — Run draw commands that render to different outputs using the same vertex data multiple times.
- Incorporating real-world surroundings in an immersive experience — Create an immersive experience by making your app’s content respond to the local shape of the world.
- Interacting with virtual content blended with passthrough — Present a mixed immersion style space to draw content in a person’s surroundings,
- Let others use your Apple Vision Pro — With Guest User, other people can use your Apple Vision Pro, and you can choose what they can open.
- Metal Developer Resources — Accelerate graphics and much more with Metal. Metal powers hardware-accelerated graphics on Apple platforms by providing a low-overhead API, rich shading language, tight integration between graphics and compute, and an unparalleled suite of GPU profiling and debugging tools. Your games and pro apps can take full advantage of the incredible performance and efficiency of Apple silicon across iPhone, iPad, Mac, and Apple TV.
- PlayCanvas – webGL and WebXR library — webGL and WebXR library
- Presenting an artist’s scene — Display a scene from Reality Composer Pro in visionOS.
- Rendering a scene with deferred lighting in Swift — Avoid expensive lighting calculations by implementing a deferred lighting renderer optimized for immediate mode and tile-based deferred renderer GPUs.
- Rendering a windowed game in stereo — Bring an iOS or iPadOS game to visionOS and enhance it.
- Rendering at different rasterization rates — Configure a rasterization rate map to vary rasterization rates depending on the amount of detail needed.
- 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.
- Scanning objects using Object Capture — Implement a full scanning workflow for capturing objects on iOS devices.
- ShaderGraph — Create custom materials and effects for 3D content in Reality Composer Pro.
- SwiftUI updates — Learn about important changes to SwiftUI.
- TabletopKit — Create multiplayer spatial games on a virtual table surface and use FaceTime to invite players.
- three.js – webGL and WebXR library — three.js – webGL and WebXR library
- Validating feature support for USD files — Ensure that the renderer that displays your USD assets supports its features.
- Visualizing HealthKit State of Mind in visionOS — Incorporate HealthKit State of Mind into your app and visualize the data in visionOS.
- w3.org – Model element — w3.org – Model element
- Web Audio API - Web APIs | MDN — The Web Audio API provides a powerful and versatile system for controlling audio on the Web, allowing developers to choose audio sources, add effects to audio, create audio visualizations, apply spatial effects (such as panning) and much more.
- Web Inspector Reference — Web Inspector Documentation
- Web Speech API - Web APIs | MDN — The Web Speech API enables you to incorporate voice data into web apps.
- WebKit Open Source Project — WebKit Open Source Project
- WebKit.org – Report issues to the WebKit open-source project — Bug tracking for WebKit open source project
- WebXR Chess Garden Demo — Example of a chess game that uses WebXR.
- WebXR Device API | W3C
- Wonderland Engine — Web-based 3D engine for 3D, VR, and AR.
- Writing spatial photos — Create spatial photos for visionOS by packaging a pair of left- and right-eye images as a stereo HEIC file with related spatial metadata.
Swift · 42
- A Vision for Embedded Swift — The Embedded Swift vision document
- Adding tests to your Xcode project — Include test targets that build code to test the logic in your functions, check for integration issues, automate UI workflows, and measure performance.
- Adopting SwiftData for a Core Data app — Persist data in your app intuitively with the Swift native persistence framework.
- Copyable — A type whose values can be implicitly or explicitly copied.
- Embedded Swift User Manual — Details about how to use Embedded Swift
- Fetching and filtering time-based model changes — Track all inserts, updates, and deletes that occur in a data store and process
- Forum: Developer Tools & Services
- Forum: Programming Languages
- 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.
- Install Swift — Installation guide for Swift on all platforms
- Previewing your app’s interface in Xcode — Iterate designs quickly and preview your apps’ displays across different Apple devices.
- Running tests and interpreting results — Determine whether your project’s code behaves as you expect by running tests and understanding the results.
- Swift Blog — The Swift.org blog
- Swift Community Overview — Learn more about the Swift.org Community
- Swift Embedded Example Projects — Explore more sample projects using Embedded Swift
- Swift Evolution: Borrowing and consuming pattern matching for noncopyable types
- Swift Evolution: Noncopyable Generics
- Swift Evolution: Noncopyable Standard Library Primitives
- Swift Forums — Forums for the Swift open-source project.
- Swift Forums Embedded Discussion — Talk to others in the Swift community about Embedded Swift
- Swift Matter Examples — Learn how to use Embedded Swift and Matter together
- Swift Migration Guide
- Swift MMIO — Define and operate on type safe MMIO
- Swift on Server
- Swift Package Ecosystem — Learn more about the Swift Package Ecosystem
- Swift Server Workgroup — Learn more about the Swift on Server workgroup
- Swift Testing — Create and run tests for your Swift packages and Xcode projects.
- Swift Testing GitHub repository — Swift Testing Repository where you can contribute to the Swift Testing package.
- Swift Testing vision document — The Vision document for Swift Testing. Learn more about the design and principles of Swift Testing.
- SwiftData — Write your model code declaratively to add managed persistence and efficient
- The LLDB debugger — Learn more about LLDB
- The Swift Programming Language — The definitive guide to Swift, Apple’s programming language for building iOS, macOS, watchOS, and tvOS apps.
- The Swift Programming Language: Automatic Reference Counting — Learn about Automatic Reference Counting in Swift
- Tools used: Neovim — Learn more about Neovim
- Tools used: Ubuntu — Learn more about Ubuntu.
- Tools used: Visual Studio Code — Learn more about Visual Studio Code
- Tools used: Windows — Learn more about Windows.
- Updating an app to use strict concurrency — Use this code to follow along with a guide to migrating your code to take advantage of the full concurrency protection that the Swift 6 language mode provides.
- Value and Reference types — Swift.org article on value and reference types
- Wrapping C/C++ Library in Swift — Swift.org article on wrapping C/C++ libraries in Swift
- Xcode — Xcode landing page
- Xcode updates — Learn about important changes to Xcode.
SwiftUI & UI Frameworks · 69
- Accessibility updates — Learn about important changes to Accessibility.
- accessibilityShowsLargeContentViewer() — Adds a default large content view to be shown by
- Accessing a person’s contact data using Contacts and ContactsUI — Allow people to grant your app access to contact data by adding the Contact access button and Contact access picker to your app.
- Adding refinements and configuration to controls — Customize the way controls display across the system and offer people the ability to configure them.
- AppKit — Construct and manage a graphical, event-driven user interface for your macOS app.
- AppKit updates — Learn about important changes to AppKit.
- Apple Pencil — Enhance your iPad app’s user experience by supporting drawing, handwriting, and other features of Apple Pencil.
- Apple Pencil updates — Learn about important changes to Apple Pencil.
- Automatic trait tracking — Reduce the need to manually register for trait changes when you use traits within a method or closure that supports automatic trait tracking.
- BOT-anist — Build a multiplatform app that uses windows, volumes, and animations to create a robot botanist’s greenhouse.
- Building a document-based app with SwiftUI — Create, save, and open documents in a multiplatform app.
- Configuring the PencilKit tool picker — Incorporate a custom PencilKit tool picker with a variety of system and custom tools into a drawing app.
- Core Spotlight — Add search capabilities to your app, and index your content so
- Creating a camera experience for the Lock Screen — Offer your app’s camera experience on locked devices from Control Center, the Lock Screen, and the Action button.
- Creating a data visualization dashboard with Swift Charts — Visualize an entire data collection efficiently by instantiating a single vectorized plot in Swift Charts.
- Creating a tvOS media catalog app in SwiftUI — Build standard content lockups and rows of content shelves for your tvOS app.
- Creating controls to perform actions across the system — Perform your app’s actions from Control Center, the Lock Screen, and the Action button.
- Creating custom container views — Access individual subviews to compose flexible container views.
- Creating visual effects with SwiftUI — Add scroll effects, rich color treatments, custom transitions, and advanced effects using shaders and a text renderer.
- CustomHoverEffect — A type that represents how a view should change when a pointer hovers
- Customizing a document-based app’s launch experience — Add unique elements to your app’s document launch scene.
- Customizing window styles and state-restoration behavior in macOS — Configure how your app’s windows look and function in macOS to provide an
- Destination Video — Leverage SwiftUI to build an immersive media experience in a multiplatform app.
- Elevating your iPad app with a tab bar and sidebar — Provide a compact, ergonomic tab bar for quick access to key parts of your app, and a sidebar for in-depth navigation.
- Enabling the double-tap gesture on Apple Watch — Customize your app’s response to the double-tap gesture on Apple Watch.
- Enhancing the accessibility of your SwiftUI app — Support advancements in SwiftUI accessibility to make your app accessible to everyone.
- Enhancing your app’s content with tab navigation — Keep your app content front and center while providing quick access to navigation using the tab bar.
- Expanding Your App to New Markets — Internationalization and Localization. Expanding Your App to New Markets.
- Forum: Accessibility & Inclusion
- Forum: App & System Services
- Forum: App Store Distribution & Marketing
- Forum: Design
- Forum: Developer Tools & Services
- Forum: UI Frameworks
- Human Interface Guidelines: Accessibility — HIG
- Human Interface Guidelines: Apple Pencil and Scribble
- Human Interface Guidelines: Controls — HIG
- Human Interface Guidelines: Eyes — HIG
- Human Interface Guidelines: Typography — HIG
- 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
- In-App Purchase — Offer content and services in your app across Apple platforms using a Swift-based interface.
- Introducing StoreKit 2
- Learning SwiftUI
- Message — An instance for receiving and displaying App Store messages in your app.
- Original API for In-App Purchase — Offer additional content and services in your app using the Original In-App Purchase API.
- Performing accessibility testing for your app — Test your app with accessibility settings and assistive technologies to discover and address accessibility issues.
- Playing haptic feedback in your app — Provide tactile feedback when people perform certain actions in your app.
- Previewing your app’s interface in Xcode — Iterate designs quickly and preview your apps’ displays across different Apple devices.
- Product.SubscriptionInfo.RenewalInfo — The renewal information for an auto-renewable subscription.
- Setting up StoreKit Testing in Xcode — Prepare your test environment to test in-app purchases with data you configure locally.
- StoreKit views — Display a customizable In-App Purchase store using StoreKit views for SwiftUI.
- Swift Charts updates — Learn about important changes to Swift Charts.
- SwiftUI — Declare the user interface and behavior for your app on every platform.
- SwiftUI Pathway — This pathway begins by answering the question: What is SwiftUI, and how does it work? From there, you’ll dive into video sessions, documentation, and tutorials that can help you build a foundation for understanding SwiftUI apps. Finally, you’ll find next steps to continue your learning journey — so you can choose the path that’s right for you.
- SwiftUI updates — Learn about important changes to SwiftUI.
- Testing in-app purchases with StoreKit transaction manager in Xcode — Use the transaction manager within Xcode to test in-app purchases without requiring a connection to App Store servers.
- Transaction properties — The properties of a transaction, including identifiers, purchase and revocation dates and details, status, and offer details.
- UIKit — Construct and manage a graphical, event-driven user interface for your iOS, iPadOS, or tvOS app.
- UIKit updates — Learn about important changes to UIKit.
- UILargeContentViewerInteraction — An interaction that enables a gesture to present the large content viewer for cases when supporting the largest dynamic type sizes isn’t appropriate.
- UIUpdateLink — An object you use to observe, participate in, and affect the UI update process.
- Unifying your app’s animations — Create a consistent UI animation experience across SwiftUI, UIKit, and AppKit.
- Updating controls locally and remotely — Update and reload controls from your app or using push notifications.
- WidgetKit — Extend the reach of your app by creating widgets, watch complications, Live Activities, and controls.
- Windows — Display user interface content in a window or a collection of windows.
- WKWebView — An object that displays interactive web content, such as for an in-app browser.
- Xcode — Xcode landing page
- Xcode updates — Learn about important changes to Xcode.
System Services · 14
- About the security of passkeys
- AccessorySetupKit — Enable privacy-preserving discovery and configuration of accessories.
- ASCredentialProviderExtensionCapabilities — The credential types supported by a credential provider extension, and whether it presents a user interface.
- Authentication Services — Make it easy for users to log into apps and services.
- CarPlay for developers — Guide to CarPlay development
- Connecting to a service with passkeys — Allow users to sign in to a service without typing a password.
- Forum: App & System Services
- Forum: Design
- Forum: Privacy & Security
- MFI Program — MFi Technologies and the Apple Ecosystem
- Passkeys overview
- Public-Private Key Authentication — Register and authenticate users with passkeys and security keys, without using passwords.
- Setting up and authorizing a Bluetooth accessory — Discover, select, and set up a specific Bluetooth accessory without requesting permission to use Bluetooth.
- Supporting passkeys — Eliminate passwords for your users when they sign in to apps and websites.