{"articles":[{"category":"","section":"documentation","slug":"zntfdr","summary":"No Bio on GitHub","tags":[],"title":"zntfdr (332 notes)","url":"\/documentation\/contributors\/zntfdr\/"},{"category":"","section":"documentation","slug":"wwdcnotes","summary":"Session notes shared by the community for the community.","tags":[],"title":"WWDCNotes","url":"\/documentation\/wwdcnotes\/"},{"category":"","section":"documentation","slug":"wwdc26-394-get-ready-for-wwdc26","summary":"Get the inside track on everything Apple has to offer — and make the most of every session, lab, and moment.","tags":[],"title":"Get ready for WWDC26","url":"\/documentation\/wwdc26-394-get-ready-for-wwdc26\/"},{"category":"","section":"documentation","slug":"wwdc26-393-supercharge-your-spatial-workflows-with-reality-composer-pro-3","summary":"Discover how to build rich interactivity and stunning visual effects entirely within Reality Composer Pro using its powerful suite of graph-based tools. Learn to craft dynamic materials with Shader Graph, blend skeletal animations with Animation Graph, and simulate particle effects with Compute Graph. Go further by wiring up app interactivity with Script Graph, coordinating scene events with Sequencer, and designing intelligent NPC behaviors with Behavior Trees — all without leaving the editor.","tags":[],"title":"Supercharge your spatial workflows with Reality Composer Pro 3","url":"\/documentation\/wwdc26-393-supercharge-your-spatial-workflows-with-reality-composer-pro-3\/"},{"category":"","section":"documentation","slug":"wwdc26-391-offer-subscriptions-to-groups-and-organizations","summary":"Discover how to reach more customers by offering subscriptions to groups and organizations. The Group Purchases feature lets a single subscriber buy multiple seats and invite others directly from your app. Volume Purchasing through Apple Business and Apple School Manager puts your subscriptions in front of enterprise and education buyers who already procure apps at scale. Learn how to offer these subscriptions and the options to configure availability and pricing in App Store Connect.","tags":[],"title":"Offer subscriptions to groups and organizations","url":"\/documentation\/wwdc26-391-offer-subscriptions-to-groups-and-organizations\/"},{"category":"","section":"documentation","slug":"wwdc26-389-discover-container-machines","summary":"Meet container machines, a new tool included in Container that offers a lightweight persistent Linux environment on Mac. Explore how container machines work and how the design of Containerization allows for a performant and seamless experience when developing for Linux on macOS.","tags":[],"title":"Discover container machines","url":"\/documentation\/wwdc26-389-discover-container-machines\/"},{"category":"","section":"documentation","slug":"wwdc26-388-find-and-fix-performance-issues-in-your-metal-games","summary":"Track down hard-to-find game performance issues with powerful Metal tools. Discover how to collect rich performance data using Game Performance Overview in Instruments, run background traces with metalperftrace on macOS and Control Center on iOS, and use the new StateReporting API to correlate metrics directly to your game’s runtime state. Turn hours of telemetry into clear, actionable insights.","tags":[],"title":"Find and fix performance issues in your Metal games","url":"\/documentation\/wwdc26-388-find-and-fix-performance-issues-in-your-metal-games\/"},{"category":"","section":"documentation","slug":"wwdc26-379-meet-trust-insights","summary":"Uncover how Trust Insights can help protect people from social scams and coercion. Explore how this new framework uses privacy-preserving machine learning to detect when someone may be coached into risky actions. Find out how to integrate Trust Insights into your app, interpret its signals, and design thoughtful interventions that safeguard people while respecting their privacy.","tags":[],"title":"Meet Trust Insights","url":"\/documentation\/wwdc26-379-meet-trust-insights\/"},{"category":"","section":"documentation","slug":"wwdc26-378-unlock-ingame-content-with-storekit-and-background-assets","summary":"Unlock native Apple In-App Purchases for your Unity game with the new StoreKit plug-in. Reduce download sizes with the new Background Assets plug-in, which delivers language-specific asset packs so each player gets just what they need. Plus, a new Steam Asset Converter helps you migrate existing builds.","tags":[],"title":"Unlock in-game content with StoreKit and Background Assets","url":"\/documentation\/wwdc26-378-unlock-ingame-content-with-storekit-and-background-assets\/"},{"category":"","section":"documentation","slug":"wwdc26-375-create-high-quality-images-using-image-playground","summary":"Enable high-quality image creation in your app using Image Playground. With a new generative model that runs on Private Cloud Compute, users can make images in virtually any style, including photorealistic, in your app. You can also specify dimensions for use in even more places, and allow people to modify images using natural language descriptions and touch. Explore how to adopt Image Playground, generate images from descriptions and photos, and manage feature availability in your app.","tags":[],"title":"Create high quality images using Image Playground","url":"\/documentation\/wwdc26-375-create-high-quality-images-using-image-playground\/"},{"category":"","section":"documentation","slug":"wwdc26-372-unwrap-paperkit","summary":"Craft a canvas-based application with PaperKit. Explore the new data model APIs that let you access, create, and modify markup elements. Learn how to add custom controls and annotations, and discover best practices for integrating these features into your app to build a fully featured creative canvas.","tags":[],"title":"Unwrap PaperKit","url":"\/documentation\/wwdc26-372-unwrap-paperkit\/"},{"category":"","section":"documentation","slug":"wwdc26-370-elevate-your-apps-text-experience-with-textkit","summary":"Discover how to combine the convenience of built-in text views with the control of TextKit. We’ll show you how new APIs make it easy to extend UITextView and NSTextView with custom behaviors like line numbers and collapsible sections. We’ll also explore the TextKit architecture and walk through new caching and reuse policies for text attachments. To get the most out of this session, watch “Meet TextKit 2” from WWDC21 and “What’s New in TextKit and text views” from WWDC22.","tags":[],"title":"Elevate your app’s text experience with TextKit","url":"\/documentation\/wwdc26-370-elevate-your-apps-text-experience-with-textkit\/"},{"category":"","section":"documentation","slug":"wwdc26-369-find-your-accessory-with-bluetooth-channel-sounding","summary":"Get started with Channel Sounding to bring distance and direction awareness to your Bluetooth accessories. Dive into the new Nearby Interaction and Core Bluetooth APIs, and walk through the accessory-side changes you’ll need. Optimize power consumption while ensuring a smooth, responsive experience.","tags":[],"title":"Find your accessory with Bluetooth Channel Sounding","url":"\/documentation\/wwdc26-369-find-your-accessory-with-bluetooth-channel-sounding\/"},{"category":"","section":"documentation","slug":"wwdc26-359-build-realtime-neural-rendering-pipelines-with-metal","summary":"Discover how to integrate machine learning into your real-time rendering pipeline using Metal 4. We’ll explore practical adoption patterns and best practices for achieving production-quality results with MetalFX neural denoising, featuring real-world insights from Maxon’s Redshift Live. Learn how to train and deploy a neural tone mapper using the ML command encoder inline with your graphics work. Finally, dive into the new tensor API to build and evaluate small, specialized neural networks directly within your shaders.","tags":[],"title":"Build real-time neural rendering pipelines with Metal","url":"\/documentation\/wwdc26-359-build-realtime-neural-rendering-pipelines-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc26-358-make-your-game-great-with-touch","summary":"Dive deeper into the techniques you can use to create compelling touch experiences for your games. We’ll share expert insights from indie to AAA game development, explore best practices for intuitive touch controls, and show you how to take advantage of Apple technologies like Touch Controller framework and Metal for great performance.","tags":[],"title":"Make your game great with touch","url":"\/documentation\/wwdc26-358-make-your-game-great-with-touch\/"},{"category":"","section":"documentation","slug":"wwdc26-357-speedrun-your-game-port-with-agentic-coding","summary":"Kickstart your game’s journey to Apple platforms with new agentic skills in Game Porting Toolkit 4 that can dramatically accelerate the process of porting your game. Explore how to work alongside your AI coding assistant to adopt Metal 4, integrate MetalFX, and tune your game for Apple hardware. Find out how agents can autonomously troubleshoot GPU rendering issues using Metal debugging tools, empowering you to focus on what matters most.","tags":[],"title":"Speedrun your game port with agentic coding","url":"\/documentation\/wwdc26-357-speedrun-your-game-port-with-agentic-coding\/"},{"category":"","section":"documentation","slug":"wwdc26-356-bringing-cyberpunk-2077-to-mac","summary":"Go behind the scenes and learn from CD PROJEKT RED how Cyberpunk 2077 came to Mac, setting a new standard for AAA gaming on macOS. Explore how the team leveraged Apple’s robust hardware, software, and development tools to bring this high-fidelity experience to life. Learn how you can apply similar techniques to your games. Find out how the innovative ‘For this Mac’ preset automatically optimizes graphical settings to balance visual fidelity and frame rate across the Mac lineup.","tags":[],"title":"Bringing Cyberpunk 2077 to Mac","url":"\/documentation\/wwdc26-356-bringing-cyberpunk-2077-to-mac\/"},{"category":"","section":"documentation","slug":"wwdc26-347-secure-your-app-mitigate-risks-to-agentic-features","summary":"Explore how to evaluate threats from indirect prompt injection, such as data exfiltration and unintended actions. Discover system safeguards and security best practices for using App Intents and the Foundation Models framework, including mitigations such as user confirmations, secure prompt design, and authentication.","tags":[],"title":"Secure your app: mitigate risks to agentic features","url":"\/documentation\/wwdc26-347-secure-your-app-mitigate-risks-to-agentic-features\/"},{"category":"","section":"documentation","slug":"wwdc26-345-discover-new-capabilities-in-the-app-intents-framework","summary":"Level up your App Intents adoption with advanced features to make it faster, more flexible, and more relevant. Find out how ValueRepresentation and RelevantEntities make your content more discoverable and allow it to travel across apps, EntityCollection improves performance, and SyncableEntity let you scale across devices. Explore richer parameter types including union values and long-running intents that handle cancellation gracefully.","tags":[],"title":"Discover new capabilities in the App Intents framework","url":"\/documentation\/wwdc26-345-discover-new-capabilities-in-the-app-intents-framework\/"},{"category":"","section":"documentation","slug":"wwdc26-344-codealong-make-your-app-available-to-siri","summary":"Dive deep into an Xcode project showing how you can make your app available to Siri. Learn how to adopt App Schemas to let people ask questions about calendar events and take natural language actions like scheduling. Discover best practices for making content available in the Spotlight semantic index and providing context for on-screen awareness.","tags":[],"title":"Code-along: Make your app available to Siri","url":"\/documentation\/wwdc26-344-codealong-make-your-app-available-to-siri\/"},{"category":"","section":"documentation","slug":"wwdc26-343-explore-advanced-app-intents-features-for-siri-and-apple-intelligence","summary":"Polish how your app works with Siri using advanced App Intents APIs. Learn techniques that let people accomplish more with just their voice, help Apple Intelligence find your content, and provide context for on-screen awareness so Siri understands what’s happening in your app.","tags":[],"title":"Explore advanced App Intents features for Siri and Apple Intelligence","url":"\/documentation\/wwdc26-343-explore-advanced-app-intents-features-for-siri-and-apple-intelligence\/"},{"category":"","section":"documentation","slug":"wwdc26-341-support-the-center-stage-front-camera-in-your-ios-app","summary":"Supercharge your iOS camera app with Center Stage using AVCapture APIs with the front camera on iPhone 17, iPhone 17 Pro and iPhone Air. Explore how APIs enable zoom and rotate options, for more flexible ways to frame selfies and videos and to automatically get everyone in a group shot. Integrate Center Stage for video calls to automatically adjust the framing, so you’re front and center for virtual meetings and FaceTime calls. And learn how to stabilize your video for real-time video conferencing.","tags":[],"title":"Support the Center Stage front camera in your iOS app","url":"\/documentation\/wwdc26-341-support-the-center-stage-front-camera-in-your-ios-app\/"},{"category":"","section":"documentation","slug":"wwdc26-339-bring-an-llm-provider-to-the-foundation-models-framework","summary":"Extend the Foundation Models framework by implementing a LanguageModelExecutor for new models. Explore how to interface with the LanguageModelSession’s transcript, manage session state effectively, and optimize KV cache utilization. Find out how to support custom segment types and unlock advanced capabilities for your generative AI features.","tags":[],"title":"Bring an LLM provider to the Foundation Models framework","url":"\/documentation\/wwdc26-339-bring-an-llm-provider-to-the-foundation-models-framework\/"},{"category":"","section":"documentation","slug":"wwdc26-338-build-live-production-tools-for-apple-immersive-video","summary":"Go behind the scenes of live Apple Immersive Video production. Discover how to package immersive video, spatial audio, and scene metadata for transport over IP networks using the SMPTE 2110 standard. Harness Apple’s Immersive Media Support, Video Toolbox, and AVFoundation frameworks to power real-time Apple Immersive Video workflows. To get the most out of this session, watch “Learn about Apple Immersive Video technologies” from WWDC25.","tags":[],"title":"Build live production tools for Apple Immersive Video","url":"\/documentation\/wwdc26-338-build-live-production-tools-for-apple-immersive-video\/"},{"category":"","section":"documentation","slug":"wwdc26-335-improve-your-prompts-by-hillclimbing-with-evaluations","summary":"Learn comparative evaluation techniques to guide your prompt engineering and select the right model for your app. Explore how to baseline performance, expand your evaluation strategy, and convert results to JSON for integration with other tools. Discover when to apply different prompting strategies and how to iteratively refine prompts for best results.","tags":[],"title":"Improve your prompts by hill-climbing with Evaluations","url":"\/documentation\/wwdc26-335-improve-your-prompts-by-hillclimbing-with-evaluations\/"},{"category":"","section":"documentation","slug":"wwdc26-334-build-aipowered-scripts-with-the-fm-cli-and-python-sdk","summary":"Explore all the new ways to leverage Apple Foundation Models on macOS. The Foundation Models SDK for Python lets you integrate with popular tooling and evaluation packages in the Python ecosystem. Find out how to use the brand new fm command introduced in macOS 27 to streamline scripting, automate model workflows, and accelerate your development process.","tags":[],"title":"Build AI-powered scripts with the fm CLI and Python SDK","url":"\/documentation\/wwdc26-334-build-aipowered-scripts-with-the-fm-cli-and-python-sdk\/"},{"category":"","section":"documentation","slug":"wwdc26-330-optimize-custom-machine-learning-operations-with-metal-tensors","summary":"Unlock powerful machine learning performance with the Metal Tensor API and Metal Performance Primitives (MPP) Tensor Ops library. Discover how to create portable operations that take advantage of Neural Accelerators in Apple M5 and A19 GPUs. Learn to build custom machine learning kernels for your Core AI applications, and find out how to work effectively with quantized data formats and GPU memory optimization.","tags":[],"title":"Optimize custom machine learning operations with Metal tensors","url":"\/documentation\/wwdc26-330-optimize-custom-machine-learning-operations-with-metal-tensors\/"},{"category":"","section":"documentation","slug":"wwdc26-328-explore-numerical-computing-in-swift-with-mlx","summary":"Bring NumPy-style computing natively to Swift with MLX Swift. Discover how to eliminate cross-language friction in your machine learning workflows by handling image processing, tensor operations, and neural network training in a single, type-safe environment. Explore the APIs that let you leverage GPU acceleration while enjoying the compiler, tooling, and debugging experience you already know.","tags":[],"title":"Explore numerical computing in Swift with MLX","url":"\/documentation\/wwdc26-328-explore-numerical-computing-in-swift-with-mlx\/"},{"category":"","section":"documentation","slug":"wwdc26-326-integrate-ondevice-ai-models-into-your-app-using-core-ai","summary":"Discover a curated collection of popular open-source models — including Qwen, Mistral, SAM3, and more — optimized for Apple silicon using the new Core AI Framework. Learn how to download, run, and benchmark models on your Mac, and integrate them into your app with just a few lines of code. Explore a new workflow for model compilation and on-device specialization to speed up first-time model load. Find out how to profile and optimize runtime performance with Core AI tools in Xcode.","tags":[],"title":"Integrate on-device AI models into your app using Core AI","url":"\/documentation\/wwdc26-326-integrate-ondevice-ai-models-into-your-app-using-core-ai\/"},{"category":"","section":"documentation","slug":"wwdc26-325-dive-into-core-ai-model-authoring-and-optimization","summary":"Dive into the complete custom model deployment workflow for Apple silicon with the new Core AI framework. Discover powerful techniques for authoring models using custom Metal kernels, alongside platform-aware compression strategies. The new Core AI Debugger offers deep intrinsic analysis, and AI-assisted workflows guide you from initial concept to optimized on-device execution.","tags":[],"title":"Dive into Core AI model authoring and optimization","url":"\/documentation\/wwdc26-325-dive-into-core-ai-model-authoring-and-optimization\/"},{"category":"","section":"documentation","slug":"wwdc26-324-meet-core-ai","summary":"Discover Core AI, Apple’s new framework for on-device AI model deployment. Tour the ecosystem, from Python libraries for converting, authoring, and optimizing models, to a Swift API for simple plug-and-play inference and advanced use cases with strict latency and memory requirements. Explore the new Core AI models repository with ready-to-run examples for popular architectures. See how deep Xcode integration, including ahead-of-time model compilation, streamlines the workflow so you can deliver smarter, more responsive app experiences.","tags":[],"title":"Meet Core AI","url":"\/documentation\/wwdc26-324-meet-core-ai\/"},{"category":"","section":"documentation","slug":"wwdc26-322-compose-advanced-graphics-effects-with-swiftui","summary":"Discover how to craft rich, custom experiences by creatively composing SwiftUI layout and graphics APIs. We’ll show you how to break down complex designs and use a creative pipeline to chain simple building blocks together. Learn how to draw with layer shaders, animate with timelines, and anchor views with alignment guides.","tags":[],"title":"Compose advanced graphics effects with SwiftUI","url":"\/documentation\/wwdc26-322-compose-advanced-graphics-effects-with-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc26-321-dive-into-lazy-stacks-and-scrolling-with-swiftui","summary":"Discover the inner workings of lazy stacks in SwiftUI. We’ll explore how LazyVStack and LazyHStack estimate sizes, lazily load subviews, and prefetch content to deliver smooth scrolling experiences. We’ll also cover advanced performance optimizations, state management best practices, and tips for precise programmatic scrolling. To get the most out of this session, we recommend basic familiarity with SwiftUI layout using stacks.","tags":[],"title":"Dive into lazy stacks and scrolling with SwiftUI","url":"\/documentation\/wwdc26-321-dive-into-lazy-stacks-and-scrolling-with-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc26-320-explore-immersive-website-environments-in-visionos","summary":"Transport your website’s visitors into virtual environments in Apple Vision Pro using the new Immersive API in JavaScript. Explore how to request immersive transitions from an inline model element, create compelling immersive experiences using features like video docking, and optimize performance for rich, real-world-scale experiences — all with just a few lines of code running on your website.","tags":[],"title":"Explore immersive website environments in visionOS","url":"\/documentation\/wwdc26-320-explore-immersive-website-environments-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc26-319-build-with-the-new-apple-foundation-model-on-private-cloud-compute","summary":"Private Cloud Compute lets you access powerful, frontier-class models while protecting user privacy. Explore how it works and how to access it using the Foundation Models framework. Discover best practices for checking availability and handling graceful fallbacks in your apps.","tags":[],"title":"Build with the new Apple Foundation Model on Private Cloud Compute","url":"\/documentation\/wwdc26-319-build-with-the-new-apple-foundation-model-on-private-cloud-compute\/"},{"category":"","section":"documentation","slug":"wwdc26-315-rediscover-the-html-select-element","summary":"Learn how to unlock full control of styling select menus on the web. The HTML select element is getting a major upgrade with a new CSS appearance value, and new pseudo-elements. Discover how the select options can contain rich content with new possibilities in HTML. Build selects that match your design system, while keeping all the accessibility and robustness of the default element.","tags":[],"title":"Rediscover the HTML select element","url":"\/documentation\/wwdc26-315-rediscover-the-html-select-element\/"},{"category":"","section":"documentation","slug":"wwdc26-314-learn-css-grid-lanes","summary":"Build adaptive web layouts that embrace content of all shapes and sizes. Explore how Grid Lanes lets you arrange differently-shaped elements into clean, flexible designs with simple CSS. And find out how flow-tolerance helps you refine accessibility while keeping your layouts malleable.","tags":[],"title":"Learn CSS Grid Lanes","url":"\/documentation\/wwdc26-314-learn-css-grid-lanes\/"},{"category":"","section":"documentation","slug":"wwdc26-312-meet-the-now-playing-framework","summary":"Get a first look at Now Playing — a Swift framework that connects your app’s media playback to system surfaces like the Lock Screen, Control Center, Dynamic Island, and CarPlay. Discover how to publish playback state and respond to commands using its observable API. Explore remote playback sessions, a new capability that lets your app represent media playing on external devices and bring full playback controls to those same system surfaces.","tags":[],"title":"Meet the Now Playing framework","url":"\/documentation\/wwdc26-312-meet-the-now-playing-framework\/"},{"category":"","section":"documentation","slug":"wwdc26-310-whats-new-in-shortcuts","summary":"Explore techniques to build powerful shortcuts using your app’s content. New automations unlock additional ways to integrate your app with the system. Refine how your App Entity is presented to LLMs using the new “Use Model” transcript feature. Store rich information from your app inside shortcuts that is synced across devices. Learn how to combine these features to create intelligent, powerful automations that integrate seamlessly with content and features from your app.","tags":[],"title":"What’s new in Shortcuts","url":"\/documentation\/wwdc26-310-whats-new-in-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc26-309-explore-retention-messaging-in-app-store-connect","summary":"Discover how you can use the power of Retention Messaging to reach subscribers before they cancel. Learn how to configure this feature in App Store Connect and add subscription offers, as well as leverage the Retention Messaging API to deliver real-time messaging and alternative options that encourage people to stay subscribed to your app or game.","tags":[],"title":"Explore Retention Messaging in App Store Connect","url":"\/documentation\/wwdc26-309-explore-retention-messaging-in-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc26-305-enhance-raw-image-processing-with-core-image","summary":"Harness the power of version 9 of the Core Image RAW processing APIs to dramatically improve image quality in your apps, with improved sharpness and more defined color, while using the Apple Neural Engine for optimal performance. Take advantage of the CIRAWFilter API to let your users edit RAW photos by changing exposure, noise reduction, sharpness, contrast and more. And explore new CIImageProcessor APIs that optimize performance by giving you precise control over tile sizing and buffer management.","tags":[],"title":"Enhance RAW image processing with Core Image","url":"\/documentation\/wwdc26-305-enhance-raw-image-processing-with-core-image\/"},{"category":"","section":"documentation","slug":"wwdc26-304-implement-high-resolution-photo-capture","summary":"Capture super high resolution photos in your app using AVFoundation. Learn when to use the three different options to capture images — RAW, exposure-bracketed, and fully processed. Walk through configuring photo capture for 24MP and 48MP images across the Main, Tele, and Ultra Wide cameras. And discover how deferred photo processing keeps your app responsive as more photos are taken.","tags":[],"title":"Implement high resolution photo capture","url":"\/documentation\/wwdc26-304-implement-high-resolution-photo-capture\/"},{"category":"","section":"documentation","slug":"wwdc26-303-build-a-responsive-camera-app-that-launches-quickly","summary":"Discover how to build a camera app that launches instantly so people never miss the perfect shot. Explore how to optimize the entire camera launch sequence — from app startup to first preview frame. Ensure your app has a polished camera experience by learning about new API’s that deliver faster launches, and best practices for smooth preview rendering and maintaining sustainable performance.","tags":[],"title":"Build a responsive camera app that launches quickly","url":"\/documentation\/wwdc26-303-build-a-responsive-camera-app-that-launches-quickly\/"},{"category":"","section":"documentation","slug":"wwdc26-299-create-robust-evaluations-for-agentic-apps","summary":"Learn how to leverage advanced features of the Evaluations framework to build robust evaluations for your app. Explore evaluating flows with tool calling and dynamic conditions, and how to define what correct behavior means for your use case. Discover how to generate synthetic data, use judges effectively, and validate your datasets for reliable results.","tags":[],"title":"Create robust evaluations for agentic apps","url":"\/documentation\/wwdc26-299-create-robust-evaluations-for-agentic-apps\/"},{"category":"","section":"documentation","slug":"wwdc26-298-meet-the-evaluations-framework","summary":"Learn how to evaluate model-driven experiences using the Evaluations framework. In a probabilistic world, unit tests alone won’t suffice. Discover how to define metrics, automatically grade outputs, and aggregate statistics to ensure your AI-powered features perform reliably across Apple’s platforms.","tags":[],"title":"Meet the Evaluations framework","url":"\/documentation\/wwdc26-298-meet-the-evaluations-framework\/"},{"category":"","section":"documentation","slug":"wwdc26-297-best-practices-for-integrating-visual-intelligence-in-your-app","summary":"Gain insight on how visual intelligence can transform content discovery in your app. Explore how to define entities, process images, and handle multiple result types effectively. Learn best practices for optimizing speed and relevance, and discover how intents enable direct actions like opening or playing content with a single tap.","tags":[],"title":"Best practices for integrating visual intelligence in your app","url":"\/documentation\/wwdc26-297-best-practices-for-integrating-visual-intelligence-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc26-295-validate-your-app-intents-adoption-with-appintentstesting","summary":"Meet AppIntentsTesting, a new framework for validating your App Intents through the same infrastructure used by Siri, Shortcuts, and Spotlight. Discover how to execute intents, inspect results, and test entities and queries — all without requiring UI automation. Find out how to verify integrations like View annotations and Spotlight indexing, helping you catch bugs early in your development workflow.","tags":[],"title":"Validate your App Intents adoption with AppIntentsTesting","url":"\/documentation\/wwdc26-295-validate-your-app-intents-adoption-with-appintentstesting\/"},{"category":"","section":"documentation","slug":"wwdc26-292-design-intuitive-search-experiences","summary":"Explore new patterns and best practices when implementing search in your app. Discover how search plays a key role in helping people find and navigate content, and find out how to integrate search across different navigation models and Apple platforms.","tags":[],"title":"Design intuitive search experiences","url":"\/documentation\/wwdc26-292-design-intuitive-search-experiences\/"},{"category":"","section":"documentation","slug":"wwdc26-290-craft-clear-names-for-features-and-labels-in-your-app","summary":"The names of your products, features, and labels can determine how people understand and navigate your app. Explore the principles behind thoughtful naming in app design, examine the patterns used across Apple apps, and learn how to make naming decisions with intention.","tags":[],"title":"Craft clear names for features and labels in your app","url":"\/documentation\/wwdc26-290-craft-clear-names-for-features-and-labels-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc26-289-modernize-your-appkit-app","summary":"Bring your AppKit app up to date with modern macOS conventions. Dive into handling input with control events and gesture recognizers, moving beyond traditional tracking loops. Enhance keyboard navigation in your app, implement graceful state restoration after restarts, and take advantage of new corner concentricity APIs that let your interface blend seamlessly with the macOS aesthetic.","tags":[],"title":"Modernize your AppKit app","url":"\/documentation\/wwdc26-289-modernize-your-appkit-app\/"},{"category":"","section":"documentation","slug":"wwdc26-287-build-nextgeneration-experiences-with-visionos-27","summary":"Build next-generation apps, games, and spatial experiences using new capabilities in visionOS 27. Explore the different pathways you can use to build experiences on visionOS — from using native Apple tools and frameworks, to streaming immersive content from a Mac or PC, leveraging third-party engines, or porting existing iOS apps. Discover how to elevate your spatial computing projects with the latest advances in 3D content creation, immersive media, and object tracking.","tags":[],"title":"Build next-generation experiences with visionOS 27","url":"\/documentation\/wwdc26-287-build-nextgeneration-experiences-with-visionos-27\/"},{"category":"","section":"documentation","slug":"wwdc26-286-use-foveated-streaming-to-bring-immersive-content-to-visionos","summary":"Find out how foveated streaming delivers remotely rendered scenes to Apple Vision Pro in full fidelity. Explore how this framework combines native visionOS capabilities with third-party streaming technologies completely wirelessly, demonstrated using an OpenXR scene and NVIDIA CloudXR. Learn about the FoveatedStreaming framework, integration with the NVIDIA CloudXR SDK, and how dynamically foveated streaming provides benefits while still preserving privacy.","tags":[],"title":"Use foveated streaming to bring immersive content to visionOS","url":"\/documentation\/wwdc26-286-use-foveated-streaming-to-bring-immersive-content-to-visionos\/"},{"category":"","section":"documentation","slug":"wwdc26-285-discover-usdkit-and-whats-new-in-openusd","summary":"Dive into the latest advances in Universal Scene Description (USD) support on Apple platforms, including Swift-based USDKit, the new spatial preview API, and enhanced spatial web capabilities. Discover how the latest updates to the OpenUSD standard add support for accessibility, Gaussian splats, and compressed geometry. We’ll also walk through the expanded USD editing and rendering tools in Preview for Mac, showing you how to leverage these capabilities in your own apps.","tags":[],"title":"Discover USDKit and what’s new in OpenUSD","url":"\/documentation\/wwdc26-285-discover-usdkit-and-whats-new-in-openusd\/"},{"category":"","section":"documentation","slug":"wwdc26-284-collaborate-on-structured-3d-models-in-visionos","summary":"Learn how to bring structured 3D models to life in visionOS. We’ll cover USDZ preparation, show you how to manipulate individual entities within hierarchical assemblies, and inspect the internal components within a model with a cross-sectional plane. Create stunning exploded-view animations for design review and collaboration experiences on Apple Vision Pro.","tags":[],"title":"Collaborate on structured 3D models in visionOS","url":"\/documentation\/wwdc26-284-collaborate-on-structured-3d-models-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc26-283-explore-enhancements-to-visionos-object-tracking","summary":"Find out how visionOS is advancing object tracking and spatial accessory input. Discover new ways to track moving and handheld objects, allowing you to bridge the physical and digital worlds. Learn about new supported classes of spatial accessories and what is needed to build your own custom accessories to enable unique interaction models in your apps.","tags":[],"title":"Explore enhancements to visionOS object tracking","url":"\/documentation\/wwdc26-283-explore-enhancements-to-visionos-object-tracking\/"},{"category":"","section":"documentation","slug":"wwdc26-282-discover-the-spatial-preview-framework","summary":"Check out how the new Spatial Preview framework brings content from your Mac directly into visionOS. Discover how to build dynamic workflows with live-syncing and bidirectional editing across both platforms. Learn about the SpatialPreview API, device discovery, 2D and 3D session integration, and new Quick Look capabilities to elevate your Mac apps spatially.","tags":[],"title":"Discover the Spatial Preview framework","url":"\/documentation\/wwdc26-282-discover-the-spatial-preview-framework\/"},{"category":"","section":"documentation","slug":"wwdc26-281-extend-reality-composer-pro-3-functionality-with-xcode","summary":"Discover how Reality Composer Pro 3 empowers you to build bigger, more ambitious spatial projects. Learn about creating project-specific plugins that let you edit custom components, run custom systems, and build your own ScriptGraph nodes—giving you complete control over your spatial authoring workflow.","tags":[],"title":"Extend Reality Composer Pro 3 functionality with Xcode","url":"\/documentation\/wwdc26-281-extend-reality-composer-pro-3-functionality-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc26-280-iterate-your-spatial-scenes-faster-with-reality-composer-pro-3","summary":"Unlock powerful new features in Reality Composer Pro 3 for building spatial experiences. Learn how you can add content, visual effects, lighting, and interactivity to your immersive scenes — all without leaving the editor. Discover how to iterate quickly using AI-assisted features right within the editor.","tags":[],"title":"Iterate your spatial scenes faster with Reality Composer Pro 3","url":"\/documentation\/wwdc26-280-iterate-your-spatial-scenes-faster-with-reality-composer-pro-3\/"},{"category":"","section":"documentation","slug":"wwdc26-279-explore-advances-in-realitykit","summary":"Discover the latest advancements in RealityKit designed to make your apps and games more immersive and realistic than ever. Explore powerful new capabilities including interactive cloth simulations, NavMesh pathfinding, mixed reality lighting, and customizable reverb meshes for enhanced spatial audio. Elevate your visual fidelity with improved shadows, character rendering enhancements, and support for Gaussian splatting.","tags":[],"title":"Explore advances in RealityKit","url":"\/documentation\/wwdc26-279-explore-advances-in-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc26-278-modernize-your-uikit-app","summary":"Discover the latest updates to UIKit. Learn how to update your iPhone app layouts to work great when resized with iPhone Mirroring and on iPad. Explore new APIs for tab and navigation bars, find out how to prepare your app for new Apple Intelligence capabilities, and get introduced to a skill for your coding agent of choice that helps modernize your codebase.","tags":[],"title":"Modernize your UIKit app","url":"\/documentation\/wwdc26-278-modernize-your-uikit-app\/"},{"category":"","section":"documentation","slug":"wwdc26-277-widgetkit-foundations","summary":"Widgets highlight your app’s most important content across the system, providing people with another opportunity to engage. Discover the different types of widgets and explore the qualities that make them memorable. Learn how to create widgets, keep them up to date, and offer ways for people to customize them through App Intents and dynamic styling.","tags":[],"title":"WidgetKit foundations","url":"\/documentation\/wwdc26-277-widgetkit-foundations\/"},{"category":"","section":"documentation","slug":"wwdc26-275-codealong-add-persistence-with-swiftdata","summary":"Experience SwiftData in action as we add persistence to an existing app. We’ll show you how to define your data models and seamlessly integrate persistent data with SwiftUI. You’ll also learn foundational skills for managing your app’s state using this expressive, declarative API.","tags":[],"title":"Code-along: Add persistence with SwiftData","url":"\/documentation\/wwdc26-275-codealong-add-persistence-with-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc26-274-whats-new-in-swiftdata","summary":"Discover the latest enhancements to SwiftData. We’ll show you how to persist custom and third-party types using Codable, and group fetched data into sections in your SwiftUI app. We’ll also explore how to observe data store changes anywhere else using ModelResultsObserver and HistoryObserver, giving you the flexibility to drive powerful state objects, integrate with delegate-based architectures, and react precisely to model updates.","tags":[],"title":"What’s new in SwiftData","url":"\/documentation\/wwdc26-274-whats-new-in-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc26-272-use-swiftui-with-appkit-and-uikit","summary":"Discover how to incrementally adopt SwiftUI in your existing AppKit or UIKit app. We’ll show you how to use the Observation framework to automatically update your views, integrate SwiftUI components into an existing view hierarchy, and bring gesture recognizers into SwiftUI. We’ll also explore how to add complete SwiftUI scenes to your app without changing your overall architecture.","tags":[],"title":"Use SwiftUI with AppKit and UIKit","url":"\/documentation\/wwdc26-272-use-swiftui-with-appkit-and-uikit\/"},{"category":"","section":"documentation","slug":"wwdc26-271-codealong-build-powerful-drag-and-drop-in-swiftui","summary":"Follow along as we build a game of Solitaire to explore the latest drag-and-drop capabilities in SwiftUI. We’ll show you how to use the new reordering API to let people arrange content, implement drag containers to move multiple items at once, and customize the drag-and-drop lifecycle to fit your app’s rules. To get the most out of this session, watch “Meet Transferable” from WWDC22.","tags":[],"title":"Code-along: Build powerful drag and drop in SwiftUI","url":"\/documentation\/wwdc26-271-codealong-build-powerful-drag-and-drop-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc26-269-whats-new-in-swiftui","summary":"Explore the latest additions to SwiftUI and discover how they can improve your apps. We’ll introduce a new Document protocol with direct disk access and snapshot-based diffing for building high-performance apps; new APIs for reordering content in lists, grids, and sections; and toolbar enhancements including visibility priority and auto-minimizing behavior. We’ll also cover expanded presentation APIs — including swipe actions on any view — plus AsyncImage caching improvements and lazy state initialization for Observable types.","tags":[],"title":"What’s new in SwiftUI","url":"\/documentation\/wwdc26-269-whats-new-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc26-268-profile-fix-and-verify-improve-app-responsiveness-with-instruments","summary":"Tackle app responsiveness issues with a clear workflow. Explore the Swift Concurrency instrument, Time Profiler, and System Trace to pinpoint bottlenecks. Discover how to use top functions and run comparisons to measure your improvements and confirm your fixes. And learn about other enhancements in Instruments which make each iteration of this cycle faster than ever, so you can deliver a smoother user experience in less time.","tags":[],"title":"Profile, fix, and verify: Improve app responsiveness with Instruments","url":"\/documentation\/wwdc26-268-profile-fix-and-verify-improve-app-responsiveness-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc26-267-migrate-to-swift-testing","summary":"Learn how to fearlessly adopt Swift Testing alongside your XCTests using test framework interoperability. Discover best practices and patterns for incrementally introducing advanced testing features that accelerate development and increase coverage.","tags":[],"title":"Migrate to Swift Testing","url":"\/documentation\/wwdc26-267-migrate-to-swift-testing\/"},{"category":"","section":"documentation","slug":"wwdc26-265-build-realtime-apps-and-services-with-grpc-and-swift","summary":"Build engaging live experiences with gRPC in your Swift app and backend. gRPC is an open-source RPC framework designed for high-performance, bidirectional streaming APIs. Explore how the gRPC Swift package provides a modern, safe runtime built with Swift concurrency. Learn how integrated tools streamline your workflow and help you deliver real-time features with ease.","tags":[],"title":"Build real-time apps and services with gRPC and Swift","url":"\/documentation\/wwdc26-265-build-realtime-apps-and-services-with-grpc-and-swift\/"},{"category":"","section":"documentation","slug":"wwdc26-262-whats-new-in-swift","summary":"Join us for an update on Swift. Discover the latest language advancements, including updates for everyday ergonomics, improved concurrency, and safer high-performance code. Explore workflow and language interoperability improvements and updates in embedded Swift.","tags":[],"title":"What’s new in Swift","url":"\/documentation\/wwdc26-262-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc26-261-build-deliver-and-automate-with-xcode-cloud","summary":"Discover the latest updates to Xcode Cloud that quickly get you started building and delivering your apps. Learn essential Xcode Cloud concepts, set up cloud build and tests simply by connecting your source repository, and configure for app distribution when you’re ready to ship. Find out how webhooks and management tools extends Xcode Cloud’s capabilities, supporting your most advanced workflows.","tags":[],"title":"Build, deliver, and automate with Xcode Cloud","url":"\/documentation\/wwdc26-261-build-deliver-and-automate-with-xcode-cloud\/"},{"category":"","section":"documentation","slug":"wwdc26-260-get-the-most-out-of-device-hub","summary":"Learn how Device Hub can accelerate your development workflows. We’ll take a tour of its features and show you how to diagnose and reproduce issues quickly with devices and simulators.","tags":[],"title":"Get the most out of Device Hub","url":"\/documentation\/wwdc26-260-get-the-most-out-of-device-hub\/"},{"category":"","section":"documentation","slug":"wwdc26-259-xcode-agents-and-you","summary":"Learn how you can use coding agents in Xcode in your development process. We’ll explore multiple ways of working with agents with tips to take you from creating an initial prototype to polishing a refined app. Discover how Xcode’s coding assistant adapts to help you stay engaged with the creative work that makes coding fun, whether you’re building an app solo or working with a team.","tags":[],"title":"Xcode, agents, and you","url":"\/documentation\/wwdc26-259-xcode-agents-and-you\/"},{"category":"","section":"documentation","slug":"wwdc26-258-whats-new-in-xcode-27","summary":"Discover the latest productivity enhancements in Xcode 27. Accelerate your development workflow through customization, coding agents, and Device Hub. Explore updates in localization, performance, and testing tools to refine your apps further.","tags":[],"title":"What’s new in Xcode 27","url":"\/documentation\/wwdc26-258-whats-new-in-xcode-27\/"},{"category":"","section":"documentation","slug":"wwdc26-256-discover-generated-subtitles-and-subtitle-styles","summary":"Make your video content more accessible with generated subtitles — a powerful new feature that can transcribe spoken audio or translate subtitles from another language, using on-device models. Explore caption style preview, which lets people customize and preview subtitle styles during playback, and dive into implementation details for AVKit, AVPlayerLayer, and the Media Accessibility framework.","tags":[],"title":"Discover generated subtitles and subtitle styles","url":"\/documentation\/wwdc26-256-discover-generated-subtitles-and-subtitle-styles\/"},{"category":"","section":"documentation","slug":"wwdc26-254-integrate-musickit-into-your-app","summary":"Bring the power of Apple Music into your app using MusicKit. We’ll cover authorization, subscription-status checks, music selection, playback control, and cross-storefront song sharing. Learn how to use the new Music Picker to let people browse the Apple Music catalog and their personal libraries. We’ll also break down the differences between SystemMusicPlayer and ApplicationMusicPlayer, and show you how to observe playback state.","tags":[],"title":"Integrate MusicKit into your app","url":"\/documentation\/wwdc26-254-integrate-musickit-into-your-app\/"},{"category":"","section":"documentation","slug":"wwdc26-253-meet-the-music-understanding-framework","summary":"Discover Music Understanding, a new framework that lets your app analyze audio across six dimensions, on device: key, rhythm, structure, pace, instrument activity, and loudness. And use the Music Understanding Lab sample app to visualize each result.","tags":[],"title":"Meet the Music Understanding framework","url":"\/documentation\/wwdc26-253-meet-the-music-understanding-framework\/"},{"category":"","section":"documentation","slug":"wwdc26-252-design-nocode-games-with-reality-composer-pro-3","summary":"Discover how you can use ScriptGraph in Reality Composer Pro 3 to create no-code 3D content for your apps and games. Learn how to take advantage of visual nodes to build animations, create interactive moments, and incorporate SwiftUI elements to add speech bubbles and other UI to your experience.","tags":[],"title":"Design no-code games with Reality Composer Pro 3","url":"\/documentation\/wwdc26-252-design-nocode-games-with-reality-composer-pro-3\/"},{"category":"","section":"documentation","slug":"wwdc26-251-communicate-your-brand-identity-on-ios","summary":"Explore practical approaches to branding using typography, color, components, and interactions that balance the familiar with the unique.","tags":[],"title":"Communicate your brand identity on iOS","url":"\/documentation\/wwdc26-251-communicate-your-brand-identity-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc26-250-principles-of-great-design","summary":"Dive deep into fundamental design principles for Apple platforms.","tags":[],"title":"Principles of great design","url":"\/documentation\/wwdc26-250-principles-of-great-design\/"},{"category":"","section":"documentation","slug":"wwdc26-246-llm-search-using-core-spotlight","summary":"Level up basic search into a retrieval-augmented system using SpotlightSearchTool and LanguageModelSession. Explore Core Spotlight integration, delegate-based hydration patterns, and how metadata quality impacts your search results. Learn how to use custom PipelineStages for tasks like sentiment analysis. Discover best practices for indexing and building flexible, context-rich search experiences in your app.","tags":[],"title":"LLM search using Core Spotlight","url":"\/documentation\/wwdc26-246-llm-search-using-core-spotlight\/"},{"category":"","section":"documentation","slug":"wwdc26-243-debug-and-profile-agentic-app-experiences-with-instruments","summary":"Explore the enhanced FoundationModels instrument in Xcode to inspect behavior and optimize the performance of agentic flows. Learn how to inspect prompts, analyze latency, and trace control flow in advanced use cases that leverage multiple LanguageModelSessions and profiles.","tags":[],"title":"Debug and profile agentic app experiences with Instruments","url":"\/documentation\/wwdc26-243-debug-and-profile-agentic-app-experiences-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc26-242-build-agentic-app-experiences-with-the-foundation-models-framework","summary":"Learn how to take your intelligence features further with Foundation Models framework primitives for dynamic context and agentic workflows. We’ll walk through engineering shared context, setting up privacy boundaries, and managing key value caching. Discover how to orchestrate smooth handoffs between local and server models.","tags":[],"title":"Build agentic app experiences with the Foundation Models framework","url":"\/documentation\/wwdc26-242-build-agentic-app-experiences-with-the-foundation-models-framework\/"},{"category":"","section":"documentation","slug":"wwdc26-241-whats-new-in-the-foundation-models-framework","summary":"Explore what’s new in the Foundation Models framework. Learn how to access Private Cloud Compute, integrate third-party and open source models, and work with vision capabilities. Discover context management APIs, built-in semantic search, and powerful primitives for creating agentic experiences in your apps.","tags":[],"title":"What’s new in the Foundation Models framework","url":"\/documentation\/wwdc26-241-whats-new-in-the-foundation-models-framework\/"},{"category":"","section":"documentation","slug":"wwdc26-240-build-intelligent-siri-experiences-with-app-schemas","summary":"Bring your app’s content and actions to Siri with App Intents. Model your data using App Entities, adopt App Schemas to enable powerful system actions, and support natural language interactions powered by Apple Intelligence. Explore how to enable semantic search, perform actions across apps, and create contextual experiences using onscreen awareness and content transfer. Find out best practices and testing tools to build fast, reliable Siri experiences.","tags":[],"title":"Build intelligent Siri experiences with App Schemas","url":"\/documentation\/wwdc26-240-build-intelligent-siri-experiences-with-app-schemas\/"},{"category":"","section":"documentation","slug":"wwdc26-237-whats-new-in-image-understanding","summary":"Unlock powerful image understanding with the latest Vision framework and Foundation Models framework updates. The new tap-to-segment request lets you segment images in new ways, and Vision now supports watchOS. Combine the new image support in Apple Foundation Model together with OCR, barcode scanning and your own tools to deliver LLM-powered visual understanding in your app.","tags":[],"title":"What’s new in image understanding","url":"\/documentation\/wwdc26-237-whats-new-in-image-understanding\/"},{"category":"","section":"documentation","slug":"wwdc26-234-design-immersive-environments-for-visionos-apps-and-the-spatial-web","summary":"Learn how you can create photoreal visionOS environments for your apps, websites, and SharePlay experiences. Discover the design principles that make environments feel truly immersive and find out how you can create or capture reference materials, prepare high-fidelity CG assets, and craft real-time effects such as motion and lighting.","tags":[],"title":"Design immersive environments for visionOS apps and the spatial web","url":"\/documentation\/wwdc26-234-design-immersive-environments-for-visionos-apps-and-the-spatial-web\/"},{"category":"","section":"documentation","slug":"wwdc26-233-explore-distributed-inference-and-training-with-mlx","summary":"Scale your machine learning workloads across multiple Macs using MLX. Learn how to tackle interconnect efficiency, large model inference, request batching, and distributed training challenges. Discover how a few Macs on your desk can replace expensive cloud infrastructure for demanding AI workloads.","tags":[],"title":"Explore distributed inference and training with MLX","url":"\/documentation\/wwdc26-233-explore-distributed-inference-and-training-with-mlx\/"},{"category":"","section":"documentation","slug":"wwdc26-232-run-local-agentic-ai-on-the-mac-using-mlx","summary":"Run AI agents locally with privacy, low latency, and offline access. Dive into how MLX advancements and Mac hardware make powerful agentic workflows possible entirely on-device. You’ll explore code agents such as OpenCode, see how they integrate into Xcode, learn techniques for multi-Mac scaling, and discover how to integrate tools seamlessly — without ever leaving your machine.","tags":[],"title":"Run local agentic AI on the Mac using MLX","url":"\/documentation\/wwdc26-232-run-local-agentic-ai-on-the-mac-using-mlx\/"},{"category":"","section":"documentation","slug":"wwdc26-230-whats-new-in-assessment-on-macos","summary":"Explore the Automatic Assessment Configuration framework on macOS to deliver secure tests for education apps. Learn how to leverage new APIs to create a secure, configurable testing environment that incorporates more system-level features on Mac. Find out how built-in system prechecks and accessibility controls make it easier than ever to deliver a reliable exam experience.","tags":[],"title":"What’s new in assessment on macOS","url":"\/documentation\/wwdc26-230-whats-new-in-assessment-on-macos\/"},{"category":"","section":"documentation","slug":"wwdc26-227-create-ui-prototypes-using-agents-in-xcode","summary":"Learn how to prototype your app using agents in Xcode. Explore techniques for using AI to prototype interactions, iterate on layouts, and generate creative solutions to design challenges. You’ll learn how to evaluate ideas critically and refine them into polished, people-centered experiences for your app.","tags":[],"title":"Create UI prototypes using agents in Xcode","url":"\/documentation\/wwdc26-227-create-ui-prototypes-using-agents-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc26-226-create-live-communication-experiences","summary":"LiveCommunicationKit transforms your real-time communication apps into integrated experiences. We’ll show you how to deliver a rich, native conversation UI that puts your app right where people need it: from a full-screen presentation on the Lock Screen to seamless multitasking with the Dynamic Island. Join us as we step through integrating the framework for incoming, outgoing, and group conversations.","tags":[],"title":"Create live communication experiences","url":"\/documentation\/wwdc26-226-create-live-communication-experiences\/"},{"category":"","section":"documentation","slug":"wwdc26-224-expand-the-capabilities-of-your-virtualization-app","summary":"Bring powerful new capabilities in macOS 27 to your Virtualization app. Discover how to automate the setup of macOS guests through user account setup on first boot. We’ll explore advanced workflows that involve passthrough of USB accessories to virtual machines, as well as custom network topologies and port forwarding. You’ll also learn about recent improvements that can enrich the experience of running your app’s virtual machines.","tags":[],"title":"Expand the capabilities of your Virtualization app","url":"\/documentation\/wwdc26-224-expand-the-capabilities-of-your-virtualization-app\/"},{"category":"","section":"documentation","slug":"wwdc26-223-live-activities-essentials","summary":"Elevate your app experience with Live Activities. Explore many of the places where Live Activities appear, including a new style in the Dynamic Island that delivers more information when iPhone is used in landscape. Learn how to tailor your Live Activity for each space, structure your content and data, and drive real time updates from start to finish using ActivityKit and push notifications.","tags":[],"title":"Live Activities essentials","url":"\/documentation\/wwdc26-223-live-activities-essentials\/"},{"category":"","section":"documentation","slug":"wwdc26-222-meet-the-new-metrickit","summary":"Find and fix performance problems faster than ever. Join us to explore how MetricKit equips you with vital performance metrics and actionable diagnostics to help you understand exactly where your app has opportunities for improvements. We’ll also cover how to intersect your app’s metrics and diagnostics by app state by using the StateReporting framework, providing you with the full picture to investigate optimizations in your app’s experience.","tags":[],"title":"Meet the new MetricKit","url":"\/documentation\/wwdc26-222-meet-the-new-metrickit\/"},{"category":"","section":"documentation","slug":"wwdc26-221-prepare-your-tvos-apps-for-dynamic-type","summary":"Dynamic Type empowers people to comfortably read and interact with your app by letting them choose the text size that works best for them. You’ll learn how to get your app ready for Dynamic Type on tvOS through practical techniques for implementing font scaling and adapting your layouts for larger content. You’ll also discover how to optimize your media-focused interfaces like grids and carousels, ensuring a great experience for everyone who relies on different text sizes.","tags":[],"title":"Prepare your tvOS apps for Dynamic Type","url":"\/documentation\/wwdc26-221-prepare-your-tvos-apps-for-dynamic-type\/"},{"category":"","section":"documentation","slug":"wwdc26-220-refine-accessibility-for-custom-controls","summary":"Unlock the full potential of your app’s interactive elements by making them accessible to everyone. We’ll break down how people understand and use controls with VoiceOver and other assistive technologies, exploring a variety of input methods like actions, the passthrough gesture, and direct touch. Join us for an in-depth exploration of several example controls as we refine and elevate the accessibility experience in each one.","tags":[],"title":"Refine accessibility for custom controls","url":"\/documentation\/wwdc26-220-refine-accessibility-for-custom-controls\/"},{"category":"","section":"documentation","slug":"wwdc26-219-enhance-the-accessibility-of-your-reading-app","summary":"Learn how to create robust reading experiences for VoiceOver, Speak Screen, and more. Find out how to provide intuitive text selection, clear navigation between lines and paragraphs, and continuous reading across individual elements and multiple pages.","tags":[],"title":"Enhance the accessibility of your reading app","url":"\/documentation\/wwdc26-219-enhance-the-accessibility-of-your-reading-app\/"},{"category":"","section":"documentation","slug":"wwdc26-216-create-web-extensions-for-safari","summary":"Get started with Safari web extensions by building and testing one from the ground up — no Xcode required. Explore how content blocking, page modification, native messaging, and the permissions mode work together to create a powerful, privacy-preserving browsing experience across platforms.","tags":[],"title":"Create web extensions for Safari","url":"\/documentation\/wwdc26-216-create-web-extensions-for-safari\/"},{"category":"","section":"documentation","slug":"wwdc26-215-get-started-with-the-html-model-element","summary":"Learn how the model element brings interactive 3D content to your websites — now on iOS, iPadOS, macOS, and visionOS. Discover tools for creating and optimizing 3D assets. Explore model element’s features and see how web standards are shaping the future of 3D on the web.","tags":[],"title":"Get started with the HTML Model Element","url":"\/documentation\/wwdc26-215-get-started-with-the-html-model-element\/"},{"category":"","section":"documentation","slug":"wwdc26-213-translate-your-app-using-agents-in-xcode","summary":"Find out how Xcode and coding agents help you translate String Catalogs using the context of your app. We’ll walk through strategies for reviewing translated output and iterating on your localizations, so you can deliver a tailored experience to people around the world.","tags":[],"title":"Translate your app using agents in Xcode","url":"\/documentation\/wwdc26-213-translate-your-app-using-agents-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc26-212-rev-up-your-carplay-app","summary":"Explore new features for your CarPlay audio, navigation, voice-based conversational apps, and more. Discover how to create CarPlay video apps so people can browse and watch their favorite videos in supported vehicles when parked. Learn how to integrate thumbnails, media information, and voice controls in your CarPlay app.","tags":[],"title":"Rev up your CarPlay app","url":"\/documentation\/wwdc26-212-rev-up-your-carplay-app\/"},{"category":"","section":"documentation","slug":"wwdc26-210-whats-new-in-apple-inapp-purchase","summary":"Discover how monthly subscriptions with a 12-month commitment give people a more affordable option to pay for your subscription and secure a longer-term commitment. Explore how to configure and test this new payment option using App Store Connect, StoreKit APIs, Xcode testing, and more. Plus, learn about improvements to offer code redemption APIs, and enhancements to the App Review submission experience.","tags":[],"title":"What’s new in Apple In-App Purchase","url":"\/documentation\/wwdc26-210-whats-new-in-apple-inapp-purchase\/"},{"category":"","section":"documentation","slug":"wwdc26-209-whats-new-in-wallet","summary":"Explore the newest design updates and developer tools for Apple Wallet passes. Refresh your passes with beautiful new styles for rich, vibrant designs. Discover new barcode formats and a flexible pass actions API. Meet Pass Designer and Pass Builder, powerful tools that simplify designing, personalizing, and distributing your passes at scale.","tags":[],"title":"What’s new in Wallet","url":"\/documentation\/wwdc26-209-whats-new-in-wallet\/"},{"category":"","section":"documentation","slug":"wwdc26-207-deliver-workout-insights-with-healthkit-workout-zones","summary":"HealthKit makes it easier to provide workout insights — like heart rate and cycling power zones — in your app. Learn to leverage the built-in, personalized zones or create custom ones. Discover how to use the current zone and time spent in each zone to provide meaningful guidance during and after workouts.","tags":[],"title":"Deliver workout insights with HealthKit workout zones","url":"\/documentation\/wwdc26-207-deliver-workout-insights-with-healthkit-workout-zones\/"},{"category":"","section":"documentation","slug":"wwdc26-206-whats-new-in-managing-apple-devices","summary":"Discover the latest updates to declarative device management, Apple Business, and Apple School Manager. Explore how these advancements help you streamline deployment, strengthen security, and improve the experience for people using your managed devices. Whether you’re building device management solutions or managing enterprise fleets, you’ll learn practical ways to take advantage of these new capabilities.","tags":[],"title":"What’s new in managing Apple devices","url":"\/documentation\/wwdc26-206-whats-new-in-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc26-205-enhance-your-presence-on-the-app-store","summary":"Reimagine how you market your apps and games on the App Store by using your images and videos in new places. Discover how you can tell a richer story across the App Store with new visual placements on your product page, search results, and Apple Ads campaigns. Explore how to streamline all your visual assets in one place with the new Asset Library, as well as learn about a new tool to help you view your product page before it goes live.","tags":[],"title":"Enhance your presence on the App Store","url":"\/documentation\/wwdc26-205-enhance-your-presence-on-the-app-store\/"},{"category":"","section":"documentation","slug":"wwdc26-204-whats-new-in-webkit-for-safari-27","summary":"Explore what’s new in WebKit — from Grid Lanes and Customizable Select, to HTML Model and Immersive Environments, and the latest for Web Extensions. You’ll also discover the work behind over 1,000 browser engine improvements that make the web more reliable.","tags":[],"title":"What’s new in WebKit for Safari 27","url":"\/documentation\/wwdc26-204-whats-new-in-webkit-for-safari-27\/"},{"category":"","section":"documentation","slug":"wwdc26-203-read-between-the-strokes-with-pencilkit","summary":"Unlock handwriting recognition in your apps using the same powerful technology behind Apple apps like Freeform and Notes. Discover how to use handwriting recognition across a wide range of alphabets and languages, and explore new capabilities for integrating PencilKit into a wider variety of apps.","tags":[],"title":"Read between the strokes with PencilKit","url":"\/documentation\/wwdc26-203-read-between-the-strokes-with-pencilkit\/"},{"category":"","section":"documentation","slug":"wwdc26-201-secure-your-apps-with-app-attest","summary":"Harness App Attest to protect your app from unauthorized modification and fraud. Uncover how attackers exploit modified apps to spoof data and bypass security checks, and how App Attest defends against these threats. Learn to generate and manage App Attest keys bound to the Secure Enclave, validate attestations and assertions, and use the fraud metric to detect abuse. Discover best practices across all Apple platforms, including new signals in iOS 27 to strengthen your validation.","tags":[],"title":"Secure your apps with App Attest","url":"\/documentation\/wwdc26-201-secure-your-apps-with-app-attest\/"},{"category":"","section":"documentation","slug":"wwdc26-102-platforms-state-of-the-union","summary":"Discover the newest advancements on Apple platforms.","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc26-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc26-101-keynote","summary":"Don’t miss the exciting reveal of the latest Apple software and technologies.","tags":[],"title":"Keynote","url":"\/documentation\/wwdc26-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc26","summary":"Xcode 27, iOS\/macOS\/tvOS\/visionOS 27. New APIs: `Core AI`, `Evaluations`, `Music Understanding`, and more.","tags":[],"title":"WWDC26","url":"\/documentation\/wwdc26\/"},{"category":"","section":"documentation","slug":"wwdc25-404-make-a-big-impact-with-small-writing-changes","summary":"With the new design system across platforms, now’s a perfect time to revisit the writing in your UI too. Learn how a few small changes, like removing repetition and leading with benefits, can quickly enhance the usability and clarity of your app.","tags":[],"title":"Make a big impact with small writing changes","url":"\/documentation\/wwdc25-404-make-a-big-impact-with-small-writing-changes\/"},{"category":"","section":"documentation","slug":"wwdc25-403-learn-about-apple-immersive-video-technologies","summary":"Explore the capabilities of Apple Immersive Video and Apple Spatial Audio Format technologies to create truly immersive experiences. Meet the new ImmersiveMediaSupport framework, which offers functionality to read and write the necessary metadata for enabling Apple Immersive Video. Learn guidelines for encoding and publishing Apple Immersive Video content in standalone files for playback or streaming via HLS.","tags":[],"title":"Learn about Apple Immersive Video technologies","url":"\/documentation\/wwdc25-403-learn-about-apple-immersive-video-technologies\/"},{"category":"","section":"documentation","slug":"wwdc25-364-welcome-to-wwdc25","summary":"There’s so much to dive into at WWDC25. Here’s a quick guide to help get you started.","tags":[],"title":"Welcome to WWDC25","url":"\/documentation\/wwdc25-364-welcome-to-wwdc25\/"},{"category":"","section":"documentation","slug":"wwdc25-361-create-icons-with-icon-composer","summary":"Learn how to use Icon Composer to make updated app icons for iOS, iPadOS, macOS, and watchOS. Find out how to export assets from your design tool of choice, add them to Icon Composer, apply real-time glass properties and other effects, and preview and adjust for different platforms and appearance modes.","tags":["ios","ipados","macos","watchos"],"title":"Create icons with Icon Composer","url":"\/documentation\/wwdc25-361-create-icons-with-icon-composer\/"},{"category":"","section":"documentation","slug":"wwdc25-360-discover-machine-learning-and-ai-frameworks-on-apple-platforms","summary":"Tour the latest updates to machine learning and AI frameworks available on Apple platforms. Whether you are an app developer ready to tap into Apple Intelligence, an ML engineer optimizing models for on-device deployment, or an AI enthusiast exploring the frontier of what is possible, we’ll offer guidance to help select the right tools for your needs.","tags":[],"title":"Discover machine learning & AI frameworks on Apple platforms","url":"\/documentation\/wwdc25-360-discover-machine-learning-and-ai-frameworks-on-apple-platforms\/"},{"category":"","section":"documentation","slug":"wwdc25-359-design-foundations-from-idea-to-interface","summary":"Great apps feel clear, intuitive, and effortless to use. In this session, you’ll discover how app design can elevate functionality, communicate purpose, guide people through your content, and use components thoughtfully to keep the experience simple without losing impact. This session is for designers and developers of all skill levels — as well as anyone curious about design.","tags":[],"title":"Design foundations from idea to interface","url":"\/documentation\/wwdc25-359-design-foundations-from-idea-to-interface\/"},{"category":"","section":"documentation","slug":"wwdc25-356-get-to-know-the-new-design-system","summary":"Dive deeper into the new design system to explore key changes to visual design, information architecture, and core system components. Learn how the system reshapes the relationship between interface and content, enabling you to create designs that are dynamic, harmonious, and consistent across devices, screen sizes, and input modes.","tags":[],"title":"Get to know the new design system","url":"\/documentation\/wwdc25-356-get-to-know-the-new-design-system\/"},{"category":"","section":"documentation","slug":"wwdc25-346-meet-containerization","summary":"Meet Containerization, an open source project written in Swift to create and run Linux containers on your Mac. Learn how Containerization approaches Linux containers securely and privately. Discover how the open-sourced Container CLI tool utilizes the Containerization package to provide simple, yet powerful functionality to build, run, and deploy Linux Containers on Mac.","tags":[],"title":"Meet Containerization","url":"\/documentation\/wwdc25-346-meet-containerization\/"},{"category":"","section":"documentation","slug":"wwdc25-344-record-replay-and-review-ui-automation-with-xcode","summary":"Learn to record, run, and maintain XCUIAutomation tests in Xcode. Replay your XCTest UI tests in dozens of locales, device types, and system conditions using test plan configurations. Review your test results using the Xcode test report, and download screenshots and videos of your runs. We’ll also cover best practices for preparing your app for automation with Accessibility and writing stable, high-quality automation code.","tags":[],"title":"Record, replay, and review: UI automation with Xcode","url":"\/documentation\/wwdc25-344-record-replay-and-review-ui-automation-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc25-337-whats-new-in-sf-symbols-7","summary":"Explore the latest updates to SF Symbols, Apple’s library of iconography. Meet Draw, a new animation system that allows symbols to imitate the organic flow of a handwritten stroke, and Variable Draw, which can be used to convey strength or progress. Discover Gradients, which add dimension and visual interest to symbols, and Magic Replace enhancements, which offer greater continuity between related symbols. And learn how to preview and integrate these features into your own apps.","tags":[],"title":"What’s new in SF Symbols 7","url":"\/documentation\/wwdc25-337-whats-new-in-sf-symbols-7\/"},{"category":"","section":"documentation","slug":"wwdc25-334-whats-new-in-watchos-26","summary":"Discover the new features in watchOS 26 and learn how to integrate them into your watchOS and iOS apps. Explore the ARM64 architecture, and dive into the new design system. We’ll also share updates for widgets and insights on how to bring controls to Apple Watch.","tags":[],"title":"What’s new in watchOS 26","url":"\/documentation\/wwdc25-334-whats-new-in-watchos-26\/"},{"category":"","section":"documentation","slug":"wwdc25-328-whats-new-in-app-store-connect","summary":"Get the latest updates for App Store Connect, including the new web UI for build delivery and enhancements to TestFlight notifications. We’ll also discuss new app discovery features and enhancements, such as keywords for custom product pages, Accessibility Nutrition Labels, and age ratings updates. Additionally, learn about new functionalities like In-App Purchase offer codes and review summarization tools.","tags":[],"title":"What’s new in App Store Connect","url":"\/documentation\/wwdc25-328-whats-new-in-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc25-325-discover-applehosted-background-assets","summary":"Building on Background Assets, this session will introduce the new capability to download asset packs of content for games and other applications. Learn how Apple can host these asset packs for you or how to manage self-hosting options. We’ll delve into the native API integration and the corresponding App Store implementations, providing you with the tools to enhance your app’s content delivery and user experience.","tags":[],"title":"Discover Apple-Hosted Background Assets","url":"\/documentation\/wwdc25-325-discover-applehosted-background-assets\/"},{"category":"","section":"documentation","slug":"wwdc25-324-automate-your-development-process-with-the-app-store-connect-api","summary":"Learn how the new WebHook API can provide you with real-time notifications from App Store Connect. We’ll also introduce new APls that can help you manage user feedback and build delivery, and discuss how to integrate these tools into your development workflow to improve efficiency and streamline your processes.","tags":[],"title":"Automate your development process with the App Store Connect API","url":"\/documentation\/wwdc25-324-automate-your-development-process-with-the-app-store-connect-api\/"},{"category":"","section":"documentation","slug":"wwdc25-323-build-a-swiftui-app-with-the-new-design","summary":"Explore the ways Liquid Glass transforms the look and feel of your app. Discover how this stunning new material enhances toolbars, controls, and app structures across platforms, providing delightful interactions and seamlessly integrating your app with the system. Learn how to adopt new APIs that can help you make the most of Liquid Glass.","tags":[],"title":"Build a SwiftUI app with the new design","url":"\/documentation\/wwdc25-323-build-a-swiftui-app-with-the-new-design\/"},{"category":"","section":"documentation","slug":"wwdc25-322-track-workouts-with-healthkit-on-ios-and-ipados","summary":"Learn best practices for building a great workout experience for iOS. Review the life cycle of a workout session, explore the differences between workouts on Apple Watch and iPhone, and find out how to use Live Activities and Siri to pump up your app’s Lock Screen experience.","tags":[],"title":"Track workouts with HealthKit on iOS and iPadOS","url":"\/documentation\/wwdc25-322-track-workouts-with-healthkit-on-ios-and-ipados\/"},{"category":"","section":"documentation","slug":"wwdc25-321-meet-the-healthkit-medications-api","summary":"Discover the new Medications API in HealthKit. Explore an example app that uses the new API, learn how to access medications and doses, and find out how your app will manage authorization for this new kind of data.","tags":[],"title":"Meet the HealthKit Medications API","url":"\/documentation\/wwdc25-321-meet-the-healthkit-medications-api\/"},{"category":"","section":"documentation","slug":"wwdc25-319-capture-cinematic-video-in-your-app","summary":"Discover how the Cinematic Video API enables your app to effortlessly capture cinema-style videos. We’ll cover how to configure a Cinematic capture session and introduce the fundamentals of building a video capture UI. We’ll also explore advanced Cinematic features such as applying a depth of field effect to achieve both tracking and rack focus.","tags":[],"title":"Capture cinematic video in your app","url":"\/documentation\/wwdc25-319-capture-cinematic-video-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc25-318-share-visionos-experiences-with-nearby-people","summary":"Learn how to create shared experiences for people wearing Vision Pro in the same room. We’ll show you how to integrate SharePlay and leverage ARKit in your app, introduce the updated window sharing flows for nearby and FaceTime participants, and cover new API designed for seamless collaboration. Discover best practices to make your collaborative features stand out, easily discoverable, and engaging for people together in the same space.","tags":[],"title":"Share visionOS experiences with nearby people","url":"\/documentation\/wwdc25-318-share-visionos-experiences-with-nearby-people\/"},{"category":"","section":"documentation","slug":"wwdc25-317-whats-new-in-visionos-26","summary":"Explore exciting new features in visionOS 26. Discover enhanced volumetric APIs and learn how you can combine the power of SwiftUI, RealityKit and ARKit. Find out how you can build more engaging apps and games using faster hand tracking and input from spatial accessories. Get a sneak peek at updates to SharePlay, Compositor Services, immersive media, spatial web, Enterprise APIs, and much more.","tags":[],"title":"What’s new in visionOS 26","url":"\/documentation\/wwdc25-317-whats-new-in-visionos-26\/"},{"category":"","section":"documentation","slug":"wwdc25-316-principles-of-inclusive-app-design","summary":"Discover how understanding disability can help you create better apps for everyone. Find out how to make your apps more inclusive by supporting multiple types of interaction, providing customization, and adopting accessibility APIs.","tags":[],"title":"Principles of inclusive app design","url":"\/documentation\/wwdc25-316-principles-of-inclusive-app-design\/"},{"category":"","section":"documentation","slug":"wwdc25-315-get-started-with-mlx-for-apple-silicon","summary":"MLX is a flexible and efficient array framework for numerical computing and machine learning on Apple silicon. We’ll explore fundamental features including unified memory, lazy computation, and function transformations. We’ll also look at more advanced techniques for building and accelerating machine learning models across Apple’s platforms using Swift and Python APIs.","tags":[],"title":"Get started with MLX for Apple silicon","url":"\/documentation\/wwdc25-315-get-started-with-mlx-for-apple-silicon\/"},{"category":"","section":"documentation","slug":"wwdc25-314-get-ahead-with-quantumsecure-cryptography","summary":"Learn how to protect your app’s sensitive user data from the emerging threat of quantum computing, and safeguard user privacy. We’ll explore different quantum attacks, their impact on existing cryptographic protocols, and how to defend against them using quantum-secure cryptography. You’ll learn how to use quantum-secure TLS to secure network data, and use CryptoKit’s quantum-secure APIs for securing application data.","tags":[],"title":"Get ahead with quantum-secure cryptography","url":"\/documentation\/wwdc25-314-get-ahead-with-quantumsecure-cryptography\/"},{"category":"","section":"documentation","slug":"wwdc25-313-bring-swift-charts-to-the-third-dimension","summary":"Learn how to bring your 2D Swift Charts to the third dimension with Chart3D and visualize your data sets from completely new perspectives. Plot your data in 3D, visualize mathematical surfaces, and customize everything from the camera to the materials to make your 3D charts more intuitive and delightful.","tags":[],"title":"Bring Swift Charts to the third dimension","url":"\/documentation\/wwdc25-313-bring-swift-charts-to-the-third-dimension\/"},{"category":"","section":"documentation","slug":"wwdc25-312-improve-memory-usage-and-performance-with-swift","summary":"Discover ways to improve the performance and memory management of your Swift code. We’ll explore ways to refine your code – from making high-level algorithmic changes to adopting the new InlineArray and Span types for finer control over memory and allocations.","tags":[],"title":"Improve memory usage and performance with Swift","url":"\/documentation\/wwdc25-312-improve-memory-usage-and-performance-with-swift\/"},{"category":"","section":"documentation","slug":"wwdc25-311-safely-mix-c-c-and-swift","summary":"Learn how to mix C, C++, and Swift while improving the safety of your apps. We’ll show you how to find where unsafe C and C++ APIs are called in your Swift code, how to call them more safely, and how to make your app’s existing C and C++ code safer by default.","tags":[],"title":"Safely mix C, C++, and Swift","url":"\/documentation\/wwdc25-311-safely-mix-c-c-and-swift\/"},{"category":"","section":"documentation","slug":"wwdc25-310-build-an-appkit-app-with-the-new-design","summary":"Update your AppKit app to take full advantage of the new design system. We’ll dive into key changes to tab views, split views, bars, presentations, search, and controls, and show you how to use Liquid Glass in your custom UI. To get the most out of this video, we recommend first watching “Get to know the new design system” for general design guidance.","tags":[],"title":"Build an AppKit app with the new design","url":"\/documentation\/wwdc25-310-build-an-appkit-app-with-the-new-design\/"},{"category":"","section":"documentation","slug":"wwdc25-308-optimize-cpu-performance-with-instruments","summary":"Learn how to optimize your app for Apple silicon with two new hardware-assisted tools in Instruments. We’ll start by covering how to profile your app, then dive deeper by showing every single function called with Processor Trace. We’ll also discuss how to use CPU Counters’ modes to analyze your code for CPU bottlenecks.","tags":[],"title":"Optimize CPU performance with Instruments","url":"\/documentation\/wwdc25-308-optimize-cpu-performance-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc25-307-explore-swift-and-java-interoperability","summary":"Learn how you can mix Swift and Java in a single codebase. We’ll introduce the swift-java interoperability project, which allows you to use Swift in Java programs or vice versa. We’ll show you how to use the tools and libraries offered by swift-java to write safe and performant code that interoperates between these two runtimes.","tags":[],"title":"Explore Swift and Java interoperability","url":"\/documentation\/wwdc25-307-explore-swift-and-java-interoperability\/"},{"category":"","section":"documentation","slug":"wwdc25-306-optimize-swiftui-performance-with-instruments","summary":"Discover the new SwiftUI instrument. We’ll cover how SwiftUI updates views, how changes in your app’s data affect those updates, and how the new instrument helps you visualize those causes and effects.","tags":[],"title":"Optimize SwiftUI performance with Instruments","url":"\/documentation\/wwdc25-306-optimize-swiftui-performance-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc25-305-optimize-your-custom-environments-for-visionos","summary":"Discover how you can use procedural tools to create beautiful immersive environments for your visionOS app or game. We’ll share the building blocks for creating a high-quality environment, then dive deep into the optimization process. Learn how to use a series of Apple-provided workflows for Houdini to reduce your scene’s polygon count, clean up geometry, package UV maps, and create USD assets to import into Reality Composer Pro or your game engine of choice.","tags":[],"title":"Optimize your custom environments for visionOS","url":"\/documentation\/wwdc25-305-optimize-your-custom-environments-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc25-304-explore-video-experiences-for-visionos","summary":"Learn about the different ways you can create and present immersive video experiences within your app. We’ll explore the diverse media types available in visionOS 26, including profiles for 180°, 360°, and wide FOV video; options for creating and playing Apple Immersive Video; and expanded capabilities for 2D, 3D, and spatial video. Discover which profiles are best for your app and its content.","tags":[],"title":"Explore video experiences for visionOS","url":"\/documentation\/wwdc25-304-explore-video-experiences-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc25-303-design-hover-interactions-for-visionos","summary":"Discover how to create advanced interactions for your visionOS apps. We’ll explore how you can design compelling custom hover effects and animations, avoid common mistakes, take advantage of interactions like Look to Scroll, and build intuitive media controls with persistence effects.","tags":[],"title":"Design hover interactions for visionOS","url":"\/documentation\/wwdc25-303-design-hover-interactions-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc25-302-create-a-seamless-multiview-playback-experience","summary":"Learn how to build advanced multiview playback experiences in your app. We’ll cover how you can synchronize playback between multiple players, enhance multiview playback with seamless AirPlay integration, and optimize playback quality to deliver engaging multiview playback experiences.","tags":[],"title":"Create a seamless multiview playback experience","url":"\/documentation\/wwdc25-302-create-a-seamless-multiview-playback-experience\/"},{"category":"","section":"documentation","slug":"wwdc25-301-deep-dive-into-the-foundation-models-framework","summary":"Level up with the Foundation Models framework. Learn how guided generation works under the hood, and use guides, regexes, and generation schemas to get custom structured responses. We’ll show you how to use tool calling to let the model autonomously access external information and perform actions, for a personalized experience.","tags":[],"title":"Deep dive into the Foundation Models framework","url":"\/documentation\/wwdc25-301-deep-dive-into-the-foundation-models-framework\/"},{"category":"","section":"documentation","slug":"wwdc25-300-enhance-your-app-with-machinelearningbased-video-effects","summary":"Discover how to add effects like frame rate conversion, super resolution, and noise filtering to improve video editing and live streaming experiences. We’ll explore the ML-based video processing algorithms optimized for Apple Silicon available in the Video Toolbox framework. Learn how to integrate these effects to enhance the capabilities of your app for real-world use cases.","tags":[],"title":"Enhance your app with machine-learning-based video effects","url":"\/documentation\/wwdc25-300-enhance-your-app-with-machinelearningbased-video-effects\/"},{"category":"","section":"documentation","slug":"wwdc25-299-deliver-ageappropriate-experiences-in-your-app","summary":"Learn how to deliver age-appropriate experiences in your app with the new Declared Age Range API. We’ll cover how parents can allow their child to share an age range with an app to ensure a safe experience in a privacy-preserving way. We’ll also explore how this framework can help you tailor your app’s content and features based on a user’s age, and show you how to implement age gates, understand caching, and respect user privacy while creating safer and more engaging experiences.","tags":[],"title":"Deliver age-appropriate experiences in your app","url":"\/documentation\/wwdc25-299-deliver-ageappropriate-experiences-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc25-298-explore-large-language-models-on-apple-silicon-with-mlx","summary":"Discover MLX LM – designed specifically to make working with large language models simple and efficient on Apple silicon. We’ll cover how to fine-tune and run inference on state-of-the-art large language models on your Mac, and how to seamlessly integrate them into Swift-based applications and projects.","tags":[],"title":"Explore large language models on Apple silicon with MLX","url":"\/documentation\/wwdc25-298-explore-large-language-models-on-apple-silicon-with-mlx\/"},{"category":"","section":"documentation","slug":"wwdc25-297-learn-about-the-apple-projected-media-profile","summary":"Dive into the Apple Projected Media Profile (APMP) and see how APMP enables 180º\/360º and Wide FoV projections in QuickTime and MP4 files using Video Extended Usage signaling. We’ll provide guidance on using OS-provided frameworks and tools to convert, read\/write, edit, and encode media containing APMP. And we’ll review Apple Positional Audio Codec’s (APAC) capabilities for creating and delivering spatial audio content for the most immersive experiences.","tags":[],"title":"Learn about the Apple Projected Media Profile","url":"\/documentation\/wwdc25-297-learn-about-the-apple-projected-media-profile\/"},{"category":"","section":"documentation","slug":"wwdc25-296-support-immersive-video-playback-in-visionos-apps","summary":"Discover how to play immersive videos in visionOS apps. We’ll cover various immersive rendering modes, review the frameworks that support them, and walk through how to render immersive video in your app. To get the most out of this video, we recommend first watching “Explore video experiences for visionOS” from WWDC25.","tags":[],"title":"Support immersive video playback in visionOS apps","url":"\/documentation\/wwdc25-296-support-immersive-video-playback-in-visionos-apps\/"},{"category":"","section":"documentation","slug":"wwdc25-294-whats-new-in-metal-rendering-for-immersive-apps","summary":"Discover the latest improvements in Metal rendering for immersive apps with Compositor Services. Learn how to add hover effects to highlight your app’s interactive elements, and how to render in higher fidelity with dynamic render quality. Find out about the new progressive immersion style. And explore how you can bring immersive experiences to macOS apps by directly rendering Metal content from Mac to Vision Pro.","tags":[],"title":"What’s new in Metal rendering for immersive apps","url":"\/documentation\/wwdc25-294-whats-new-in-metal-rendering-for-immersive-apps\/"},{"category":"","section":"documentation","slug":"wwdc25-293-enhance-child-safety-with-permissionkit","summary":"Discover how PermissionKit helps you enhance communication safety for children in your app. We’ll show you how to use this new framework to create age-appropriate communication experiences and leverage Family Sharing for parental approvals. You’ll learn how to build permission requests that seamlessly integrate with Messages, handle parental responses, and adapt your UI for child users. To get the most out of this session, we recommend first watching “Deliver age-appropriate experiences in your app” from WWDC25.","tags":[],"title":"Enhance child safety with PermissionKit","url":"\/documentation\/wwdc25-293-enhance-child-safety-with-permissionkit\/"},{"category":"","section":"documentation","slug":"wwdc25-291-swiftdata-dive-into-inheritance-and-schema-migration","summary":"Discover how to use class inheritance to model your data. Learn how to optimize queries and seamlessly migrate your app’s data to use inheritance. Explore subclassing for building model graphs, crafting efficient fetches and queries, and implementing robust schema migrations. Understand how to use Observable and persistent history for efficient change tracking.","tags":[],"title":"SwiftData: Dive into inheritance and schema migration","url":"\/documentation\/wwdc25-291-swiftdata-dive-into-inheritance-and-schema-migration\/"},{"category":"","section":"documentation","slug":"wwdc25-290-set-the-scene-with-swiftui-in-visionos","summary":"Discover exciting new APIs to enhance windows, volumes, and immersive spaces in your visionOS app. Fine tune the behavior of your scenes when relaunched or locked in place. Make volumes adapt to their surroundings with clipping margins and snapping. Stream immersive content from Mac to Vision Pro. Elevate your existing UIKit-based apps with volumes and immersive spaces.","tags":[],"title":"Set the scene with SwiftUI in visionOS","url":"\/documentation\/wwdc25-290-set-the-scene-with-swiftui-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc25-289-explore-spatial-accessory-input-on-visionos","summary":"Learn how you can integrate spatial accessories into your app. Display virtual content, interact with your app, track them in space, and get information on interactions for enhanced virtual experiences on visionOS.","tags":[],"title":"Explore spatial accessory input on visionOS","url":"\/documentation\/wwdc25-289-explore-spatial-accessory-input-on-visionos\/"},{"category":"","section":"documentation","slug":"wwdc25-288-bring-your-scenekit-project-to-realitykit","summary":"Understand SceneKit deprecation and explore how to transition your 3D projects to RealityKit, Apple’s recommended high-level 3D engine. We’ll clarify what SceneKit deprecation means for your projects, compare key concepts between the two engines, and show you how to port a sample SceneKit game to RealityKit. We’ll also explore the potential of RealityKit across all supported platforms to help you create amazing 3D experiences with your apps and games.","tags":[],"title":"Bring your SceneKit project to RealityKit","url":"\/documentation\/wwdc25-288-bring-your-scenekit-project-to-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc25-287-whats-new-in-realitykit","summary":"Unleash your creativity with new RealityKit features that can help you build rich 3D content for iOS, iPadOS, macOS, tvOS and visionOS. Learn how you can access ARKit data directly through RealityKit. Explore how you can interact with your 3D content more naturally using the object manipulation feature. Discover some new APIs for scene understanding, environment blending, instancing and much more, all using an interactive sample.","tags":[],"title":"What’s new in RealityKit","url":"\/documentation\/wwdc25-287-whats-new-in-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc25-286-meet-the-foundation-models-framework","summary":"Learn how to tap into the on-device large language model behind Apple Intelligence! This high-level overview covers everything from guided generation for generating Swift data structures and streaming for responsive experiences, to tool calling for integrating data sources and sessions for context management. This session has no prerequisites.","tags":[],"title":"Meet the Foundation Models framework","url":"\/documentation\/wwdc25-286-meet-the-foundation-models-framework\/"},{"category":"","section":"documentation","slug":"wwdc25-285-meet-paperkit","summary":"Discover how to bring PaperKit to your iOS, iPadOS, macOS, and visionOS apps. We’ll cover how to seamlessly integrate PencilKit drawing with markup features like shapes and images, and how to customize the user interface. Learn best practices for forward compatibility, and discover advanced customization options to create truly unique markup experiences in your apps.","tags":[],"title":"Meet PaperKit","url":"\/documentation\/wwdc25-285-meet-paperkit\/"},{"category":"","section":"documentation","slug":"wwdc25-284-build-a-uikit-app-with-the-new-design","summary":"Update your UIKit app to take full advantage of the new design system. We’ll dive into key changes to tab views, split views, bars, presentations, search, and controls, and show you how to use Liquid Glass in your custom UI. To get the most out of this video, we recommend first watching “Get to know the new design system” for general design guidance.","tags":[],"title":"Build a UIKit app with the new design","url":"\/documentation\/wwdc25-284-build-a-uikit-app-with-the-new-design\/"},{"category":"","section":"documentation","slug":"wwdc25-282-make-your-uikit-app-more-flexible","summary":"Find out how your UIKit app can become more flexible on iPhone, iPad, Mac, and Apple Vision Pro by using scenes and container view controllers. Learn to unlock your app’s full potential by transitioning from an app-centric to a scene-based lifecycle, including enhanced window resizing and improved multitasking. Explore enhancements to UISplitViewController, such as interactive column resizing and first-class support for inspector columns. And make your views and controls more adaptive by adopting new layout APIs.","tags":[],"title":"Make your UIKit app more flexible","url":"\/documentation\/wwdc25-282-make-your-uikit-app-more-flexible\/"},{"category":"","section":"documentation","slug":"wwdc25-281-design-interactive-snippets","summary":"Snippets are compact views invoked from App Intents that display information from your app. Now, snippets can allow your app to bring even more capability to Siri, Spotlight, and the Shortcuts app by including buttons and stateful information that offer additional interactivity as part of an intent. In this session, you’ll learn best practices for designing snippets, including guidance on layout, typography, interaction, and intent types.","tags":[],"title":"Design interactive snippets","url":"\/documentation\/wwdc25-281-design-interactive-snippets\/"},{"category":"","section":"documentation","slug":"wwdc25-280-codealong-cook-up-a-rich-text-experience-in-swiftui-with-attributedstring","summary":"Learn how to build a rich text experience with SwiftUI’s TextEditor API and AttributedString. Discover how you can enable rich text editing, build custom controls that manipulate the contents of your editor, and customize the formatting options available. Explore advanced capabilities of AttributedString that help you craft the best text editing experiences.","tags":[],"title":"Code-along: Cook up a rich text experience in SwiftUI with AttributedString","url":"\/documentation\/wwdc25-280-codealong-cook-up-a-rich-text-experience-in-swiftui-with-attributedstring\/"},{"category":"","section":"documentation","slug":"wwdc25-279-whats-new-in-passkeys","summary":"Discover how iOS, iPadOS, macOS, and visionOS 26 enhance passkeys. We’ll explore key updates including: the new account creation API for streamlined sign-up, keeping passkeys up-to-date, new ways to drive passkey upgrades through automatic passkey upgrades and passkey management endpoints, and the secure import\/export of passkeys. Learn how these improvements enhance user experience and security, and how to implement these updates in your apps to provide a smoother, more secure authentication experience. To get the most out of this video, first watch “Meet passkeys” from WWDC22.","tags":[],"title":"What’s new in passkeys","url":"\/documentation\/wwdc25-279-whats-new-in-passkeys\/"},{"category":"","section":"documentation","slug":"wwdc25-278-whats-new-in-widgets","summary":"WidgetKit elevates your app with updates to widgets, Live Activities, and controls. Learn how to bring your widgets to visionOS, take them on the road with CarPlay, and make them look their best with accented rendering modes. Plus, find out how relevant widgets can be surfaced in the Smart Stack on watchOS, and discover how push notifications can be used to keep your widgets up to date.","tags":[],"title":"What’s new in widgets","url":"\/documentation\/wwdc25-278-whats-new-in-widgets\/"},{"category":"","section":"documentation","slug":"wwdc25-277-bring-advanced-speechtotext-to-your-app-with-speechanalyzer","summary":"Discover the new SpeechAnalyzer API for speech to text. We’ll learn about the Swift API and its capabilities, which power features in Notes, Voice Memos, Journal, and more. We’ll dive into details about how speech to text works and how SpeechAnalyzer and SpeechTranscriber can enable you to create exciting, performant features. And you’ll learn how to incorporate SpeechAnalyzer and live transcription into your app with a code-along.","tags":[],"title":"Bring advanced speech-to-text to your app with SpeechAnalyzer","url":"\/documentation\/wwdc25-277-bring-advanced-speechtotext-to-your-app-with-speechanalyzer\/"},{"category":"","section":"documentation","slug":"wwdc25-276-whats-new-in-bnns-graph","summary":"The BNNS Graph Builder API now enables developers to write graphs of operations using the familiar Swift language to generate pre- and post-processing routines and small machine-learning models. BNNS compiles graphs ahead of execution and supports real-time and latency-sensitive use cases such as audio processing. In this session, we revisit last year’s bit-crusher example and simplify the Swift component by removing the reliance on a separate Python file and instead implement the audio effect entirely in Swift. The BNNS Graph Builder API is also suited to pre-processing image data before passing that data to a machine learning model. The session also includes a demonstration of clipping the transparent pixels from an image with an alpha channel.","tags":[],"title":"What’s new in BNNS Graph","url":"\/documentation\/wwdc25-276-whats-new-in-bnns-graph\/"},{"category":"","section":"documentation","slug":"wwdc25-275-explore-new-advances-in-app-intents","summary":"Explore all the new enhancements available in the App Intents framework in this year’s releases. Learn about developer quality-of-life improvements like deferred properties, new capabilities like interactive app intents snippets, entity view annotations, how to integrate Visual Intelligence, and much more. We’ll take you through how App Intents is more expressive than ever, while becoming even easier and smoother to adopt. We’ll also share exciting new clients of App Intents this year like Spotlight and Visual Intelligence, and learn to write app intents that work great in those contexts.","tags":[],"title":"Explore new advances in App Intents","url":"\/documentation\/wwdc25-275-explore-new-advances-in-app-intents\/"},{"category":"","section":"documentation","slug":"wwdc25-274-better-together-swiftui-and-realitykit","summary":"Discover how to seamlessly blend SwiftUI and RealityKit in visionOS 26. We’ll explore enhancements to Model3D, including animation and ConfigurationCatalog support, and demonstrate smooth transitions to RealityView. You’ll learn how to leverage SwiftUI animations to drive RealityKit component changes, implement interactive manipulation, use new SwiftUI components for richer interactions, and observe RealityKit changes from your SwiftUI code. We’ll also cover how to use unified coordinate conversion for cross-framework coordinate transformations.","tags":[],"title":"Better together: SwiftUI and RealityKit","url":"\/documentation\/wwdc25-274-better-together-swiftui-and-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc25-273-meet-swiftui-spatial-layout","summary":"Explore new tools for building spatial experiences using SwiftUI. Learn the basics of 3D SwiftUI views on visionOS, customize existing layouts with depth alignments, and use modifiers to rotate and position views in space. Discover how to use spatial containers to align views in the same 3D space, helping you create immersive and engaging apps.","tags":[],"title":"Meet SwiftUI spatial layout","url":"\/documentation\/wwdc25-273-meet-swiftui-spatial-layout\/"},{"category":"","section":"documentation","slug":"wwdc25-272-read-documents-using-the-vision-framework","summary":"Learn about the latest advancements in the Vision framework. We’ll introduce RecognizeDocumentsRequest, and how you can use it to read lines of text and group them into paragraphs, read tables, etc. And we’ll also dive into camera lens smudge detection, and how to identify potentially smudged images in photo libraries or your own camera capture pipeline.","tags":[],"title":"Read documents using the Vision framework","url":"\/documentation\/wwdc25-272-read-documents-using-the-vision-framework\/"},{"category":"","section":"documentation","slug":"wwdc25-270-codealong-elevate-an-app-with-swift-concurrency","summary":"Learn how to optimize your app’s user experience with Swift concurrency as we update an existing sample app. We’ll start with a main-actor app, then gradually introduce asynchronous code as we need to. We’ll use tasks to optimize code running on the main actor, and discover how to parallelize code by offloading work to the background. We’ll explore what data-race safety provides, and work through interpreting and fixing data-race safety errors. Finally, we’ll show how you can make the most out of structured concurrency in the context of an app.","tags":[],"title":"Code-along: Elevate an app with Swift concurrency","url":"\/documentation\/wwdc25-270-codealong-elevate-an-app-with-swift-concurrency\/"},{"category":"","section":"documentation","slug":"wwdc25-268-embracing-swift-concurrency","summary":"Join us to learn the core Swift concurrency concepts. Concurrency helps you improve app responsiveness and performance, and Swift is designed to make asynchronous and concurrent code easier to write correctly. We’ll cover the steps you need to take an app through from single-threaded to concurrent. We’ll also help you determine how and when to make the best use of Swift concurrency features – whether it’s making your code more asynchronous, moving it to the background, or sharing data across concurrent tasks.","tags":[],"title":"Embracing Swift concurrency","url":"\/documentation\/wwdc25-268-embracing-swift-concurrency\/"},{"category":"","section":"documentation","slug":"wwdc25-266-explore-concurrency-in-swiftui","summary":"Discover how SwiftUI leverages Swift concurrency to build safe and responsive apps. Explore how SwiftUI uses the main actor by default and offloads work to other actors. Learn how to interpret concurrency annotations and manage async tasks with SwiftUI’s event loop for smooth animations and UI updates. You’ll leave knowing how to avoid data races and write code fearlessly.","tags":[],"title":"Explore concurrency in SwiftUI","url":"\/documentation\/wwdc25-266-explore-concurrency-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc25-265-dive-deeper-into-writing-tools","summary":"With Writing Tools, people can proofread, rewrite, and transform text directly within your app. Learn advanced techniques to customize Writing Tools for your app. Explore formatting options and how they work with rich text editing. If you have a custom text engine, learn how to seamlessly integrate the complete Writing Tools experience, allowing edits directly within the text view.","tags":[],"title":"Dive deeper into Writing Tools","url":"\/documentation\/wwdc25-265-dive-deeper-into-writing-tools\/"},{"category":"","section":"documentation","slug":"wwdc25-262-combine-metal-4-machine-learning-and-graphics","summary":"Learn how to seamlessly combine machine learning into your graphics applications using Metal 4. We’ll introduce the tensor resource and ML encoder for running models on the GPU timeline alongside your rendering and compute work. Discover how shader ML lets you embed neural networks directly within your shaders for advanced effects and performance gains. We’ll also show new debugging tools for Metal 4 ML workloads in action using an example app.","tags":[],"title":"Combine Metal 4 machine learning and graphics","url":"\/documentation\/wwdc25-262-combine-metal-4-machine-learning-and-graphics\/"},{"category":"","section":"documentation","slug":"wwdc25-260-develop-for-shortcuts-and-spotlight-with-app-intents","summary":"Learn about how building App Intents that make actions available and work best with the new features in Shortcuts and Spotlight on Mac. We’ll show you how your actions combine in powerful ways with the new Apple Intelligence actions available in the Shortcuts app. We’ll deep-dive into how the new “Use Model” action works, and how it interacts with your app’s entities. And we’ll discuss how to use the App Intents APIs to make your actions available in Spotlight.","tags":[],"title":"Develop for Shortcuts and Spotlight with App Intents","url":"\/documentation\/wwdc25-260-develop-for-shortcuts-and-spotlight-with-app-intents\/"},{"category":"","section":"documentation","slug":"wwdc25-259-codealong-bring-ondevice-ai-to-your-app-using-the-foundation-models-framework","summary":"Develop generative AI features for your SwiftUI apps using the Foundation Models framework. Get started by applying the basics of the framework to create an awesome feature. Watch step-by-step examples of how to complement the models with tools you build, stream results, and apply further optimizations for great performance.","tags":[],"title":"Code-along: Bring on-device AI to your app using the Foundation Models framework","url":"\/documentation\/wwdc25-259-codealong-bring-ondevice-ai-to-your-app-using-the-foundation-models-framework\/"},{"category":"","section":"documentation","slug":"wwdc25-258-whats-new-in-apple-device-management-and-identity","summary":"Designed for IT administrators, MDM developers, and identity providers, this session covers the latest updates to Declarative Device Management, Apple Business Manager, Apple School Manager, Platform Single Sign-On, and more. Learn how these advancements streamline deployment, strengthen security, and improve the user experience.","tags":[],"title":"What’s new in Apple device management and identity","url":"\/documentation\/wwdc25-258-whats-new-in-apple-device-management-and-identity\/"},{"category":"","section":"documentation","slug":"wwdc25-257-optimize-home-electricity-usage-with-energykit","summary":"Learn how to support EnergyKit in your app so people can optimize electricity usage at home. This can help people run appliances or charge EVs during times when electricity is cleaner and cheaper. Get details about onboarding, generating a charging schedule, and providing energy usage insights back to people through electricity usage feedback.","tags":[],"title":"Optimize home electricity usage with EnergyKit","url":"\/documentation\/wwdc25-257-optimize-home-electricity-usage-with-energykit\/"},{"category":"","section":"documentation","slug":"wwdc25-256-whats-new-in-swiftui","summary":"Learn what’s new in SwiftUI to build great apps for any Apple platform. We’ll explore how to give your app a brand new look and feel with Liquid Glass. Discover how to boost performance with framework enhancements and new instruments, and integrate advanced capabilities like web content and rich text editing. We’ll also show you how SwiftUI is expanding to more places, including laying out views in three dimensions.","tags":[],"title":"What’s new in SwiftUI","url":"\/documentation\/wwdc25-256-whats-new-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc25-255-design-widgets-for-visionos","summary":"Learn how you can design beautiful widgets for visionOS 26 that blend effortlessly into someone’s surroundings. Discover how you can add depth to your widget design and customize materials, sizes, and styles for spatial computing. We’ll share how to adapt your existing widgets for visionOS, or design new widgets that feel like real objects.","tags":[],"title":"Design widgets for visionOS","url":"\/documentation\/wwdc25-255-design-widgets-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc25-254-explore-metal-4-games","summary":"Learn to optimize your game engine with the latest advancements in Metal 4. We’ll cover how to unify your command encoding to minimize CPU overhead, scale up your graphics resource management to support massive scenes and maximize your memory budget, and load large libraries of pipeline states quickly.","tags":[],"title":"Explore Metal 4 games","url":"\/documentation\/wwdc25-254-explore-metal-4-games\/"},{"category":"","section":"documentation","slug":"wwdc25-253-enhancing-your-camera-experience-with-capture-controls","summary":"Learn how to customize capture controls in your camera experiences. We’ll show you how to take photos with all physical capture controls, including new AirPods support, and how to adjust settings with Camera Control.","tags":[],"title":"Enhancing your camera experience with capture controls","url":"\/documentation\/wwdc25-253-enhancing-your-camera-experience-with-capture-controls\/"},{"category":"","section":"documentation","slug":"wwdc25-252-optimize-your-monetization-with-app-analytics","summary":"Explore the new monetization, subscription, and offer analytics coming to App Analytics. We’ll cover how powerful, new data visualizations and automated reports can help you make data-driven decisions that drive revenue growth, and discuss how to pair these metrics with acquisition features such as custom product pages to optimize and improve your monetization strategy.","tags":[],"title":"Optimize your monetization with App Analytics","url":"\/documentation\/wwdc25-252-optimize-your-monetization-with-app-analytics\/"},{"category":"","section":"documentation","slug":"wwdc25-251-enhance-your-apps-audio-recording-capabilities","summary":"Learn how to improve your app’s audio recording functionality. Explore the flexibility of audio device selection using the input picker interaction on iOS and iPadOS 26. Discover APIs available for high-quality voice recording using AirPods. We’ll also introduce spatial audio recording and editing capabilities that allow you to isolate speech and ambient background sounds — all using the the AudioToolbox, AVFoundation, and Cinematic frameworks.","tags":[],"title":"Enhance your app’s audio recording capabilities","url":"\/documentation\/wwdc25-251-enhance-your-apps-audio-recording-capabilities\/"},{"category":"","section":"documentation","slug":"wwdc25-250-use-structured-concurrency-with-network-framework","summary":"Network framework is the best way to make low-level network connections on Apple platforms — and in iOS, iPadOS, and macOS 26, it’s a perfect fit for your structured concurrency code. We’ll explore how you can make connections, send and receive data and framed messages, listen for incoming connections, and browse the network for services. We’ll also cover key best practices along the way.","tags":[],"title":"Use structured concurrency with Network framework","url":"\/documentation\/wwdc25-250-use-structured-concurrency-with-network-framework\/"},{"category":"","section":"documentation","slug":"wwdc25-249-dive-into-app-store-server-apis-for-inapp-purchase","summary":"Discover the latest updates for the App Store Server API, App Store Server Notifications, and App Store Server Library to help manage customer purchase data directly on your server and deliver great In-App Purchase experiences. We’ll cover updates to appAccountToken and signature signing, new fields in signed transaction and renewal info, and new APIs. Then, we’ll show how to generate a promotional offer signature on your server, and how to use the Send Consumption Information endpoint.","tags":[],"title":"Dive into App Store server APIs for In-App Purchase","url":"\/documentation\/wwdc25-249-dive-into-app-store-server-apis-for-inapp-purchase\/"},{"category":"","section":"documentation","slug":"wwdc25-248-explore-prompt-design-and-safety-for-ondevice-foundation-models","summary":"Design generative AI experiences that leverage the strengths of the Foundation Models framework. We’ll start by showing how to design prompts for the on-device large language model at the core of Apple Intelligence. Then, we’ll introduce key ideas around AI safety, and offer concrete strategies to make your generative AI features safe, reliable, and delightful.","tags":[],"title":"Explore prompt design & safety for on-device foundation models","url":"\/documentation\/wwdc25-248-explore-prompt-design-and-safety-for-ondevice-foundation-models\/"},{"category":"","section":"documentation","slug":"wwdc25-247-whats-new-in-xcode","summary":"Discover the latest productivity and performance advancements in Xcode 26. Learn how to leverage large language models in your development workflow. Explore editing and debugging enhancements, improved performance and testing tools, and Swift Build - the open-source build system engine used by Xcode.","tags":[],"title":"What’s new in Xcode","url":"\/documentation\/wwdc25-247-whats-new-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc25-246-integrate-privacy-into-your-development-process","summary":"Learn how to build privacy into your apps from the planning stages through deployment. We’ll cover practical ways to integrate privacy at each step of the development lifecycle, focusing on data minimization, on-device processing, and transparency and control. You’ll discover how to use Apple’s tools and frameworks to protect user data and create a privacy-respecting app experience.","tags":[],"title":"Integrate privacy into your development process","url":"\/documentation\/wwdc25-246-integrate-privacy-into-your-development-process\/"},{"category":"","section":"documentation","slug":"wwdc25-245-whats-new-in-swift","summary":"Join us for an update on Swift. We’ll talk about workflow improvements that make you more productive, and new and modernized library APIs for fundamental programming tasks. We’ll show examples of Swift adoption throughout more layers of the software stack. Finally, we’ll explore new language features for both improving approachability of concurrency, and achieving peak performance when you need it.","tags":[],"title":"What’s new in Swift","url":"\/documentation\/wwdc25-245-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc25-244-get-to-know-app-intents","summary":"Learn about the App Intents framework and its increasingly critical role within Apple’s developer platforms. We’ll take you through a ground-up introduction of the core concepts: intents, entities, queries, and much more. You’ll learn how these pieces fit together and let you integrate your app through Apple’s devices, from software features like Spotlight and Shortcuts to hardware features like the Action button. We’ll also walk through how App Intents is your app’s gateway to integrating with Apple Intelligence going forward.","tags":[],"title":"Get to know App Intents","url":"\/documentation\/wwdc25-244-get-to-know-app-intents\/"},{"category":"","section":"documentation","slug":"wwdc25-243-whats-new-in-uikit","summary":"Modernize your app with the latest APIs in UIKit, including enhanced menu bar support, automatic observation tracking, a new UI update method, and improvements to animations. We’ll also cover how you can include SwiftUI scenes in your UIKit app and explore SF Symbols, HDR color pickers, and more.","tags":[],"title":"What’s new in UIKit","url":"\/documentation\/wwdc25-243-whats-new-in-uikit\/"},{"category":"","section":"documentation","slug":"wwdc25-241-whats-new-in-storekit-and-inapp-purchase","summary":"Learn about the latest StoreKit API enhancements to help you deliver great In-App Purchase experiences to your customers. We’ll review new fields added to AppTransaction, Transaction, and RenewalInfo, and updates to In-App Purchase offer codes. We’ll also cover creating signed In-App Purchase requests using the App Store Server Library and updates to merchandising subscriptions using SwiftUI.","tags":[],"title":"What’s new in StoreKit and In-App Purchase","url":"\/documentation\/wwdc25-241-whats-new-in-storekit-and-inapp-purchase\/"},{"category":"","section":"documentation","slug":"wwdc25-238-customize-your-app-for-assistive-access","summary":"Assistive Access is a distinctive, focused iOS experience that makes it easier for people with cognitive disabilities to use iPhone and iPad independently. In iOS and iPadOS 26, you can customize your app when it’s running in Assistive Access to give people greater ease and independence. Learn how to tailor your app using the AssistiveAccess SwiftUI scene type, and explore the key design principles that can help you create a high-quality Assistive Access experience for everyone.","tags":[],"title":"Customize your app for Assistive Access","url":"\/documentation\/wwdc25-238-customize-your-app-for-assistive-access\/"},{"category":"","section":"documentation","slug":"wwdc25-237-whats-new-for-the-spatial-web","summary":"Discover the latest spatial features for the web on visionOS 26. We’ll cover how to display inline 3D models with the brand new HTML model element. And we’ll share powerful features, including model lighting, interactions, and animations. Learn how to embed newly supported immersive media on your web site, such as 360-degree video and Apple Immersive Video. And get a sneak peek at adding a custom environment to your web pages.","tags":[],"title":"What’s new for the spatial web","url":"\/documentation\/wwdc25-237-whats-new-for-the-spatial-web\/"},{"category":"","section":"documentation","slug":"wwdc25-236-unlock-gpu-computing-with-webgpu","summary":"Learn how the WebGPU API provides safe access to GPU devices for graphics and general-purpose computation. We’ll also explore the WGSL shading language to write GPU programs. And we’ll dive into best practices to achieve optimal performance while using minimal power across desktop and mobile devices.","tags":[],"title":"Unlock GPU computing with WebGPU","url":"\/documentation\/wwdc25-236-unlock-gpu-computing-with-webgpu\/"},{"category":"","section":"documentation","slug":"wwdc25-235-learn-more-about-declarative-web-push","summary":"Learn how Declarative Web Push can help you deliver notifications more reliably. Find out how to build on existing standards to be more efficient and transparent by design while retaining backwards compatibility with original Web Push.","tags":[],"title":"Learn more about Declarative Web Push","url":"\/documentation\/wwdc25-235-learn-more-about-declarative-web-push\/"},{"category":"","section":"documentation","slug":"wwdc25-234-filter-and-tunnel-network-traffic-with-networkextension","summary":"Learn about the APIs in the NetworkExtension framework that give your app the power and flexibility to extend the system’s core networking features — like implementing network content filters, creating and managing VPN configurations, and more. In iOS, iPadOS and macOS 26, you can now build robust content filters that make traffic decisions using the entire URL — not just the hostname — all without compromising privacy and security. We’ll start by briefly covering many of the key use cases for the NetworkExtension framework, including network relays and VPN. Then, we’ll dive into the new URL filter API and its key components, including Private Information Retrieval, Privacy Pass, and more.","tags":[],"title":"Filter and tunnel network traffic with NetworkExtension","url":"\/documentation\/wwdc25-234-filter-and-tunnel-network-traffic-with-networkextension\/"},{"category":"","section":"documentation","slug":"wwdc25-233-whats-new-in-safari-and-webkit","summary":"Learn how the latest web technologies in Safari and WebKit can help you create incredible experiences. We’ll highlight different CSS features and how they work, including scroll driven animation, cross document view transitions, and anchor positioning. We’ll also explore new media support across audio, video, images, and icons.","tags":[],"title":"What’s new in Safari and WebKit","url":"\/documentation\/wwdc25-233-whats-new-in-safari-and-webkit\/"},{"category":"","section":"documentation","slug":"wwdc25-232-verify-identity-documents-on-the-web","summary":"Learn how Digital Credentials can enhance online identity verification flows. We’ll cover how websites can integrate the Digital Credentials API to enable requesting information from IDs in Wallet. We’ll also explore how apps can provide their own identity documents for online verification using the new IdentityDocumentServices framework.","tags":[],"title":"Verify identity documents on the web","url":"\/documentation\/wwdc25-232-verify-identity-documents-on-the-web\/"},{"category":"","section":"documentation","slug":"wwdc25-231-meet-webkit-for-swiftui","summary":"Discover how you can use WebKit to effortlessly integrate web content into your SwiftUI apps. Learn how to load and display web content, communicate with webpages, and more.","tags":[],"title":"Meet WebKit for SwiftUI","url":"\/documentation\/wwdc25-231-meet-webkit-for-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc25-230-wake-up-to-the-alarmkit-api","summary":"Rrrr-rrrrr-innng! From countdown timers in your recipe app to wake-up alarms in your travel planning app, the AlarmKit framework in iOS and iPadOS 26 brings timers and alarms to the Lock Screen, Dynamic Island, and more. Learn how to create and manage your app’s alarms, customize their Live Activities, and offer custom alert actions using the App Intents framework. To get the most from this video, we recommend first watching “Meet ActivityKit” from WWDC23.","tags":[],"title":"Wake up to the AlarmKit API","url":"\/documentation\/wwdc25-230-wake-up-to-the-alarmkit-api\/"},{"category":"","section":"documentation","slug":"wwdc25-229-make-your-mac-app-more-accessible-to-everyone","summary":"Learn how to integrate accessibility features that take full advantage of the power and flexibility of macOS. Go beyond the basics to learn how to support VoiceOver and Voice Control, improve the layout of your views, explore how assistive technologies navigate your content, and more.","tags":[],"title":"Make your Mac app more accessible to everyone","url":"\/documentation\/wwdc25-229-make-your-mac-app-more-accessible-to-everyone\/"},{"category":"","section":"documentation","slug":"wwdc25-228-supercharge-device-connectivity-with-wifi-aware","summary":"Learn how to create peer-to-peer network connections with Wi-Fi Aware. We’ll also cover how to share videos in real time, transfer large files, and control accessories with improved bandwidth and lower latency. And you’ll learn how to use DeviceDiscoveryUI, AccessorySetupKit, and the Network framework to use Wi-Fi Aware in your app.","tags":[],"title":"Supercharge device connectivity with Wi-Fi Aware","url":"\/documentation\/wwdc25-228-supercharge-device-connectivity-with-wifi-aware\/"},{"category":"","section":"documentation","slug":"wwdc25-227-finish-tasks-in-the-background","summary":"Discover background execution advancements and understand how the system schedules runtime. We’ll discuss how to get the most out of background runtime to allow your app to deliver features in the background while maintaining a great foreground experience. We’ll also cover how APIs provide background runtime for your app, and how each API is tailored for different use cases — including new APIs in iOS and iPadOS 26 that let your app finish tasks as your app transitions from the foreground to the background.","tags":[],"title":"Finish tasks in the background","url":"\/documentation\/wwdc25-227-finish-tasks-in-the-background\/"},{"category":"","section":"documentation","slug":"wwdc25-226-profile-and-optimize-power-usage-in-your-app","summary":"Learn how to optimize your app for maximum battery life. Discover how to identify the root cause of power issues in your app — whether you can reproduce the issue while connected to Xcode or on the go. Find out how to measure power use so you can make better decisions about new features and proactively build more efficient apps.","tags":[],"title":"Profile and optimize power usage in your app","url":"\/documentation\/wwdc25-226-profile-and-optimize-power-usage-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc25-225-codealong-explore-localization-with-xcode","summary":"Learn how to localize your app into additional languages using Xcode. We’ll walk step-by-step through the process of creating a String Catalog, translating text, and exchanging files with external translators. You’ll learn best practices for providing necessary context to translators and how Xcode can help to provide this information automatically. For larger projects, we’ll also dive into techniques to manage complexity and streamline string management using type-safe Swift code.","tags":[],"title":"Code-along: Explore localization with Xcode","url":"\/documentation\/wwdc25-225-codealong-explore-localization-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc25-224-evaluate-your-app-for-accessibility-nutrition-labels","summary":"Use Accessibility Nutrition Labels on your App Store product page to highlight the accessibility features supported by your app. You’ll learn how to evaluate your app’s accessibility features — such as VoiceOver, Larger Text, Captions, and more — and choose accurate and informative Accessibility Nutrition Labels. You’ll also find out how to approach accessibility throughout the design phase.","tags":[],"title":"Evaluate your app for Accessibility Nutrition Labels","url":"\/documentation\/wwdc25-224-evaluate-your-app-for-accessibility-nutrition-labels\/"},{"category":"","section":"documentation","slug":"wwdc25-223-explore-enhancements-to-your-spatial-business-app","summary":"Discover how the latest enhancements and APIs in visionOS 26 expand access and extend enterprise capabilities announced last year. Learn how these all-new features make it easy to build model training workflows, enhance video feeds, and enable you to align coordinate systems over a local network to develop collaborative experiences in your in-house app.","tags":[],"title":"Explore enhancements to your spatial business app","url":"\/documentation\/wwdc25-223-explore-enhancements-to-your-spatial-business-app\/"},{"category":"","section":"documentation","slug":"wwdc25-222-enhance-your-apps-multilingual-experience","summary":"Create a seamless experience for anyone who uses multiple languages. Learn how Language Discovery allows you to optimize your app using a person’s preferred languages. Explore advances in support for right-to-left languages, including Natural Selection for selecting multiple ranges in bidirectional text. We’ll also cover best practices for supporting multilingual scenarios in your app.","tags":[],"title":"Enhance your app’s multilingual experience","url":"\/documentation\/wwdc25-222-enhance-your-apps-multilingual-experience\/"},{"category":"","section":"documentation","slug":"wwdc25-221-whats-new-in-adattributionkit","summary":"Learn about new features in AdAttributionKit, including how to measure overlapping re-engagement conversions and customize ad attribution rules for your app. Gain insight on a new postback property you can use to measure the success of ad campaigns across countries and regions. We’ll also demonstrate new functionality and best practices for testing your AdAttributionKit implementation. To get the most out of this session, we recommend first watching “Meet AdAttributionKit.”","tags":[],"title":"What’s new in AdAttributionKit","url":"\/documentation\/wwdc25-221-whats-new-in-adattributionkit\/"},{"category":"","section":"documentation","slug":"wwdc25-220-say-hello-to-the-new-look-of-app-icons","summary":"Get an overview of the new app icon appearances for iOS, iPadOS, and macOS, including light and dark tints, and clear options. Learn how to use frostiness and translucency to make your app icon more vibrant, dynamic, and expressive, and find out how to ensure your icon works well with specular highlights.","tags":[],"title":"Say hello to the new look of app icons","url":"\/documentation\/wwdc25-220-say-hello-to-the-new-look-of-app-icons\/"},{"category":"","section":"documentation","slug":"wwdc25-219-meet-liquid-glass","summary":"Liquid Glass unifies Apple platform design language while providing a more dynamic and expressive user experience. Get to know the design principles of Liquid Glass, explore its core optical and physical properties, and learn where to use it and why.","tags":[],"title":"Meet Liquid Glass","url":"\/documentation\/wwdc25-219-meet-liquid-glass\/"},{"category":"","section":"documentation","slug":"wwdc25-216-turbocharge-your-app-for-carplay","summary":"Learn how to bring your Live Activities and widgets to CarPlay and CarPlay Ultra so people can view progress of their activities and see relevant information at a glance. Explore new template options available to all CarPlay apps, and learn how navigation apps can provide turn-by-turn metadata for display in the car’s instrument cluster or HUD.","tags":[],"title":"Turbocharge your app for CarPlay","url":"\/documentation\/wwdc25-216-turbocharge-your-app-for-carplay\/"},{"category":"","section":"documentation","slug":"wwdc25-215-engage-players-with-the-apple-games-app","summary":"Meet the Games app – a new destination for players to keep up with what’s happening in their games, discover new ones, and play with friends, all in one place. Learn how to set up your game for optimal visibility in the Games app, integrate Game Center to enable social play, and keep players coming back with In-App Events.","tags":[],"title":"Engage players with the Apple Games app","url":"\/documentation\/wwdc25-215-engage-players-with-the-apple-games-app\/"},{"category":"","section":"documentation","slug":"wwdc25-214-get-started-with-game-center","summary":"Explore the features of Game Center and learn how to get started. We’ll show you best practices for implementing achievements, challenges, leaderboards, and activities to maximize your game’s discoverability, attract new players, and increase engagement.","tags":[],"title":"Get started with Game Center","url":"\/documentation\/wwdc25-214-get-started-with-game-center\/"},{"category":"","section":"documentation","slug":"wwdc25-211-go-further-with-metal-4-games","summary":"Dive deeper into the latest advancements in Metal 4. We’ll introduce the new ray tracing features that help bring your most complex and visually rich workloads to Apple silicon. Discover how MetalFX can help scale workloads by upscaling renderings, interpolating frames, and denoising scenes.","tags":[],"title":"Go further with Metal 4 games","url":"\/documentation\/wwdc25-211-go-further-with-metal-4-games\/"},{"category":"","section":"documentation","slug":"wwdc25-209-level-up-your-games","summary":"Learn how to make your games shine on the unified gaming platform. We’ll give you a map of the technologies you can use to level up your game and further improve your player experience. Get an overview of the fundamental tools essential to build, debug, and profile your game.","tags":[],"title":"Level up your games","url":"\/documentation\/wwdc25-209-level-up-your-games\/"},{"category":"","section":"documentation","slug":"wwdc25-208-elevate-the-design-of-your-ipad-app","summary":"Make your app look and feel great on iPadOS. Learn best practices for designing a responsive layout for resizable app windows. Get familiar with window controls and explore the best ways to accommodate them. Discover the building blocks of a great menu bar. And meet the new pointer and its updated effects.","tags":[],"title":"Elevate the design of your iPad app","url":"\/documentation\/wwdc25-208-elevate-the-design-of-your-ipad-app\/"},{"category":"","section":"documentation","slug":"wwdc25-205-discover-metal-4","summary":"Learn how to get started leveraging the powerful new features of Metal 4 in your existing Metal apps. We’ll cover how Metal enables you to get the most out of Apple silicon and program the hardware more efficiently. You’ll also learn how Metal 4 provides you with new capabilities to integrate machine learning into your Metal code.","tags":[],"title":"Discover Metal 4","url":"\/documentation\/wwdc25-205-discover-metal-4\/"},{"category":"","section":"documentation","slug":"wwdc25-204-go-further-with-mapkit","summary":"Discover the latest updates to MapKit and MapKit JS. We’ll introduce a new type of directions — cycling — and show you how to enable 3D Look Around imagery on the web.  Learn how the new Geocoding API supports conversion between coordinates and addresses, and how to use the Address Representations API to get the most appropriate address for a region. Then we’ll wrap it up with a new way of referencing places that ensures your app will work seamlessly with App Intents.","tags":[],"title":"Go further with MapKit","url":"\/documentation\/wwdc25-204-go-further-with-mapkit\/"},{"category":"","section":"documentation","slug":"wwdc25-203-get-to-know-the-managedapp-framework","summary":"Discover how the ManagedApp framework helps your app adapt to managed environments. We’ll show you how to receive configuration data, manage app secrets securely, and tailor your app’s behavior based on organization-provided settings. We’ll also walk through real-world examples to show how you can build more flexible, manageable apps for enterprise and education environments.","tags":[],"title":"Get to know the ManagedApp Framework","url":"\/documentation\/wwdc25-203-get-to-know-the-managedapp-framework\/"},{"category":"","section":"documentation","slug":"wwdc25-202-whats-new-in-wallet","summary":"Discover the latest features and improvements in Wallet. We’ll cover how to update your boarding passes with a stunning new design, and introduce new capabilities for multi-event tickets. We’ll also discuss API changes that help you seamlessly add passes to Wallet.","tags":[],"title":"What’s new in Wallet","url":"\/documentation\/wwdc25-202-whats-new-in-wallet\/"},{"category":"","section":"documentation","slug":"wwdc25-201-whats-new-in-apple-pay","summary":"Discover the latest improvements and new APIs in Apple Pay. You’ll discover enhancements to the Apple Pay eCommerce experience, like the new dynamic payment button, and learn how to take advantage of enhanced support for preauthorized payments. We’ll cover brand-new features coming to order tracking in Wallet, and recommendations to help your orders look their best. We’ll also dive into FinanceKit’s new background delivery APIs, allowing financial management apps to get the latest data, even when they’re not active.","tags":[],"title":"What’s new in Apple Pay","url":"\/documentation\/wwdc25-201-whats-new-in-apple-pay\/"},{"category":"","section":"documentation","slug":"wwdc25-102-platforms-state-of-the-union","summary":"Discover the newest advancements on Apple platforms.","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc25-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc25-101-keynote","summary":"Don’t miss the exciting reveal of the latest Apple software and technologies.","tags":[],"title":"Keynote","url":"\/documentation\/wwdc25-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc25","summary":"Xcode 26, Swift 6.2, iOS\/macOS\/tvOS\/visionOS 26. New APIs: `Foundation Models`, `AlarmKit`, `PermissionKit`, and more.","tags":[],"title":"WWDC25","url":"\/documentation\/wwdc25\/"},{"category":"","section":"documentation","slug":"wwdc24-2023-meet-financekit","summary":"Learn how FinanceKit lets your financial management apps seamlessly and securely share on-device data from Apple Cash, Apple Card, and more, with user consent and control. Find out how to request one-time and ongoing access to accounts, transactions, and balances — and how to build great experiences for iOS and iPadOS.","tags":[],"title":"Meet FinanceKit","url":"\/documentation\/wwdc24-2023-meet-financekit\/"},{"category":"","section":"documentation","slug":"wwdc24-111801-enhance-your-spatial-computing-app-with-realitykit-audio","summary":"Elevate your spatial computing experience using RealityKit audio. Discover how spatial audio can make your 3D immersive experiences come to life. From ambient audio, reverb, to real-time procedural audio that can add character to your 3D content, learn how RealityKit audio APIs can help make your app more engaging.","tags":[],"title":"Enhance your spatial computing app with RealityKit audio","url":"\/documentation\/wwdc24-111801-enhance-your-spatial-computing-app-with-realitykit-audio\/"},{"category":"","section":"documentation","slug":"wwdc24-10223-explore-machine-learning-on-apple-platforms","summary":"Get started with an overview of machine learning frameworks on Apple platforms. Whether you’re implementing your first ML model, or an ML expert, we’ll offer guidance to help you select the right framework for your app’s needs.","tags":[],"title":"Explore machine learning on Apple platforms","url":"\/documentation\/wwdc24-10223-explore-machine-learning-on-apple-platforms\/"},{"category":"","section":"documentation","slug":"wwdc24-10220-bring-expression-to-your-app-with-genmoji","summary":"Discover how to bring Genmoji to life in your app. We’ll go over how to render, store, and communicate text that includes Genmoji. If your app features a custom text engine, we’ll also cover techniques for adding support for Genmoji.","tags":[],"title":"Bring expression to your app with Genmoji","url":"\/documentation\/wwdc24-10220-bring-expression-to-your-app-with-genmoji\/"},{"category":"","section":"documentation","slug":"wwdc24-10218-accelerate-machine-learning-with-metal","summary":"Learn how to accelerate your machine learning transformer models with new features in Metal Performance Shaders Graph. We’ll also cover how to improve your model’s compute bandwidth and quality, and visualize it in the all new MPSGraph viewer.","tags":[],"title":"Accelerate machine learning with Metal","url":"\/documentation\/wwdc24-10218-accelerate-machine-learning-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc24-10217-explore-swift-performance","summary":"Discover how Swift balances abstraction and performance. Learn what elements of performance to consider and how the Swift optimizer affects them. Explore the different features of Swift and how they’re implemented to further understand the tradeoffs available that can impact performance.","tags":[],"title":"Explore Swift performance","url":"\/documentation\/wwdc24-10217-explore-swift-performance\/"},{"category":"","section":"documentation","slug":"wwdc24-10216-explore-the-swift-on-server-ecosystem","summary":"Swift is a great language for writing your server applications, and powers critical services across Apple’s cloud products. We’ll explore tooling, delve into the Swift server package ecosystem, and demonstrate how to interact with databases and add observability to applications.","tags":[],"title":"Explore the Swift on Server ecosystem","url":"\/documentation\/wwdc24-10216-explore-the-swift-on-server-ecosystem\/"},{"category":"","section":"documentation","slug":"wwdc24-10214-squeeze-the-most-out-of-apple-pencil","summary":"New in iOS 18, iPadOS 18, and visionOS 2, the PencilKit tool picker gains the ability to have completely custom tools, with custom attributes. Learn how to express your custom drawing experience in the tool picker using the same great tool picking experience available across the system. Discover how to access the new features of the Apple Pencil Pro, including roll angle, the squeeze gesture, and haptic feedback.","tags":[],"title":"Squeeze the most out of Apple Pencil","url":"\/documentation\/wwdc24-10214-squeeze-the-most-out-of-apple-pencil\/"},{"category":"","section":"documentation","slug":"wwdc24-10212-whats-new-in-location-authorization","summary":"Location authorization is turning 2.0. Learn about new recommendations and techniques to get the authorization you need, and a new system of diagnostics that can let you know when an authorization goal can’t be met.","tags":[],"title":"What’s new in location authorization","url":"\/documentation\/wwdc24-10212-whats-new-in-location-authorization\/"},{"category":"","section":"documentation","slug":"wwdc24-10211-support-realtime-ml-inference-on-the-cpu","summary":"Discover how you can use BNNSGraph to accelerate the execution of your machine learning model on the CPU. We will show you how to use BNNSGraph to compile and execute a machine learning model on the CPU and share how it provides real-time guarantees such as no runtime memory allocation and single-threaded running for audio or signal processing models.","tags":[],"title":"Support real-time ML inference on the CPU","url":"\/documentation\/wwdc24-10211-support-realtime-ml-inference-on-the-cpu\/"},{"category":"","section":"documentation","slug":"wwdc24-10210-bring-your-apps-core-features-to-users-with-app-intents","summary":"Learn the principles of the App Intents framework, like intents, entities, and queries, and how you can harness them to expose your app’s most important functionality right where people need it most. Find out how to build deep integration between your app and the many system features built on top of App Intents, including Siri, controls and widgets, Apple Pencil, Shortcuts, the Action button, and more. Get tips on how to build your App Intents integrations efficiently to create the best experiences in every surface while still sharing code and core functionality.","tags":[],"title":"Bring your app’s core features to users with App Intents","url":"\/documentation\/wwdc24-10210-bring-your-apps-core-features-to-users-with-app-intents\/"},{"category":"","section":"documentation","slug":"wwdc24-10209-enhanced-suggestions-for-your-journaling-app","summary":"Find out how your journaling app can display journaling suggestions with richer content from the system. Explore new types of available content like state of mind data, reflection prompts, and support for third-party media content and motion-based activities.","tags":[],"title":"Enhanced suggestions for your journaling app","url":"\/documentation\/wwdc24-10209-enhanced-suggestions-for-your-journaling-app\/"},{"category":"","section":"documentation","slug":"wwdc24-10207-migrate-your-tvml-app-to-swiftui","summary":"SwiftUI helps you build great apps on all Apple platforms and is the preferred toolkit for bringing your content into the living room with tvOS 18. Learn how to use SwiftUI to create familiar layouts and controls from TVMLKit, and get tips and best practices.","tags":[],"title":"Migrate your TVML app to SwiftUI","url":"\/documentation\/wwdc24-10207-migrate-your-tvml-app-to-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc24-10205-whats-new-in-watchos-11","summary":"Explore new opportunities on Apple Watch, including bringing Double Tap support to your watchOS app, making your Smart Stack widgets even more relevant and interactive, and displaying your iOS Live Activities in the Smart Stack.","tags":[],"title":"What’s new in watchOS 11","url":"\/documentation\/wwdc24-10205-whats-new-in-watchos-11\/"},{"category":"","section":"documentation","slug":"wwdc24-10204-build-a-great-lock-screen-camera-capture-experience","summary":"Find out how the LockedCameraCapture API can help you bring your capture application’s most useful information directly to the Lock Screen. Examine the API’s features and functionality, learn how to get started creating a capture extension, and find out how that extension behaves when the device is locked.","tags":[],"title":"Build a great Lock Screen camera capture experience","url":"\/documentation\/wwdc24-10204-build-a-great-lock-screen-camera-capture-experience\/"},{"category":"","section":"documentation","slug":"wwdc24-10203-meet-accessorysetupkit","summary":"Elevate your accessory setup experience with AccessorySetupKit. Display a beautiful pairing dialog with an image of your Bluetooth or Wi-Fi accessory — no trip to the Settings app required. Discover how to improve privacy by pairing only your app with an accessory. And learn how you can migrate existing accessories so they can be managed by AccessorySetupKit.","tags":[],"title":"Meet AccessorySetupKit","url":"\/documentation\/wwdc24-10203-meet-accessorysetupkit\/"},{"category":"","section":"documentation","slug":"wwdc24-10201-customize-spatial-persona-templates-in-shareplay","summary":"Learn how to use custom spatial Persona templates in your visionOS SharePlay experience to fine-tune the placement of Personas relative to your app. We’ll show you how to adopt custom spatial Persona templates in a sample app with SharePlay, move participants between seats, and test your changes in Simulator. We’ll also share best practices for designing custom spatial templates that will make your experience shine.","tags":[],"title":"Customize spatial Persona templates in SharePlay","url":"\/documentation\/wwdc24-10201-customize-spatial-persona-templates-in-shareplay\/"},{"category":"","section":"documentation","slug":"wwdc24-10200-extend-your-xcode-cloud-workflows","summary":"Discover how Xcode Cloud can adapt to your development needs. We’ll show you how to streamline your workflows, automate testing and distribution with start conditions, custom aliases, custom scripts, webhooks, and the App Store Connect API.","tags":[],"title":"Extend your Xcode Cloud workflows","url":"\/documentation\/wwdc24-10200-extend-your-xcode-cloud-workflows\/"},{"category":"","section":"documentation","slug":"wwdc24-102-platforms-state-of-the-union","summary":"Discover the newest advancements on Apple platforms.","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc24-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc24-10198-run-break-inspect-explore-effective-debugging-in-lldb","summary":"Learn how to use LLDB to explore and debug codebases. We’ll show you how to make the most of crashlogs and backtraces, and how to supercharge breakpoints with actions and complex stop conditions. We’ll also explore how the “p” command and the latest features in Swift 6 can enhance your debugging experience.","tags":[],"title":"Run, Break, Inspect: Explore effective debugging in LLDB","url":"\/documentation\/wwdc24-10198-run-break-inspect-explore-effective-debugging-in-lldb\/"},{"category":"","section":"documentation","slug":"wwdc24-10197-go-small-with-embedded-swift","summary":"Embedded Swift brings the safety and expressivity of Swift to constrained environments. Explore how Embedded Swift runs on a variety of microcontrollers through a demonstration using an off-the-shelf Matter device. Learn how the Embedded Swift subset packs the benefits of Swift into a tiny footprint with no runtime, and discover plenty of resources to start your own Embedded Swift adventure.","tags":[],"title":"Go small with Embedded Swift","url":"\/documentation\/wwdc24-10197-go-small-with-embedded-swift\/"},{"category":"","section":"documentation","slug":"wwdc24-10195-go-further-with-swift-testing","summary":"Learn how to write a sweet set of (test) suites using Swift Testing’s baked-in features. Discover how to take the building blocks further and use them to help expand tests to cover more scenarios, organize your tests across different suites, and optimize your tests to run in parallel.","tags":[],"title":"Go further with Swift Testing","url":"\/documentation\/wwdc24-10195-go-further-with-swift-testing\/"},{"category":"","section":"documentation","slug":"wwdc24-10188-whats-new-in-sf-symbols-6","summary":"Explore the latest updates to SF Symbols, Apple’s library of iconography designed to integrate seamlessly with San Francisco, the system font for all Apple platforms. Learn how the new Wiggle, Rotate, and Breathe animation presets can bring vitality to your interface. To get the most out of this session, we recommend first watching “What’s new in SF Symbols 5” from WWDC23.","tags":[],"title":"What’s new in SF Symbols 6","url":"\/documentation\/wwdc24-10188-whats-new-in-sf-symbols-6\/"},{"category":"","section":"documentation","slug":"wwdc24-10186-optimize-your-3d-assets-for-spatial-computing","summary":"Dive into an end-to-end workflow for optimized 3D asset creation. Discover best practices for optimizing meshes, materials, and textures in your digital content creation tool. Learn how to harness shader graph, baking, and material instances to enhance your 3D scene while optimizing performance. Take advantage of native tools to work more effectively with your assets and improve your app’s performance.","tags":[],"title":"Optimize your 3D assets for spatial computing","url":"\/documentation\/wwdc24-10186-optimize-your-3d-assets-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc24-10185-build-multilingualready-apps","summary":"Ensure your app works properly and effectively for multilingual users. Learn best practices for text input, display, search, and formatting. Get details on typing in multiple languages without switching between keyboards. And find out how the latest advances in the String Catalog can make localization even easier.","tags":[],"title":"Build multilingual-ready apps","url":"\/documentation\/wwdc24-10185-build-multilingualready-apps\/"},{"category":"","section":"documentation","slug":"wwdc24-10184-a-swift-tour-explore-swifts-features-and-design","summary":"Learn the essential features and design philosophy of the Swift programming language. We’ll explore how to model data, handle errors, use protocols, write concurrent code, and more while building up a Swift package that has a library, an HTTP server, and a command line client. Whether you’re just beginning your Swift journey or have been with us from the start, this talk will help you get the most out of the language.","tags":[],"title":"A Swift Tour: Explore Swift’s features and design","url":"\/documentation\/wwdc24-10184-a-swift-tour-explore-swifts-features-and-design\/"},{"category":"","section":"documentation","slug":"wwdc24-10183-whats-new-in-create-ml","summary":"Explore updates to Create ML, including interactive data source previews and a new template for building object tracking models for visionOS apps. We’ll also cover important framework improvements, including new time-series forecasting and classification APIs.","tags":[],"title":"What’s new in Create ML","url":"\/documentation\/wwdc24-10183-whats-new-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc24-10181-xcode-essentials","summary":"Edit, debug, commit, repeat. Explore the suite of tools in Xcode that help you iterate quickly when developing apps. Discover tips and tricks to help optimize and boost your development workflow.","tags":[],"title":"Xcode essentials","url":"\/documentation\/wwdc24-10181-xcode-essentials\/"},{"category":"","section":"documentation","slug":"wwdc24-10179-meet-swift-testing","summary":"Introducing Swift Testing: a new package for testing your code using Swift. Explore the building blocks of its powerful new API, discover how it can be applied in common testing workflows, and learn how it relates to XCTest and open source Swift.","tags":[],"title":"Meet Swift Testing","url":"\/documentation\/wwdc24-10179-meet-swift-testing\/"},{"category":"","section":"documentation","slug":"wwdc24-10177-use-hdr-for-dynamic-image-experiences-in-your-app","summary":"Discover how to read and write HDR images and process HDR content in your app. Explore the new supported HDR image formats and advanced methods for displaying HDR images. Find out how HDR content can coexist with your user interface — and what to watch out for when adding HDR image support to your app.","tags":[],"title":"Use HDR for dynamic image experiences in your app","url":"\/documentation\/wwdc24-10177-use-hdr-for-dynamic-image-experiences-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc24-10176-design-app-intents-for-system-experiences","summary":"App Intents power system experiences in controls, Spotlight, Siri, and more. Find out how to identify the functionality that’s best for App Intents, and how to use parameters to make these intents flexible. Learn how to use App Intents to allow people to take action outside your app, and see examples of when to navigate into your app to show contextual information.","tags":[],"title":"Design App Intents for system experiences","url":"\/documentation\/wwdc24-10176-design-app-intents-for-system-experiences\/"},{"category":"","section":"documentation","slug":"wwdc24-10173-analyze-heap-memory","summary":"Dive into the basis for your app’s dynamic memory: the heap! Explore how to use Instruments and Xcode to measure, analyze, and fix common heap issues. We’ll also cover some techniques and best practices for diagnosing transient growth, persistent growth, and leaks in your app.","tags":[],"title":"Analyze heap memory","url":"\/documentation\/wwdc24-10173-analyze-heap-memory\/"},{"category":"","section":"documentation","slug":"wwdc24-10172-break-into-the-realitykit-debugger","summary":"Meet the RealityKit debugger and discover how this new tool lets you inspect the entity hierarchy of spatial apps, debug rogue transformations, find missing entities, and detect which parts of your code are causing problems for your systems.","tags":[],"title":"Break into the RealityKit debugger","url":"\/documentation\/wwdc24-10172-break-into-the-realitykit-debugger\/"},{"category":"","section":"documentation","slug":"wwdc24-10171-demystify-explicitly-built-modules","summary":"Explore how builds are changing in Xcode 16 with explicitly built modules. Discover how modules are used to build your code, how explicitly built modules improve transparency in compilation tasks, and how you can optimize your build by sharing modules across targets.","tags":[],"title":"Demystify explicitly built modules","url":"\/documentation\/wwdc24-10171-demystify-explicitly-built-modules\/"},{"category":"","section":"documentation","slug":"wwdc24-10170-consume-noncopyable-types-in-swift","summary":"Get started with noncopyable types in Swift. Discover what copying means in Swift, when you might want to use a noncopyable type, and how value ownership lets you state your intentions clearly.","tags":[],"title":"Consume noncopyable types in Swift","url":"\/documentation\/wwdc24-10170-consume-noncopyable-types-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc24-10169-migrate-your-app-to-swift-6","summary":"Experience Swift 6 migration in action as we update an existing sample app. Learn how to migrate incrementally, module by module, and how the compiler helps you identify code that’s at risk of data races.  Discover different techniques for ensuring clear isolation boundaries and eliminating concurrent access to shared mutable state.","tags":[],"title":"Migrate your app to Swift 6","url":"\/documentation\/wwdc24-10169-migrate-your-app-to-swift-6\/"},{"category":"","section":"documentation","slug":"wwdc24-10168-get-started-with-writing-tools","summary":"Learn how Writing Tools help users proofread, rewrite, and transform text in your app. Get the details on how Writing Tools interact with your app so users can refine what they have written in any text view. Understand how text is retrieved and processed, and how to support Writing Tools in custom text views.","tags":[],"title":"Get started with Writing Tools","url":"\/documentation\/wwdc24-10168-get-started-with-writing-tools\/"},{"category":"","section":"documentation","slug":"wwdc24-10166-build-compelling-spatial-photo-and-video-experiences","summary":"Learn how to adopt spatial photos and videos in your apps. Explore the different types of stereoscopic media and find out how to capture spatial videos in your iOS app on iPhone 15 Pro. Discover the various ways to detect and present spatial media, including the new QuickLook Preview Application API in visionOS. And take a deep dive into the metadata and stereo concepts that make a photo or video spatial.","tags":[],"title":"Build compelling spatial photo and video experiences","url":"\/documentation\/wwdc24-10166-build-compelling-spatial-photo-and-video-experiences\/"},{"category":"","section":"documentation","slug":"wwdc24-10164-whats-new-in-dockkit","summary":"Discover how intelligent tracking in DockKit allows for smoother transitions between subjects. We will cover what intelligent tracking is, how it uses an ML model to select and track subjects, and how you can use it in your app.","tags":[],"title":"What’s new in DockKit","url":"\/documentation\/wwdc24-10164-whats-new-in-dockkit\/"},{"category":"","section":"documentation","slug":"wwdc24-10163-discover-swift-enhancements-in-the-vision-framework","summary":"The Vision Framework API has been redesigned to leverage modern Swift features like concurrency, making it easier and faster to integrate a wide array of Vision algorithms into your app. We’ll tour the updated API and share sample code, along with best practices, to help you get the benefits of this framework with less coding effort. We’ll also demonstrate two new features: image aesthetics and holistic body pose.","tags":[],"title":"Discover Swift enhancements in the Vision framework","url":"\/documentation\/wwdc24-10163-discover-swift-enhancements-in-the-vision-framework\/"},{"category":"","section":"documentation","slug":"wwdc24-10162-keep-colors-consistent-across-captures","summary":"Meet the Constant Color API and find out how it can help people use your app to determine precise colors. You’ll learn how to adopt the API, explore its scientific and marketing potential, and discover best practices for making the most of the technology.","tags":[],"title":"Keep colors consistent across captures","url":"\/documentation\/wwdc24-10162-keep-colors-consistent-across-captures\/"},{"category":"","section":"documentation","slug":"wwdc24-10161-deploy-machine-learning-and-ai-models-ondevice-with-core-ml","summary":"Learn new ways to optimize speed and memory performance when you convert and run machine learning and AI models through Core ML. We’ll cover new options for model representations, performance insights, execution, and model stitching which can be used together to create compelling and private on-device experiences.","tags":[],"title":"Deploy machine learning and AI models on-device with Core ML","url":"\/documentation\/wwdc24-10161-deploy-machine-learning-and-ai-models-ondevice-with-core-ml\/"},{"category":"","section":"documentation","slug":"wwdc24-10160-train-your-machine-learning-and-ai-models-on-apple-gpus","summary":"Learn how to train your models on Apple Silicon with Metal for PyTorch, JAX and TensorFlow. Take advantage of new attention operations and quantization support for improved transformer model performance on your devices.","tags":[],"title":"Train your machine learning and AI models on Apple GPUs","url":"\/documentation\/wwdc24-10160-train-your-machine-learning-and-ai-models-on-apple-gpus\/"},{"category":"","section":"documentation","slug":"wwdc24-10159-bring-your-machine-learning-and-ai-models-to-apple-silicon","summary":"Learn how to optimize your machine learning and AI models to leverage the power of Apple silicon. Review model conversion workflows to prepare your models for on-device deployment. Understand model compression techniques that are compatible with Apple silicon, and at what stages in your model deployment workflow you can apply them. We’ll also explore the tradeoffs between storage size, latency, power usage and accuracy.","tags":[],"title":"Bring your machine learning and AI models to Apple silicon","url":"\/documentation\/wwdc24-10159-bring-your-machine-learning-and-ai-models-to-apple-silicon\/"},{"category":"","section":"documentation","slug":"wwdc24-10157-extend-your-apps-controls-across-the-system","summary":"Bring your app’s controls to Control Center, the Lock Screen, and beyond. Learn how you can use WidgetKit to extend your app’s controls to the system experience. We’ll cover how you can to build a control, tailor its appearance, and make it configurable.","tags":[],"title":"Extend your app’s controls across the system","url":"\/documentation\/wwdc24-10157-extend-your-apps-controls-across-the-system\/"},{"category":"","section":"documentation","slug":"wwdc24-10155-swift-charts-vectorized-and-function-plots","summary":"The plot thickens! Learn how to render beautiful charts representing math functions and extensive datasets using function and vectorized plots in your app. Whether you’re looking to display functions common in aerodynamics, magnetism, and higher order field theory, or create large interactive heat maps, Swift Charts has you covered.","tags":[],"title":"Swift Charts: Vectorized and function plots","url":"\/documentation\/wwdc24-10155-swift-charts-vectorized-and-function-plots\/"},{"category":"","section":"documentation","slug":"wwdc24-10153-dive-deep-into-volumes-and-immersive-spaces","summary":"Discover powerful new ways to customize volumes and immersive spaces in visionOS. Learn to fine-tune how volumes resize and respond to people moving around them. Make volumes and immersive spaces interact through the power of coordinate conversions. Find out how to make your app react when people adjust immersion with the Digital Crown, and use a surrounding effect to dynamically customize the passthrough tint in your immersive space experience.","tags":[],"title":"Dive deep into volumes and immersive spaces","url":"\/documentation\/wwdc24-10153-dive-deep-into-volumes-and-immersive-spaces\/"},{"category":"","section":"documentation","slug":"wwdc24-10152-create-custom-hover-effects-in-visionos","summary":"Learn how to develop custom hover effects that update views when people look at them. Find out how to build an expanding button effect that combines opacity, scale, and clip effects. Discover best practices for creating effects that are comfortable and respect people’s accessibility needs.","tags":[],"title":"Create custom hover effects in visionOS","url":"\/documentation\/wwdc24-10152-create-custom-hover-effects-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10151-create-custom-visual-effects-with-swiftui","summary":"Discover how to create stunning visual effects in SwiftUI. Learn to build unique scroll effects, rich color treatments, and custom transitions. We’ll also explore advanced graphic effects using Metal shaders and custom text rendering.","tags":[],"title":"Create custom visual effects with SwiftUI","url":"\/documentation\/wwdc24-10151-create-custom-visual-effects-with-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc24-10150-swiftui-essentials","summary":"Join us on a tour of SwiftUI, Apple’s declarative user interface framework. Learn essential concepts for building apps in SwiftUI, like views, state variables, and layout. Discover the breadth of APIs for building fully featured experiences and crafting unique custom components. Whether you’re brand new to SwiftUI or an experienced developer, you’ll learn how to take advantage of what SwiftUI has to offer when building great apps.","tags":[],"title":"SwiftUI essentials","url":"\/documentation\/wwdc24-10150-swiftui-essentials\/"},{"category":"","section":"documentation","slug":"wwdc24-10149-work-with-windows-in-swiftui","summary":"Learn how to create great single and multi-window apps in visionOS, macOS, and iPadOS. Discover tools that let you programmatically open and close windows, adjust position and size, and even replace one window with another. We’ll also explore design principles for windows that help people use your app within their workflows.","tags":[],"title":"Work with windows in SwiftUI","url":"\/documentation\/wwdc24-10149-work-with-windows-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc24-10148-tailor-macos-windows-with-swiftui","summary":"Make your windows feel tailor-made for macOS. Fine-tune your app’s windows for focused purposes, ease of use, and to express functionality. Use SwiftUI to style window toolbars and backgrounds. Arrange your windows with precision, and make smart decisions about restoration and minimization.","tags":[],"title":"Tailor macOS windows with SwiftUI","url":"\/documentation\/wwdc24-10148-tailor-macos-windows-with-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc24-10147-elevate-your-tab-and-sidebar-experience-in-ipados","summary":"iPadOS 18 introduces a new navigation system that gives people the flexibility to choose between using a tab bar or sidebar. The newly redesigned tab bar provides more space for content and other functionality. Learn how to use SwiftUI and UIKit to enable customization features – like adding, removing and reordering tabs – to enable a more personal touch in your app.","tags":[],"title":"Elevate your tab and sidebar experience in iPadOS","url":"\/documentation\/wwdc24-10147-elevate-your-tab-and-sidebar-experience-in-ipados\/"},{"category":"","section":"documentation","slug":"wwdc24-10146-demystify-swiftui-containers","summary":"Learn about the capabilities of SwiftUI container views and build a mental model for how subviews are managed by their containers. Leverage new APIs to build your own custom containers, create modifiers to customize container content, and give your containers that extra polish that helps your apps stand out.","tags":[],"title":"Demystify SwiftUI containers","url":"\/documentation\/wwdc24-10146-demystify-swiftui-containers\/"},{"category":"","section":"documentation","slug":"wwdc24-10145-enhance-your-ui-animations-and-transitions","summary":"Explore how to adopt the zoom transition in navigation and presentations to increase the sense of continuity in your app, and learn how to animate UIKit views with SwiftUI animations to make it easier to build animations that feel continuous.","tags":[],"title":"Enhance your UI animations and transitions","url":"\/documentation\/wwdc24-10145-enhance-your-ui-animations-and-transitions\/"},{"category":"","section":"documentation","slug":"wwdc24-10144-whats-new-in-swiftui","summary":"Learn how you can use SwiftUI to build great apps for any Apple platform. Explore a fresh new look and feel for tabs and documents on iPadOS. Improve your window management with new windowing APIs, and gain more control over immersive spaces and volumes in your visionOS apps. We’ll also take you through other exciting refinements that help you make expressive charts, customize and layout text, and so much more.","tags":[],"title":"What’s new in SwiftUI","url":"\/documentation\/wwdc24-10144-whats-new-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc24-10143-whats-new-in-device-management","summary":"Learn about the latest management capabilities for iOS, iPadOS, macOS, and visionOS, then discover the latest changes to Apple Business Manager and Apple School Manager. We’ll also share updates to Activation Lock, SoftwareUpdate, and Safari management.","tags":[],"title":"What’s new in device management","url":"\/documentation\/wwdc24-10143-whats-new-in-device-management\/"},{"category":"","section":"documentation","slug":"wwdc24-10140-add-personality-to-your-app-through-ux-writing","summary":"Every app has a personality that comes across in what you say — and how you say it. Learn how to define your app’s voice and modulate your tone for every situation, from celebratory notifications to error messages. We’ll help you get specific about your app’s purpose and audience and practice writing in different tones.","tags":[],"title":"Add personality to your app through UX writing","url":"\/documentation\/wwdc24-10140-add-personality-to-your-app-through-ux-writing\/"},{"category":"","section":"documentation","slug":"wwdc24-10139-introducing-enterprise-apis-for-visionos","summary":"Find out how you can use new enterprise APIs for visionOS to create spatial experiences that enhance employee and customer productivity on Apple Vision Pro.","tags":[],"title":"Introducing enterprise APIs for visionOS","url":"\/documentation\/wwdc24-10139-introducing-enterprise-apis-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10138-create-a-custom-data-store-with-swiftdata","summary":"Combine the power of SwiftData’s expressive, declarative modeling API with your own persistence backend. Learn how to build a custom data store and explore how to progressively add persistence features in your app. To get the most out of this session, watch “Meet SwiftData” and “Model your schema with SwiftData” from WWDC23.","tags":[],"title":"Create a custom data store with SwiftData","url":"\/documentation\/wwdc24-10138-create-a-custom-data-store-with-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc24-10137-whats-new-in-swiftdata","summary":"SwiftData makes it easy to add persistence to your app with its expressive, declarative API. Learn about refinements to SwiftData, including compound uniqueness constraints, faster queries with #Index, queries in Xcode previews, and rich predicate expressions. Join us to explore how you can use all of these features to express richer models and improve performance in your app. To discover how to build a custom data store or use the history API in SwiftData, watch “Create a custom data store with SwiftData” and “Track model changes with SwiftData history”.","tags":[],"title":"What’s new in SwiftData","url":"\/documentation\/wwdc24-10137-whats-new-in-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc24-10136-whats-new-in-swift","summary":"Join us for an update on Swift. We’ll briefly go through a history of Swift over the past decade, and show you how the community has grown through workgroups, expanded the package ecosystem, and increased platform support. We’ll introduce you to a new language mode that achieves data-race safety by default, and a language subset that lets you run Swift on highly constrained systems. We’ll also explore some language updates including noncopyable types, typed throws, and improved C++ interoperability.","tags":[],"title":"What’s new in Swift","url":"\/documentation\/wwdc24-10136-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc24-10135-whats-new-in-xcode-16","summary":"Discover the latest productivity and performance improvements in Xcode 16. Learn about enhancements to code completion, diagnostics, and Xcode Previews. Find out more about updates in builds and explore improvements in debugging and Instruments.","tags":[],"title":"What’s new in Xcode 16","url":"\/documentation\/wwdc24-10135-whats-new-in-xcode-16\/"},{"category":"","section":"documentation","slug":"wwdc24-10134-whats-new-in-app-intents","summary":"Learn about improvements and refinements to App Intents, and discover how this framework can help you expose your app’s functionality to Siri and all-new features. We’ll show you how to make your entities more meaningful to the platform with the Transferable API, File Representations, new IntentFile APIs, and Spotlight Indexing, opening up powerful functionality in Siri and the Shortcuts app. Empower your intents to take people deep into your app with URL Representable Entities. Explore new techniques to model your entities and intents with new APIs for error handling and union values","tags":[],"title":"What’s new in App Intents","url":"\/documentation\/wwdc24-10134-whats-new-in-app-intents\/"},{"category":"","section":"documentation","slug":"wwdc24-10133-bring-your-app-to-siri","summary":"Learn how to use SiriKit and App Intents to expose your app’s functionality to Siri and Apple Intelligence. Discover which intents are already available for your use, and how to adopt App Intent domains to integrate actions from your app into the system. Find out what metadata to provide, how to make your entities searchable with Spotlight, how to integrate your app with in-app search, and much more.","tags":[],"title":"Bring your app to Siri","url":"\/documentation\/wwdc24-10133-bring-your-app-to-siri\/"},{"category":"","section":"documentation","slug":"wwdc24-10132-evolve-your-document-launch-experience","summary":"Make your document-based app stand out, and bring its unique identity into focus with the new document launch experience. Learn how to leverage the new API to customize the first screen people see when they launch your app. Utilize the new system-provided design, and amend it with custom actions, delightful decorative views, and impressive animations.","tags":[],"title":"Evolve your document launch experience","url":"\/documentation\/wwdc24-10132-evolve-your-document-launch-experience\/"},{"category":"","section":"documentation","slug":"wwdc24-10131-support-semantic-search-with-core-spotlight","summary":"Learn how to provide semantic search results in your app using Core Spotlight. Understand how to make your app’s content available in the user’s private, on-device index so people can search for items using natural language. We’ll also share how to optimize your app’s performance by scheduling indexing activities.","tags":[],"title":"Support semantic search with Core Spotlight","url":"\/documentation\/wwdc24-10131-support-semantic-search-with-core-spotlight\/"},{"category":"","section":"documentation","slug":"wwdc24-10125-streamline-signin-with-passkey-upgrades-and-credential-managers","summary":"Learn how to automatically upgrade existing, password-based accounts to use passkeys. We’ll share why and how to improve account security and ease of sign-in, information about new features available for credential manager apps, and how to make your app information shine in the new Passwords app.","tags":[],"title":"Streamline sign-in with passkey upgrades and credential managers","url":"\/documentation\/wwdc24-10125-streamline-signin-with-passkey-upgrades-and-credential-managers\/"},{"category":"","section":"documentation","slug":"wwdc24-10124-whats-new-in-appkit","summary":"Discover the latest advances in Mac app development. Get an overview of the new features in macOS Sequoia, and how to adopt them in your app. Explore new ways to integrate your existing code with SwiftUI. Learn about the improvements made to numerous AppKit controls, like toolbars, menus, text input, and more.","tags":[],"title":"What’s new in AppKit","url":"\/documentation\/wwdc24-10124-whats-new-in-appkit\/"},{"category":"","section":"documentation","slug":"wwdc24-10123-whats-new-in-privacy","summary":"At Apple, we believe privacy is a fundamental human right. Learn about new and improved permission flows and other features that manage data in a privacy-preserving way, so that you can focus on creating great app experiences.","tags":[],"title":"What’s new in privacy","url":"\/documentation\/wwdc24-10123-whats-new-in-privacy\/"},{"category":"","section":"documentation","slug":"wwdc24-10122-use-cloudkit-console-to-monitor-and-optimize-database-activity","summary":"Discover the new observability features in CloudKit Console. Learn how to use Telemetry and Logging to troubleshoot and optimize your app. Find out how to set up alerts to monitor your application’s behavior and notifications to stay on top of the container events that are most important to you.","tags":[],"title":"Use CloudKit Console to monitor and optimize database activity","url":"\/documentation\/wwdc24-10122-use-cloudkit-console-to-monitor-and-optimize-database-activity\/"},{"category":"","section":"documentation","slug":"wwdc24-10121-meet-the-contact-access-button","summary":"Learn about the new Contacts authorization modes and how to improve Contacts access in your app. Discover how to integrate the Contact Access Button into your app to share additional contacts on demand and provide an easier path to Contacts authorization. We’ll also cover Contacts security features and an alternative API to be used if the button isn’t appropriate for your app.","tags":[],"title":"Meet the Contact Access Button","url":"\/documentation\/wwdc24-10121-meet-the-contact-access-button\/"},{"category":"","section":"documentation","slug":"wwdc24-10118-whats-new-in-uikit","summary":"Explore everything new in UIKit, including tab and document launch experiences, transitions, and text and input changes. We’ll also discuss better-than-ever interoperability between UIKit and SwiftUI animations and gestures, as well as general improvements throughout UIKit.","tags":[],"title":"What’s new in UIKit","url":"\/documentation\/wwdc24-10118-whats-new-in-uikit\/"},{"category":"","section":"documentation","slug":"wwdc24-10117-meet-the-translation-api","summary":"Discover how you can translate text across different languages in your app using the new Translation framework.  We’ll show you how to quickly display translations in the system UI, and how to translate larger batches of text for your app’s UI.","tags":[],"title":"Meet the Translation API","url":"\/documentation\/wwdc24-10117-meet-the-translation-api\/"},{"category":"","section":"documentation","slug":"wwdc24-10116-explore-multiview-video-playback-in-visionos","summary":"Learn how AVExperienceController can enable playback of multiple videos on Apple Vision Pro. Review best practices for adoption and explore great use cases, like viewing a sports broadcast from different angles or watching multiple games simultaneously. And discover how to design a compelling and intuitive multiview experience in your app.","tags":[],"title":"Explore multiview video playback in visionOS","url":"\/documentation\/wwdc24-10116-explore-multiview-video-playback-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10115-enhance-the-immersion-of-media-viewing-in-custom-environments","summary":"Extend your media viewing experience using Reality Composer Pro components like Docking Region, Reverb, and Virtual Environment Probe. Find out how to further enhance immersion using Reflections, Tint Surroundings Effect, SharePlay, and the Immersive Environment Picker.","tags":[],"title":"Enhance the immersion of media viewing in custom environments","url":"\/documentation\/wwdc24-10115-enhance-the-immersion-of-media-viewing-in-custom-environments\/"},{"category":"","section":"documentation","slug":"wwdc24-10114-enhance-ad-experiences-with-hls-interstitials","summary":"Explore how HLS Interstitials can help you seamlessly insert advertisements into your HLS content. We’ll also show you how to use integrated timeline to tune your UI experience and build SharePlay for interstitials.","tags":[],"title":"Enhance ad experiences with HLS interstitials","url":"\/documentation\/wwdc24-10114-enhance-ad-experiences-with-hls-interstitials\/"},{"category":"","section":"documentation","slug":"wwdc24-10113-discover-media-performance-metrics-in-avfoundation","summary":"Discover how you can monitor, analyze, and improve user experience with the new media performance APIs. Explore how to monitor AVPlayer performance for HLS assets using different AVMetricEvents, and learn how to use these metrics to understand and triage player performance issues.","tags":[],"title":"Discover media performance metrics in AVFoundation","url":"\/documentation\/wwdc24-10113-discover-media-performance-metrics-in-avfoundation\/"},{"category":"","section":"documentation","slug":"wwdc24-10112-say-hello-to-the-next-generation-of-carplay-design-system","summary":"Explore the design system at the heart of the next generation of CarPlay that allows each automaker to express their vehicle’s character and brand. Learn how gauges, layouts, dynamic content, and more are deeply customizable and adaptable, allowing you to express your own design philosophy and create an iconic, tailored look. This session is intended for automakers, system developers, and anyone designing a system that supports the next generation of CarPlay.","tags":[],"title":"Say hello to the next generation of CarPlay design system","url":"\/documentation\/wwdc24-10112-say-hello-to-the-next-generation-of-carplay-design-system\/"},{"category":"","section":"documentation","slug":"wwdc24-10111-meet-the-next-generation-of-carplay-architecture","summary":"Dive into the architecture for the next generation of CarPlay. Learn how your vehicle system works with iPhone to create a single cohesive experience that showcases the best of your car and iPhone. Learn how UI is rendered and composited, and explore ways to configure and customize a special experience for each vehicle model. This session is intended for automakers and system developers interested in the next generation of CarPlay.","tags":[],"title":"Meet the next generation of CarPlay architecture","url":"\/documentation\/wwdc24-10111-meet-the-next-generation-of-carplay-architecture\/"},{"category":"","section":"documentation","slug":"wwdc24-10110-implement-app-store-offers","summary":"Learn how to engage customers with App Store Offers using App Store Connect, as well as the latest StoreKit features and APIs. Discover how you can set up win-back offers (a new way to re-engage previous subscribers) and generate offer codes for Mac apps. And find out how to test offers in sandbox and Xcode to make sure they work smoothly.","tags":[],"title":"Implement App Store Offers","url":"\/documentation\/wwdc24-10110-implement-app-store-offers\/"},{"category":"","section":"documentation","slug":"wwdc24-10109-explore-wellbeing-apis-in-healthkit","summary":"Learn how to incorporate mental health and wellbeing into your app using HealthKit. There are new APIs for State of Mind, as well as for Depression Risk and Anxiety Risk. We’ll dive into principles of emotion science to cover how reflecting on feelings can be beneficial, and how State of Mind can be used to represent different types of mood and emotion.","tags":[],"title":"Explore wellbeing APIs in HealthKit","url":"\/documentation\/wwdc24-10109-explore-wellbeing-apis-in-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc24-10108-whats-new-in-wallet-and-apple-pay","summary":"Take passes and payments to the next level with new enhancements to Wallet and Apple Pay. Make your event tickets shine with rich pass designs in Wallet, and bring great Apple Pay experiences to even more people with third-party browser support. We’ll also look at how to disburse funds with Apple Pay on the Web and highlight new API changes that help you integrate Apple Pay into even more purchasing flows.","tags":[],"title":"What’s new in Wallet and Apple Pay","url":"\/documentation\/wwdc24-10108-whats-new-in-wallet-and-apple-pay\/"},{"category":"","section":"documentation","slug":"wwdc24-10107-discover-area-mode-for-object-capture","summary":"Discover how area mode for Object Capture enables new 3D capture possibilities on iOS by extending the functionality of Object Capture to support capture and reconstruction of an area. Learn how to optimize the quality of iOS captures using the new macOS sample app for reconstruction, and find out how to view the final results with Quick Look on Apple Vision Pro, iPhone, iPad or Mac. Learn about improvements to 3D reconstruction, including a new API that allows you to create your own custom image processing pipelines.","tags":[],"title":"Discover area mode for Object Capture","url":"\/documentation\/wwdc24-10107-discover-area-mode-for-object-capture\/"},{"category":"","section":"documentation","slug":"wwdc24-10106-whats-new-in-usd-and-materialx","summary":"Explore updates to Universal Scene Description and MaterialX support on Apple platforms. Discover how these technologies provide a foundation for 3D content creation and delivery, and learn how they can help streamline your workflows for creating great spatial experiences. Learn about USD and MaterialX support in RealityKit and Storm, advancements in our system-provided tooling, and more.","tags":[],"title":"What’s new in USD and MaterialX","url":"\/documentation\/wwdc24-10106-whats-new-in-usd-and-materialx\/"},{"category":"","section":"documentation","slug":"wwdc24-10105-whats-new-in-quick-look-for-visionos","summary":"Explore how Quick Look in visionOS can elevate file preview and editing experiences in your app. We’ll cover the integration of in-app and windowed Quick Look, as well as a brand-new API that customizes the windowed Quick Look experience in your app. We’ll also share the latest enhancements to viewing 3D models within Quick Look.","tags":[],"title":"What’s new in Quick Look for visionOS","url":"\/documentation\/wwdc24-10105-whats-new-in-quick-look-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10104-build-a-spatial-drawing-app-with-realitykit","summary":"Harness the power of RealityKit through the process of building a spatial drawing app. As you create an eye-catching spatial experience that integrates RealityKit with ARKit and SwiftUI, you’ll explore how resources work in RealityKit and how to use features like low-level mesh and texture APIs to achieve fast updates of the users’ brush strokes.","tags":[],"title":"Build a spatial drawing app with RealityKit","url":"\/documentation\/wwdc24-10104-build-a-spatial-drawing-app-with-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc24-10103-discover-realitykit-apis-for-ios-macos-and-visionos","summary":"Learn how new cross-platform APIs in RealityKit can help you build immersive apps for iOS, macOS, and visionOS. Check out the new hover effects, lights and shadows, and portal crossing features, and view them in action through real examples.","tags":[],"title":"Discover RealityKit APIs for iOS, macOS and visionOS","url":"\/documentation\/wwdc24-10103-discover-realitykit-apis-for-ios-macos-and-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10102-compose-interactive-3d-content-in-reality-composer-pro","summary":"Discover how the Timeline view in Reality Composer Pro can bring your 3D content to life. Learn how to create an animated story in which characters and objects interact with each other and the world around them using inverse kinematics, blend shapes, and skeletal poses. We’ll also show you how to use built-in and custom actions, sequence your actions, apply triggers, and implement natural movements.","tags":[],"title":"Compose interactive 3D content in Reality Composer Pro","url":"\/documentation\/wwdc24-10102-compose-interactive-3d-content-in-reality-composer-pro\/"},{"category":"","section":"documentation","slug":"wwdc24-10101-explore-object-tracking-for-visionos","summary":"Find out how you can use object tracking to turn real-world objects into virtual anchors in your visionOS app. Learn how you can build spatial experiences with object tracking from start to finish. Find out how to create a reference object using machine learning in Create ML and attach content relative to your target object in Reality Composer Pro, RealityKit or ARKit APIs.","tags":[],"title":"Explore object tracking for visionOS","url":"\/documentation\/wwdc24-10101-explore-object-tracking-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10100-create-enhanced-spatial-computing-experiences-with-arkit","summary":"Learn how to create captivating immersive experiences with ARKit’s latest features. Explore ways to use room tracking and object tracking to further engage with your surroundings. We’ll also share how your app can react to changes in your environment’s lighting on this platform. Discover improvements in hand tracking and plane detection which can make your spatial experiences more intuitive.","tags":[],"title":"Create enhanced spatial computing experiences with ARKit","url":"\/documentation\/wwdc24-10100-create-enhanced-spatial-computing-experiences-with-arkit\/"},{"category":"","section":"documentation","slug":"wwdc24-101-keynote","summary":"Don’t miss the exciting reveal of the latest Apple software and technologies.","tags":[],"title":"Keynote","url":"\/documentation\/wwdc24-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc24-10098-design-live-activities-for-apple-watch","summary":"Starting in watchOS 11, Live Activities from your iOS app will automatically appear in the Smart Stack on a connected Apple Watch. Learn how to optimize the layout of your Live Activity for the wrist, and provide the right level of information and interactivity at the right time.","tags":[],"title":"Design Live Activities for Apple Watch","url":"\/documentation\/wwdc24-10098-design-live-activities-for-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc24-10097-unlock-the-power-of-places-with-mapkit","summary":"Discover powerful new ways to integrate maps into your apps and websites with MapKit and MapKit JS.  Learn how to save and reference unique places using Place ID. Check out improvements to search that make it more efficient to find relevant places.  Get introduced to the new Place Card API that lets you display rich information about places so customers can explore destinations right in your app. And, we’ll show you quick ways to embed maps in your website with our simplified token provisioning and Web Embed API.","tags":[],"title":"Unlock the power of places with MapKit","url":"\/documentation\/wwdc24-10097-unlock-the-power-of-places-with-mapkit\/"},{"category":"","section":"documentation","slug":"wwdc24-10096-design-interactive-experiences-for-visionos","summary":"Learn how you can design a compelling interactive narrative experience for Apple Vision Pro from the designers of Encounter Dinosaurs. Discover how these types of experiences differ from existing apps, media, and games, and explore how to design narratives that bring audiences into new worlds. Find out how you can create stories that adapt to any space and size, provide multiple levels of interaction to make them accessible to all, and use animation, spatial audio, and custom gestures to further immerse people in your experience.","tags":[],"title":"Design interactive experiences for visionOS","url":"\/documentation\/wwdc24-10096-design-interactive-experiences-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10094-explore-game-input-in-visionos","summary":"Discover how to design and implement great input for your game in visionOS. Learn how system gestures let you provide frictionless ways for players to interact with your games. And explore best practices for supporting custom gestures and game controllers.","tags":[],"title":"Explore game input in visionOS","url":"\/documentation\/wwdc24-10094-explore-game-input-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10093-bring-your-ios-or-ipados-game-to-visionos","summary":"Discover how to transform your iOS or iPadOS game into a uniquely visionOS experience. Increase the immersion (and fun factor!) with a 3D frame or an immersive background. And invite players further into your world by adding depth to the window with stereoscopy or head tracking.","tags":[],"title":"Bring your iOS or iPadOS game to visionOS","url":"\/documentation\/wwdc24-10093-bring-your-ios-or-ipados-game-to-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10092-render-metal-with-passthrough-in-visionos","summary":"Get ready to extend your Metal experiences for visionOS. Learn best practices for integrating your rendered content with people’s physical environments with passthrough. Find out how to position rendered content to match the physical world, reduce latency with trackable anchor prediction, and more.","tags":[],"title":"Render Metal with passthrough in visionOS","url":"\/documentation\/wwdc24-10092-render-metal-with-passthrough-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10091-meet-tabletopkit-for-visionos","summary":"Build a board game for visionOS from scratch using TabletopKit. We’ll show you how to set up your game, add powerful rendering using RealityKit, and enable multiplayer using spatial Personas in FaceTime with only a few extra lines of code.","tags":[],"title":"Meet TabletopKit for visionOS","url":"\/documentation\/wwdc24-10091-meet-tabletopkit-for-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10089-port-advanced-games-to-apple-platforms","summary":"Discover how simple it can be to reach players on Apple platforms worldwide. We’ll show you how to evaluate your Windows executable on Apple silicon, start your game port with code samples, convert your shader code to Metal, and bring your game to Mac, iPhone, and iPad. Explore enhanced Metal tools that understand HLSL shaders to validate, debug, and profile your ported shaders on Metal.","tags":[],"title":"Port advanced games to Apple platforms","url":"\/documentation\/wwdc24-10089-port-advanced-games-to-apple-platforms\/"},{"category":"","section":"documentation","slug":"wwdc24-10088-capture-hdr-content-with-screencapturekit","summary":"Learn how to capture high dynamic colors using ScreenCaptureKit, and explore new features like HDR support, microphone capture, and straight-to-file recording.","tags":[],"title":"Capture HDR content with ScreenCaptureKit","url":"\/documentation\/wwdc24-10088-capture-hdr-content-with-screencapturekit\/"},{"category":"","section":"documentation","slug":"wwdc24-10087-create-custom-environments-for-your-immersive-apps-in-visionos","summary":"Discover how to create visually rich and performant customized app environments for Apple Vision Pro. Learn design guidelines, get expert recommendations, and explore techniques you can use in any digital content creation tool to begin building your immersive environment.","tags":[],"title":"Create custom environments for your immersive apps in visionOS","url":"\/documentation\/wwdc24-10087-create-custom-environments-for-your-immersive-apps-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10086-design-great-visionos-apps","summary":"Find out how to create compelling spatial computing apps by embracing immersion, designing for eyes and hands, and taking advantage of depth, scale, and space. We’ll share several examples of great visionOS apps and explore how their designers approached creating new experiences for the platform.","tags":[],"title":"Design great visionOS apps","url":"\/documentation\/wwdc24-10086-design-great-visionos-apps\/"},{"category":"","section":"documentation","slug":"wwdc24-10085-design-advanced-games-for-apple-platforms","summary":"Learn how to adapt your high-end game so it feels at home on Mac, iPad, and iPhone. We’ll go over how to make your game look stunning on different displays, tailor your input and controls to be intuitive on each device, and take advantage of Apple technologies that deliver great player experiences.","tags":[],"title":"Design advanced games for Apple platforms","url":"\/documentation\/wwdc24-10085-design-advanced-games-for-apple-platforms\/"},{"category":"","section":"documentation","slug":"wwdc24-10084-build-custom-swimming-workouts-with-workoutkit","summary":"Check out the latest in creating, customizing, and scheduling workouts using WorkoutKit. Sprint through the latest in pace and power alerts and expanded support for distance goals. And keep the momentum going with the benefits of custom step names.","tags":[],"title":"Build custom swimming workouts with WorkoutKit","url":"\/documentation\/wwdc24-10084-build-custom-swimming-workouts-with-workoutkit\/"},{"category":"","section":"documentation","slug":"wwdc24-10083-get-started-with-healthkit-in-visionos","summary":"Discover how to use HealthKit to create experiences that take full advantage of the spatial canvas. Learn the capabilities of HealthKit on the platform, find out how to bring an existing iPadOS app to visionOS, and explore the special considerations governing HealthKit during a Guest User session. You’ll also learn ways to use SwiftUI, Swift Charts, and Swift concurrency to craft innovative experiences with HealthKit.","tags":[],"title":"Get started with HealthKit in visionOS","url":"\/documentation\/wwdc24-10083-get-started-with-healthkit-in-visionos\/"},{"category":"","section":"documentation","slug":"wwdc24-10075-track-model-changes-with-swiftdata-history","summary":"Reveal the history of your model’s changes with SwiftData! Use the history API to understand when data store changes occurred, and learn how to use this information to build features like remote server sync and out-of-process change handing in your app. We’ll also cover how you can build support for the history API into a custom data store.","tags":[],"title":"Track model changes with SwiftData history","url":"\/documentation\/wwdc24-10075-track-model-changes-with-swiftdata-history\/"},{"category":"","section":"documentation","slug":"wwdc24-10074-get-started-with-dynamic-type","summary":"Dynamic Type lets people choose their preferred text size across the system and all of their apps. To help you get started supporting Dynamic Type, we’ll cover the fundamentals: How it works, how to find issues with scaling text in your app, and how to take practical steps using SwiftUI and UIKit to create a great Dynamic Type experience. We’ll also show how you can best use the Large Content Viewer to make navigation controls accessible to everyone.","tags":[],"title":"Get started with Dynamic Type","url":"\/documentation\/wwdc24-10074-get-started-with-dynamic-type\/"},{"category":"","section":"documentation","slug":"wwdc24-10073-catch-up-on-accessibility-in-swiftui","summary":"SwiftUI makes it easy to build amazing experiences that are accessible to everyone. We’ll discover how assistive technologies understand and navigate your app through the rich accessibility elements provided by SwiftUI. We’ll also discuss how you can further customize these experiences by providing more information about your app’s content and interactions by using accessibility modifiers.","tags":[],"title":"Catch up on accessibility in SwiftUI","url":"\/documentation\/wwdc24-10073-catch-up-on-accessibility-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc24-10070-customize-feature-discovery-with-tipkit","summary":"Focused on feature discovery, the TipKit framework makes it easy to display tips in your app. Now you can group tips so features are discovered in the ideal order, make tips reusable with custom tip identifiers, match the look and feel to your app, and sync tips using CloudKit. Learn how you can use the latest advances in TipKit to help people discover everything your app has to offer.","tags":[],"title":"Customize feature discovery with TipKit","url":"\/documentation\/wwdc24-10070-customize-feature-discovery-with-tipkit\/"},{"category":"","section":"documentation","slug":"wwdc24-10069-broadcast-updates-to-your-live-activities","summary":"With broadcast push notifications, your app can send updates to thousands of Live Activities with a single request. We’ll discover how broadcast push notifications work between an app, a server, and the Apple Push Notification service, then we’ll walk through best practices for this capability and how to implement it.","tags":[],"title":"Broadcast updates to your Live Activities","url":"\/documentation\/wwdc24-10069-broadcast-updates-to-your-live-activities\/"},{"category":"","section":"documentation","slug":"wwdc24-10068-bring-your-live-activity-to-apple-watch","summary":"Bring Live Activities into the Smart Stack on Apple Watch with iOS 18 and watchOS 11. We’ll cover how Live Activities are presented on Apple Watch, as well as how you can enhance their presentation for the Smart Stack. We’ll also explore additional considerations to ensure Live Activities on Apple Watch always present up-to-date information.","tags":[],"title":"Bring your Live Activity to Apple Watch","url":"\/documentation\/wwdc24-10068-bring-your-live-activity-to-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc24-10067-bring-context-to-todays-weather","summary":"Harness the power of WeatherKit to get detailed weather forecast data such as precipitation amounts by type, cloud cover by altitude, or maximum wind speed. Find out how you can summarize weather by different parts of the day and highlight significant upcoming changes to temperature or precipitation. Understand how you can compare current weather to the past through our Historical Comparisons dataset and dive into historical weather statistics for any location in the world. We’ll also explore how you can do all of this faster with our Swift and REST APIs.","tags":[],"title":"Bring context to today’s weather","url":"\/documentation\/wwdc24-10067-bring-context-to-todays-weather\/"},{"category":"","section":"documentation","slug":"wwdc24-10066-build-immersive-web-experiences-with-webxr","summary":"Discover how WebXR empowers you to add fully immersive experiences to your website in visionOS. Find out how to build WebXR experiences that take full advantage of the input capabilities of visionOS, and learn how you can use Simulator to test WebXR experiences on macOS.","tags":[],"title":"Build immersive web experiences with WebXR","url":"\/documentation\/wwdc24-10066-build-immersive-web-experiences-with-webxr\/"},{"category":"","section":"documentation","slug":"wwdc24-10065-optimize-for-the-spatial-web","summary":"Discover how to make the most of visionOS capabilities on the web. Explore recent updates like improvements to selection highlighting, and the ability to present spatial photos and panorama images in fullscreen. Learn to take advantage of existing web standards for dictation and text-to-speech with WebSpeech, spatial soundscapes with WebAudio, and immersive experiences with WebXR.","tags":[],"title":"Optimize for the spatial web","url":"\/documentation\/wwdc24-10065-optimize-for-the-spatial-web\/"},{"category":"","section":"documentation","slug":"wwdc24-10063-whats-new-in-app-store-connect","summary":"Explore new features for discovery, testing, and marketing. Find out how to nominate your apps for featuring on the App Store, share exciting moments (like a version launch) with marketing assets generated for you, deep link to specific content in your app from custom product pages, use the latest enhancements to TestFlight, and more.","tags":[],"title":"What’s new in App Store Connect","url":"\/documentation\/wwdc24-10063-whats-new-in-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc24-10062-explore-app-store-server-apis-for-inapp-purchase","summary":"Learn how to leverage your server to build great In-App Purchase experiences with the latest updates to the App Store Server API, App Store Server Notifications, and the open source App Store Server Library. After a recap of current APIs, we’ll introduce updated endpoint functionality, new transaction fields, and a new notification type. We’ll also discuss best practices for the purchase lifecycle, delivering content, and targeting offers, so you can become a server power user.","tags":[],"title":"Explore App Store server APIs for In-App Purchase","url":"\/documentation\/wwdc24-10062-explore-app-store-server-apis-for-inapp-purchase\/"},{"category":"","section":"documentation","slug":"wwdc24-10061-whats-new-in-storekit-and-inapp-purchase","summary":"Learn how to build and deliver even better purchase experiences using the App Store In-App Purchase system. We’ll demo new StoreKit views control styles and new APIs to improve your subscription customization, discuss new fields for transaction-level information, and explore new testability in Xcode. We’ll also review an important StoreKit deprecation.","tags":[],"title":"What’s new in StoreKit and In-App Purchase","url":"\/documentation\/wwdc24-10061-whats-new-in-storekit-and-inapp-purchase\/"},{"category":"","section":"documentation","slug":"wwdc24-10060-meet-adattributionkit","summary":"Introducing AdAttributionKit, a new iOS framework for privacy-preserving ad attribution. Learn how AdAttributionKit supports re-engagement, click-through attribution (including support for custom creative), JWS formatted impressions and postbacks, and more. We’ll provide insight into testing your AdAttributionKit implementation and deep-dive into code snippets and best practices for adopting AdAttributionKit.","tags":[],"title":"Meet AdAttributionKit","url":"\/documentation\/wwdc24-10060-meet-adattributionkit\/"},{"category":"","section":"documentation","slug":"wwdc24","summary":"Xcode 16, Swift 6, iOS 18, macOS 15 (Sequoia), tvOS 18, visionOS 2, watchOS 11. New APIs: Swift Testing, `FinanceKit`, `TabletopKit`, and more.","tags":[],"title":"WWDC24","url":"\/documentation\/wwdc24\/"},{"category":"","section":"documentation","slug":"wwdc23-111241-explore-3d-body-pose-and-person-segmentation-in-vision","summary":"Discover how to build person-centric features with Vision. Learn how to detect human body poses and measure individual joint locations in 3D space. We’ll also show you how to take advantage of person segmentation APIs to distinguish and segment up to four individuals in an image.","tags":[],"title":"Explore 3D body pose and person segmentation in Vision","url":"\/documentation\/wwdc23-111241-explore-3d-body-pose-and-person-segmentation-in-vision\/"},{"category":"","section":"documentation","slug":"wwdc23-111215-meet-uikit-for-spatial-computing","summary":"Learn how to bring your UIKit app to visionOS. We’ll show you how to build for a new destination, explore APIs and best practices for spatial computing, and take your content into the third dimension when you use SwiftUI with UIKit in visionOS.","tags":[],"title":"Meet UIKit for spatial computing","url":"\/documentation\/wwdc23-111215-meet-uikit-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10309-design-widgets-for-the-smart-stack-on-apple-watch","summary":"Bring your widgets to watchOS with the new Smart Stack. We’ll show you how to use standard design layouts, color and iconography, and signal-based relevancy to ensure your app’s widgets are glanceable, distinctive and smart.","tags":[],"title":"Design widgets for the Smart Stack on Apple Watch","url":"\/documentation\/wwdc23-10309-design-widgets-for-the-smart-stack-on-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc23-10304-integrate-with-motorized-iphone-stands-using-dockkit","summary":"Discover how you can create incredible photo and video experiences in your camera app when integrating with DockKit-compatible motorized stands. We’ll show how your app can automatically track subjects in live video across a 360-degree field of view, take direct control of the stand to customize framing, directly control the motors, and provide your own inference model for tracking other objects. Finally, we’ll demonstrate how to create a sense of emotion through dynamic device animations.","tags":[],"title":"Integrate with motorized iPhone stands using DockKit","url":"\/documentation\/wwdc23-10304-integrate-with-motorized-iphone-stands-using-dockkit\/"},{"category":"","section":"documentation","slug":"wwdc23-10281-keep-up-with-the-keyboard","summary":"Each year, the keyboard evolves to support an increasing range of languages, sizes, and features. Discover how you can design your app to keep up with the keyboard, regardless of how it appears on a device. We’ll show you how to create frictionless text entry and share important architectural changes to help you understand how the keyboard works within the system.","tags":[],"title":"Keep up with the keyboard","url":"\/documentation\/wwdc23-10281-keep-up-with-the-keyboard\/"},{"category":"","section":"documentation","slug":"wwdc23-10279-meet-safari-for-spatial-computing","summary":"Discover the web for visionOS and learn how people can experience your web content in a whole new way. Explore the unique input model powering this platform and learn how you can optimize your website for spatial computing. We’ll also share how emerging standards are helping shape 3D experiences for the web.","tags":[],"title":"Meet Safari for spatial computing","url":"\/documentation\/wwdc23-10279-meet-safari-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10278-create-practical-workflows-in-xcode-cloud","summary":"Learn how Xcode Cloud can help teams of all shapes and sizes in their development process. We’ll share different ways to configure actions to help you create simple yet powerful workflows, and show you how to extend Xcode Cloud when you integrate with additional tools.","tags":[],"title":"Create practical workflows in Xcode Cloud","url":"\/documentation\/wwdc23-10278-create-practical-workflows-in-xcode-cloud\/"},{"category":"","section":"documentation","slug":"wwdc23-10275-explore-airplay-with-interstitials","summary":"Learn how you can use HLS Interstitials with AirPlay to create seamless transitions for your video content between advertisements. We’ll share best practices and tips for creating a great experience when sharing content from Apple devices to popular smart TVs.","tags":[],"title":"Explore AirPlay with interstitials","url":"\/documentation\/wwdc23-10275-explore-airplay-with-interstitials\/"},{"category":"","section":"documentation","slug":"wwdc23-10274-create-3d-models-for-quick-look-spatial-experiences","summary":"Discover best practices when creating 3D content for Quick Look on visionOS. We’ll explore a few different ways to prepare your models for Quick Look, cover important considerations for 3D quality and performance, and show you how to use Reality Composer Pro and Reality Trace to inspect and fine-tune your content.","tags":[],"title":"Create 3D models for Quick Look spatial experiences","url":"\/documentation\/wwdc23-10274-create-3d-models-for-quick-look-spatial-experiences\/"},{"category":"","section":"documentation","slug":"wwdc23-10273-work-with-reality-composer-pro-content-in-xcode","summary":"Learn how to bring content from Reality Composer Pro to life in Xcode. We’ll show you how to load 3D scenes into Xcode, integrate your content with your code, and add interactivity to your app. We’ll also share best practices and tips for using these tools together in your development workflow.","tags":[],"title":"Work with Reality Composer Pro content in Xcode","url":"\/documentation\/wwdc23-10273-work-with-reality-composer-pro-content-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc23-10271-explore-immersive-sound-design","summary":"Discover how you can use sound to enhance the experience of your visionOS apps and games. Learn how Apple designers select sounds and build soundscapes to create textural, immersive experiences. We’ll share how you can enrich basic interactions in your app with sound when you place audio cues spatially, vary repetitive sounds, and build moments of sonic delight into your app.","tags":[],"title":"Explore immersive sound design","url":"\/documentation\/wwdc23-10271-explore-immersive-sound-design\/"},{"category":"","section":"documentation","slug":"wwdc23-10268-meet-mergeable-libraries","summary":"Discover how mergeable libraries combine the best parts of static and dynamic libraries to help improve your app’s productivity and runtime performance. Learn how you can enable faster development while shipping the smallest app. We’ll show you how to adopt mergeable libraries in Xcode 15 and share best practices for working with your code.","tags":[],"title":"Meet mergeable libraries","url":"\/documentation\/wwdc23-10268-meet-mergeable-libraries\/"},{"category":"","section":"documentation","slug":"wwdc23-10266-protect-your-mac-app-with-environment-constraints","summary":"Learn how to improve the security of your Mac app by adopting environment constraints. We’ll show you how to set limits on how processes are launched, make sure your Launch Agents and Launch Daemons aren’t tampered with, and prevent unwanted code from running in your address space.","tags":[],"title":"Protect your Mac app with environment constraints","url":"\/documentation\/wwdc23-10266-protect-your-mac-app-with-environment-constraints\/"},{"category":"","section":"documentation","slug":"wwdc23-10263-deploy-passkeys-at-work","summary":"Discover how you can take advantage of passkeys in managed environments at work. We’ll explore how passkeys can work well in enterprise environments through Managed Apple ID support for iCloud Keychain. We’ll also share how administrators can manage passkeys for specific devices using Access Management controls in Apple Business Manager and Apple School Manager.","tags":[],"title":"Deploy passkeys at work","url":"\/documentation\/wwdc23-10263-deploy-passkeys-at-work\/"},{"category":"","section":"documentation","slug":"wwdc23-10262-rediscover-safari-developer-features","summary":"Get ready to explore Safari’s rich set of tools for web developers and designers. Learn how you can inspect web content, find out about Responsive Design Mode and WebDriver, and get started with simulators and devices. We’ll also show you how to pair with Vision Pro, make content inspectable in your apps, and use Open with Simulator in Responsive Design Mode to help you test your websites on any device.","tags":[],"title":"Rediscover Safari developer features","url":"\/documentation\/wwdc23-10262-rediscover-safari-developer-features\/"},{"category":"","section":"documentation","slug":"wwdc23-10260-get-started-with-building-apps-for-spatial-computing","summary":"Get ready to develop apps and games for visionOS! Discover the fundamental building blocks that make up spatial computing — windows, volumes, and spaces — and find out how you can use these elements to build engaging and immersive experiences.","tags":[],"title":"Get started with building apps for spatial computing","url":"\/documentation\/wwdc23-10260-get-started-with-building-apps-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10258-animate-symbols-in-your-app","summary":"Bring delight to your app with animated symbols. Explore the new Symbols framework, which features a unified API to create and configure symbol effects. Learn how SwiftUI, AppKit, and UIKit make it easy to animate symbols in user interfaces. Discover tips and tricks to seamlessly integrate the new animations alongside other app content. To get the most from this session, we recommend first watching “What’s new in SF Symbols 5.”","tags":[],"title":"Animate symbols in your app","url":"\/documentation\/wwdc23-10258-animate-symbols-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10257-create-animated-symbols","summary":"Discover animation presets and learn how to use them with SF Symbols and custom symbols. We’ll show you how to experiment with different options and configurations to find the perfect animation for your app. Learn how to update custom symbols for animation using annotation features, find out how to modify your custom symbols with symbol components, and explore the redesigned export process to help keep symbols looking great on all platforms.","tags":[],"title":"Create animated symbols","url":"\/documentation\/wwdc23-10257-create-animated-symbols\/"},{"category":"","section":"documentation","slug":"wwdc23-10256-discover-continuity-camera-for-tvos","summary":"Discover how you can bring AVFoundation, AVFAudio, and AudioToolbox to your apps on tvOS and create camera and microphone experiences for the living room. Find out how to support tvOS in your existing iOS camera experience with the Device Discovery API, build apps that use iPhone as a webcam or FaceTime source, and explore special considerations when developing for tvOS. We’ll also show you how to enable audio recording for tvOS, and how to use echo cancellation to create great voice-driven experiences.","tags":[],"title":"Discover Continuity Camera for tvOS","url":"\/documentation\/wwdc23-10256-discover-continuity-camera-for-tvos\/"},{"category":"","section":"documentation","slug":"wwdc23-10254-do-more-with-managed-apple-ids","summary":"Explore the latest updates to Managed Apple IDs and learn how you can use them in your organization. Take advantage of additional apps and services available to Managed Apple IDs, discover the Account-Driven Device Enrollment flow, and find out how to use access management controls to limit the devices and Apple services that Managed Apple IDs can access. We’ll also show you how to federate with your identity provider to automate creation and sync with your directory.","tags":[],"title":"Do more with Managed Apple IDs","url":"\/documentation\/wwdc23-10254-do-more-with-managed-apple-ids\/"},{"category":"","section":"documentation","slug":"wwdc23-10252-build-programmatic-ui-with-xcode-previews","summary":"Learn how you can use the #Preview macro on Xcode 15 to quickly iterate on your UI code written in SwiftUI, UIKit, or AppKit. Explore a collage of unique workflows for interacting with views right in the canvas, find out how to view multiple variations of UI simultaneously, and discover how you can travel through your widget’s timeline in seconds to test the transitions between entries. We’ll also show you how to add previews to libraries, provide sample assets, and preview your views in your physical devices to leverage their capabilities and existing data.","tags":[],"title":"Build programmatic UI with Xcode Previews","url":"\/documentation\/wwdc23-10252-build-programmatic-ui-with-xcode-previews\/"},{"category":"","section":"documentation","slug":"wwdc23-10250-prototype-with-xcode-playgrounds","summary":"Speed up feature development by prototyping new code with Xcode Playgrounds, eliminating the need to keep rebuilding and relaunching your project to verify your changes. We’ll show you how using a playground in your project or package can help you try out your code in various scenarios and take a close look at the returned values, including complex structures and user interface elements, so you can quickly iterate on a feature before integrating it into your project.","tags":[],"title":"Prototype with Xcode Playgrounds","url":"\/documentation\/wwdc23-10250-prototype-with-xcode-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc23-10248-analyze-hangs-with-instruments","summary":"User interface elements often mimic real-world interactions, including real-time responses. Apps with a noticeable delay in user interaction — a hang — can break that illusion and create frustration. We’ll show you how to use Instruments to analyze, understand, and fix hangs in your apps on all Apple platforms. Discover how you can efficiently navigate an Instruments trace document, interpret trace data, and record additional profiling data to better understand your specific hang.","tags":[],"title":"Analyze hangs with Instruments","url":"\/documentation\/wwdc23-10248-analyze-hangs-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc23-10244-create-rich-documentation-with-swiftdocc","summary":"Learn how you can take advantage of the latest features in Swift-DocC to create rich and detailed documentation for your app or framework. We’ll show you how to use the Xcode 15 Documentation Preview editor to efficiently iterate on your existing project’s documentation, and explore expanded authoring capabilities like grid-based layouts, video support, and custom themes.","tags":[],"title":"Create rich documentation with Swift-DocC","url":"\/documentation\/wwdc23-10244-create-rich-documentation-with-swiftdocc\/"},{"category":"","section":"documentation","slug":"wwdc23-10241-share-files-with-shareplay","summary":"Discover how to work with files and attachments in a SharePlay activity. We’ll explain how to use the GroupSessionJournal API to sync large amounts of data faster and show you how to adopt it in a demo of the sample app DrawTogether.","tags":[],"title":"Share files with SharePlay","url":"\/documentation\/wwdc23-10241-share-files-with-shareplay\/"},{"category":"","section":"documentation","slug":"wwdc23-10239-add-shareplay-to-your-app","summary":"Discover how your app can take advantage of SharePlay to turn any activity into a shareable experience with friends! We’ll share the latest updates to SharePlay, explore the benefits of creating shared activities, dive into some exciting use cases, and take you through best practices to create engaging and fun moments of connection in your app.","tags":[],"title":"Add SharePlay to your app","url":"\/documentation\/wwdc23-10239-add-shareplay-to-your-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10238-tune-up-your-airplay-audio-experience","summary":"Learn how you can upgrade your app’s AirPlay audio experience to be more robust and responsive. We’ll show you how to adopt enhanced audio buffering with AVQueuePlayer, explore alternatives when building a custom player in your app, and share best practices.","tags":[],"title":"Tune up your AirPlay audio experience","url":"\/documentation\/wwdc23-10238-tune-up-your-airplay-audio-experience\/"},{"category":"","section":"documentation","slug":"wwdc23-10235-whats-new-in-voice-processing","summary":"Learn how to use the Apple voice processing APIs to achieve the best possible audio experience in your VoIP apps. We’ll show you how to detect when someone is talking while muted, adjust ducking behavior of other audio, and more.","tags":[],"title":"What’s new in voice processing","url":"\/documentation\/wwdc23-10235-whats-new-in-voice-processing\/"},{"category":"","section":"documentation","slug":"wwdc23-10233-enhance-your-apps-audio-experience-with-airpods","summary":"Discover how you can create transformative audio experiences in your app using AirPods. Learn how to incorporate AirPods Automatic Switching, use AVAudioApplication to support Mute Control, and take advantage of Spatial Audio to create immersive soundscapes in your app or game.","tags":[],"title":"Enhance your app’s audio experience with AirPods","url":"\/documentation\/wwdc23-10233-enhance-your-apps-audio-experience-with-airpods\/"},{"category":"","section":"documentation","slug":"wwdc23-10229-make-features-discoverable-with-tipkit","summary":"Teach people how to use your app with TipKit! Learn how you can create effective educational moments through tips. We’ll share how you can build eligibility rules to reach the ideal audience, control tip frequency, and strategies for testing to ensure successful interactions.","tags":[],"title":"Make features discoverable with TipKit","url":"\/documentation\/wwdc23-10229-make-features-discoverable-with-tipkit\/"},{"category":"","section":"documentation","slug":"wwdc23-10226-debug-with-structured-logging","summary":"Discover the debug console in Xcode 15 and learn how you can improve your diagnostic experience through logging. Explore how you can navigate your logs easily and efficiently using advanced filtering and improved visualization. We’ll also show you how to use the dwim-print command to evaluate expressions in your code while debugging.","tags":[],"title":"Debug with structured logging","url":"\/documentation\/wwdc23-10226-debug-with-structured-logging\/"},{"category":"","section":"documentation","slug":"wwdc23-10224-simplify-distribution-in-xcode-and-xcode-cloud","summary":"Discover how to share your app using Xcode’s streamlined distribution, which allows you to submit your app to TestFlight or the App Store with one click. We’ll also show you how to use Xcode Cloud to simplify your distribution process by automatically including notes for testers in TestFlight, and use post-action to automatically notarize your Mac apps.","tags":[],"title":"Simplify distribution in Xcode and Xcode Cloud","url":"\/documentation\/wwdc23-10224-simplify-distribution-in-xcode-and-xcode-cloud\/"},{"category":"","section":"documentation","slug":"wwdc23-10203-develop-your-first-immersive-app","summary":"Find out how you can build immersive apps for visionOS using Xcode and Reality Composer Pro. We’ll show you how to get started with a new visionOS project, use Xcode Previews for your SwiftUI development, and take advantage of RealityKit and RealityView to render 3D content.","tags":[],"title":"Develop your first immersive app","url":"\/documentation\/wwdc23-10203-develop-your-first-immersive-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10202-explore-materials-in-reality-composer-pro","summary":"Learn how Reality Composer Pro can help you alter the appearance of your 3D objects using RealityKit materials. We’ll introduce you to MaterialX and physically-based (PBR) shaders, show you how to design dynamic materials using the shader graph editor, and explore adding custom inputs to a material so that you can control it in your visionOS app.","tags":[],"title":"Explore materials in Reality Composer Pro","url":"\/documentation\/wwdc23-10202-explore-materials-in-reality-composer-pro\/"},{"category":"","section":"documentation","slug":"wwdc23-102-platforms-state-of-the-union","summary":"Learn about the latest tools, technologies, and advancements to help you create even better apps across Apple platforms, including the all-new visionOS.","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc23-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc23-10197-whats-new-in-sf-symbols-5","summary":"Explore the latest updates to SF Symbols, Apple’s library of iconography designed to integrate seamlessly with San Francisco, the system font for Apple platforms. Learn about symbol animations: a collection of expressive, configurable animations that can make your interface feel more lively and improve user feedback. See how to draw for animation when creating your own custom symbols, and discover the latest additions to the SF Symbols library. To get the most out of this session, we recommend first watching “What’s new in SF Symbols 4” from WWDC22.","tags":[],"title":"What’s new in SF Symbols 5","url":"\/documentation\/wwdc23-10197-whats-new-in-sf-symbols-5\/"},{"category":"","section":"documentation","slug":"wwdc23-10196-dive-deeper-into-swiftdata","summary":"Learn how you can harness the power of SwiftData in your app. Find out how ModelContext and ModelContainer work together to persist your app’s data. We’ll show you how to track and make your changes manually and use SwiftData at scale with FetchDescriptor, SortDescriptor, and enumerate.","tags":[],"title":"Dive deeper into SwiftData","url":"\/documentation\/wwdc23-10196-dive-deeper-into-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc23-10195-model-your-schema-with-swiftdata","summary":"Learn how to use schema macros and migration plans with SwiftData to build more complex features for your app. We’ll show you how to fine-tune your persistence with @Attribute and @Relationship options. Learn how to exclude properties from your data model with @Transient and migrate from one version of your schema to the next with ease.","tags":[],"title":"Model your schema with SwiftData","url":"\/documentation\/wwdc23-10195-model-your-schema-with-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc23-10194-design-dynamic-live-activities","summary":"Live Activities allow your app to display live information in key system locations on iOS and iPadOS. Learn the best way to create graphically rich layouts that update seamlessly on the Lock Screen, in StandBy, and in the Dynamic Island. Incorporate interactivity and animation to help people stay in touch with live updating events from your app as they navigate outside of your app.","tags":[],"title":"Design dynamic Live Activities","url":"\/documentation\/wwdc23-10194-design-dynamic-live-activities\/"},{"category":"","section":"documentation","slug":"wwdc23-10193-design-shortcuts-for-spotlight","summary":"Learn about the latest updates to the visual language of App Shortcuts and find out how to design your shortcut to appear as a top hit in Spotlight. We’ll share how shortcuts can appear on iOS or iPadOS, and show you how to customize the visual appearance of a shortcut, personalize its order, select its correct behavior, and increase discoverability.","tags":[],"title":"Design Shortcuts for Spotlight","url":"\/documentation\/wwdc23-10193-design-shortcuts-for-spotlight\/"},{"category":"","section":"documentation","slug":"wwdc23-10192-explore-enhancements-to-roomplan","summary":"Join us for an exciting update to RoomPlan as we explore MultiRoom support and enhancements to room representations. Learn how you can scan areas with more detail, capture multiple rooms, and merge individual scans into one larger structure. We’ll also share workflows and best practices when working with RoomPlan results that you want to combine into your existing 3D model library.","tags":[],"title":"Explore enhancements to RoomPlan","url":"\/documentation\/wwdc23-10192-explore-enhancements-to-roomplan\/"},{"category":"","section":"documentation","slug":"wwdc23-10191-meet-object-capture-for-ios","summary":"Discover how you can offer an end-to-end Object Capture experience directly in your iOS apps to help people turn their objects into ready-to-use 3D models. Learn how you can create a fully automated Object Capture scan flow with our sample app and how you can assist people in automatically capturing the best content for their model. We’ll also discuss LiDAR data and provide best practices for scanning objects.","tags":[],"title":"Meet Object Capture for iOS","url":"\/documentation\/wwdc23-10191-meet-object-capture-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc23-10189-migrate-to-swiftdata","summary":"Discover how you can start using SwiftData in your apps. We’ll show you how to use Xcode to generate model classes from your existing Core Data object models, use SwiftData alongside your previous implementation, or even completely replace your existing solution.","tags":[],"title":"Migrate to SwiftData","url":"\/documentation\/wwdc23-10189-migrate-to-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc23-10188-sync-to-icloud-with-cksyncengine","summary":"Discover how CKSyncEngine can help you sync people’s CloudKit data to iCloud. Learn how you can reduce the amount of code in your app when you let the system handle scheduling for your sync operations. We’ll share how you can automatically benefit from enhanced performance as CloudKit evolves, explore testing for your sync implementation, and more.","tags":[],"title":"Sync to iCloud with CKSyncEngine","url":"\/documentation\/wwdc23-10188-sync-to-icloud-with-cksyncengine\/"},{"category":"","section":"documentation","slug":"wwdc23-10187-meet-swiftdata","summary":"SwiftData is a powerful and expressive persistence framework built for Swift. We’ll show you how you can model your data directly from Swift code, use SwiftData to work with your models, and integrate with SwiftUI.","tags":[],"title":"Meet SwiftData","url":"\/documentation\/wwdc23-10187-meet-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc23-10186-whats-new-in-core-data","summary":"Elevate your app’s data persistence with improvements in Core Data. Learn how you can use composite attributes to create more intuitive data models. We’ll also show you how to migrate your schema through disruptive changes, when to defer intense migrations, and how to avoid overhead on a person’s device.","tags":[],"title":"What’s new in Core Data","url":"\/documentation\/wwdc23-10186-whats-new-in-core-data\/"},{"category":"","section":"documentation","slug":"wwdc23-10185-update-live-activities-with-push-notifications","summary":"Discover how you can remotely update Live Activities in your app when you push content through Apple Push Notification service (APNs). We’ll show you how to configure your first Live Activity push locally so you can quickly iterate on your implementation. Learn best practices for determining your push priority and configuring alerting updates, and explore how to further improve your Live Activities with relevance score and stale date.","tags":[],"title":"Update Live Activities with push notifications","url":"\/documentation\/wwdc23-10185-update-live-activities-with-push-notifications\/"},{"category":"","section":"documentation","slug":"wwdc23-10184-meet-activitykit","summary":"Live Activities are a glanceable way for someone to keep track of the progress of a task within your app. We’ll teach you how you can create helpful experiences for the Lock Screen, the Dynamic Island, and StandBy. Learn how to update your app’s Live Activities, monitor activity state, and take advantage of WidgetKit and SwiftUI to build richer experiences.","tags":[],"title":"Meet ActivityKit","url":"\/documentation\/wwdc23-10184-meet-activitykit\/"},{"category":"","section":"documentation","slug":"wwdc23-10181-support-hdr-images-in-your-app","summary":"Learn how to identify, load, display, and create High Dynamic Range (HDR) still images in your app. Explore common HDR concepts and find out about the latest updates to the ISO specification. Learn how to identify and display HDR images with SwiftUI and UIKit, create them from ProRAW and RAW captures, and display them in CALayers. We’ll also take you through CoreGraphics support for ISO HDR and share best practices for HDR adoption.","tags":[],"title":"Support HDR images in your app","url":"\/documentation\/wwdc23-10181-support-hdr-images-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10180-discover-streamlined-location-updates","summary":"Move into the future with Core Location! Meet the CLLocationUpdate class, designed for modern Swift concurrency, and learn how it simplifies getting location updates. We’ll show you how this class works with your apps when they run in the foreground or background and share some best practices.","tags":[],"title":"Discover streamlined location updates","url":"\/documentation\/wwdc23-10180-discover-streamlined-location-updates\/"},{"category":"","section":"documentation","slug":"wwdc23-10179-whats-new-in-core-motion","summary":"Learn how you can use the latest Core Motion updates to expand how your app uses motion data. Discover how to stream higher-frequency sensor data when recording a HealthKit workout on Apple Watch. We’ll show you how you can get submersion data — including water depth and temperature — during water-based activities like snorkeling. Find out how to stream motion data like attitude, user acceleration, and rotation rate from audio devices like AirPods to connected devices like iPhone and Mac.","tags":[],"title":"What’s new in Core Motion","url":"\/documentation\/wwdc23-10179-whats-new-in-core-motion\/"},{"category":"","section":"documentation","slug":"wwdc23-10178-whats-new-in-app-clips","summary":"Explore the latest updates to App Clips. We’ll show you how to build App Clips more easily using default App Clip links. Learn how you can take advantage of the increased App Clip size limit to build richer and more engaging experiences, and find out how you can launch App Clips directly from your app.","tags":[],"title":"What’s new in App Clips","url":"\/documentation\/wwdc23-10178-whats-new-in-app-clips\/"},{"category":"","section":"documentation","slug":"wwdc23-10176-lift-subjects-from-images-in-your-app","summary":"Discover how you can easily pull the subject of an image from its background in your apps. Learn how to lift the primary subject or to access the subject at a given point with VisionKit. We’ll also share how you can lift subjects using Vision and combine that with lower-level frameworks like Core Image to create fun image effects and more complex compositing pipelines.","tags":[],"title":"Lift subjects from images in your app","url":"\/documentation\/wwdc23-10176-lift-subjects-from-images-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10175-fix-failures-faster-with-xcode-test-reports","summary":"Discover how you can find, debug, and fix test failures faster with the test report in Xcode and Xcode Cloud. Learn how Xcode identifies failure patterns to help you find the right place to start investigating. We’ll also show you how to use the UI automation explorer and video recordings to understand the events that led up to your UI test failure.","tags":[],"title":"Fix failures faster with Xcode test reports","url":"\/documentation\/wwdc23-10175-fix-failures-faster-with-xcode-test-reports\/"},{"category":"","section":"documentation","slug":"wwdc23-10172-mix-swift-and-c","summary":"Learn how you can use Swift in your C++ and Objective-C++ projects to make your code safer, faster, and easier to develop. We’ll show you how to use C++ and Swift APIs to incrementally incorporate Swift into your app.","tags":[],"title":"Mix Swift and C++","url":"\/documentation\/wwdc23-10172-mix-swift-and-c\/"},{"category":"","section":"documentation","slug":"wwdc23-10171-meet-swift-openapi-generator","summary":"Discover how Swift OpenAPI Generator can help you work with HTTP server APIs whether you’re extending an iOS app or writing a server in Swift. We’ll show you how this package plugin can streamline your workflow and simplify your codebase by generating code from an OpenAPI document.","tags":[],"title":"Meet Swift OpenAPI Generator","url":"\/documentation\/wwdc23-10171-meet-swift-openapi-generator\/"},{"category":"","section":"documentation","slug":"wwdc23-10170-beyond-the-basics-of-structured-concurrency","summary":"It’s all about the task tree: Find out how structured concurrency can help your apps manage automatic task cancellation, task priority propagation, and useful task-local value patterns. Learn how to manage resources in your app with useful patterns and the latest task group APIs. We’ll show you how you can leverage the power of the task tree and task-local values to gain insight into distributed systems.","tags":[],"title":"Beyond the basics of structured concurrency","url":"\/documentation\/wwdc23-10170-beyond-the-basics-of-structured-concurrency\/"},{"category":"","section":"documentation","slug":"wwdc23-10168-generalize-apis-with-parameter-packs","summary":"Swift parameter packs are a powerful tool to expand what is possible in your generic code while also enabling you to simplify common generic patterns. We’ll show you how to abstract over types as well as the number of arguments in generic code and simplify common generic patterns to avoid overloads.","tags":[],"title":"Generalize APIs with parameter packs","url":"\/documentation\/wwdc23-10168-generalize-apis-with-parameter-packs\/"},{"category":"","section":"documentation","slug":"wwdc23-10167-expand-on-swift-macros","summary":"Discover how Swift macros can help you reduce boilerplate in your codebase and adopt complex features more easily. Learn how macros can analyze code, emit rich compiler errors to guide developers towards correct usage, and generate new code that is automatically incorporated back into your project. We’ll also take you through important concepts like macro roles, compiler plugins, and syntax trees.","tags":[],"title":"Expand on Swift macros","url":"\/documentation\/wwdc23-10167-expand-on-swift-macros\/"},{"category":"","section":"documentation","slug":"wwdc23-10166-write-swift-macros","summary":"Discover how you can use Swift macros to make your codebase more expressive and easier to read. Code along as we explore how macros can help you avoid writing repetitive code and find out how to use them in your app. We’ll share the building blocks of a macro, show you how to test it, and take you through how you can emit compilation errors from macros.","tags":[],"title":"Write Swift macros","url":"\/documentation\/wwdc23-10166-write-swift-macros\/"},{"category":"","section":"documentation","slug":"wwdc23-10165-whats-new-in-xcode-15","summary":"Discover the latest productivity and performance improvements in Xcode 15. Explore enhancements to code completion and Xcode Previews, learn about the test navigator and test report, and find out more about the streamlined distribution process. We’ll also highlight improved navigation, source control management, and debugging.","tags":[],"title":"What’s new in Xcode 15","url":"\/documentation\/wwdc23-10165-whats-new-in-xcode-15\/"},{"category":"","section":"documentation","slug":"wwdc23-10164-whats-new-in-swift","summary":"Join us for an update on Swift. We’ll show you how APIs are becoming more extensible and expressive with features like parameter packs and macros. We’ll also take you through improvements to interoperability and share how we’re expanding Swift’s performance and safety benefits everywhere from Foundation to large-scale distributed programs on the server.","tags":[],"title":"What’s new in Swift","url":"\/documentation\/wwdc23-10164-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc23-10162-the-swiftui-cookbook-for-focus","summary":"The SwiftUI team is back in the coding “kitchen” with powerful tools to shape your app’s focus experience. Join us and learn about the staple ingredients that support focus-driven interactions in your app. Discover focus interactions for custom views, find out about key-press handlers for keyboard input, and learn how to support movement and hierarchy with focus sections. We’ll also go through some tasty recipes for common focus patterns in your app.","tags":[],"title":"The SwiftUI cookbook for focus","url":"\/documentation\/wwdc23-10162-the-swiftui-cookbook-for-focus\/"},{"category":"","section":"documentation","slug":"wwdc23-10161-inspectors-in-swiftui-discover-the-details","summary":"Meet Inspectors — a structural API that can help bring a new level of detail to your apps. We’ll take you through the fundamentals of the API and show you how to adopt it. Learn about the latest updates to sheet presentation customizations and find out how you can combine the two to create perfect presentation experiences.","tags":[],"title":"Inspectors in SwiftUI: Discover the details","url":"\/documentation\/wwdc23-10161-inspectors-in-swiftui-discover-the-details\/"},{"category":"","section":"documentation","slug":"wwdc23-10160-demystify-swiftui-performance","summary":"Learn how you can build a mental model for performance in SwiftUI and write faster, more efficient code. We’ll share some of the common causes behind performance issues and help you triage hangs and hitches in SwiftUI to create more responsive views in your app.","tags":[],"title":"Demystify SwiftUI performance","url":"\/documentation\/wwdc23-10160-demystify-swiftui-performance\/"},{"category":"","section":"documentation","slug":"wwdc23-10159-beyond-scroll-views","summary":"Find out how you can take your scroll views to the next level with the latest APIs in SwiftUI. We’ll show you how to customize scroll views like never before. Explore the relationship between safe areas and a scroll view’s margins, learn how to interact with the content offset of a scroll view, and discover how you can add a bit of flair to your content with scroll transitions.","tags":[],"title":"Beyond scroll views","url":"\/documentation\/wwdc23-10159-beyond-scroll-views\/"},{"category":"","section":"documentation","slug":"wwdc23-10158-animate-with-springs","summary":"Discover how you can bring life to your app with animation! We’ll show you how to create amazing animations when you take advantage of springs and help you learn how to use them in your app.","tags":[],"title":"Animate with springs","url":"\/documentation\/wwdc23-10158-animate-with-springs\/"},{"category":"","section":"documentation","slug":"wwdc23-10157-wind-your-way-through-advanced-animations-in-swiftui","summary":"Discover how you can take animation to the next level with the latest updates to SwiftUI. Join us as we wind our way through animation and build out multiple steps, use keyframes to add coordinated multi-track animated effects, and combine APIs in unique ways to make your app spring to life.","tags":[],"title":"Wind your way through advanced animations in SwiftUI","url":"\/documentation\/wwdc23-10157-wind-your-way-through-advanced-animations-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc23-10156-explore-swiftui-animation","summary":"Explore SwiftUI’s powerful animation capabilities and find out how these features work together to produce impressive visual effects. Learn how SwiftUI refreshes the rendering of a view, determines what to animate, interpolates values over time, and propagates context for the current transaction.","tags":[],"title":"Explore SwiftUI animation","url":"\/documentation\/wwdc23-10156-explore-swiftui-animation\/"},{"category":"","section":"documentation","slug":"wwdc23-10155-discover-string-catalogs","summary":"Discover how Xcode 15 makes it easy to localize your app by managing all of your strings in one place. We’ll show you how to extract, edit, export, and build strings in your project using String Catalogs. We’ll also share how you can adopt String Catalogs in existing projects at your own pace by choosing which files to migrate.","tags":[],"title":"Discover String Catalogs","url":"\/documentation\/wwdc23-10155-discover-string-catalogs\/"},{"category":"","section":"documentation","slug":"wwdc23-10154-build-an-app-with-swiftdata","summary":"Discover how SwiftData can help you persist data in your app. Code along with us as we bring SwiftData to a multi-platform SwiftUI app. Learn how to convert existing model classes into SwiftData models, set up the environment, reflect model layer changes in UI, and build document-based applications backed by SwiftData storage.","tags":[],"title":"Build an app with SwiftData","url":"\/documentation\/wwdc23-10154-build-an-app-with-swiftdata\/"},{"category":"","section":"documentation","slug":"wwdc23-10153-unlock-the-power-of-grammatical-agreement","summary":"Discover how you can use automatic grammatical agreement in your apps and games to create inclusive and more natural-sounding expressions. We’ll share best practices for working with Foundation, showcase examples in multiple languages, and demonstrate how to use these APIs to enhance the user experience for your apps.","tags":[],"title":"Unlock the power of grammatical agreement","url":"\/documentation\/wwdc23-10153-unlock-the-power-of-grammatical-agreement\/"},{"category":"","section":"documentation","slug":"wwdc23-10150-optimize-carplay-for-vehicle-systems","summary":"Discover how you can integrate CarPlay into modern vehicle systems. We’ll show you how to adjust CarPlay for any high-resolution display — regardless of configuration or size. Learn how you can use CarPlay-supplied metadata and video streams to show information on additional displays, and find out how advances in wireless connectivity, audio, and video encoding can help prepare your vehicle system for the next generation of CarPlay.","tags":[],"title":"Optimize CarPlay for vehicle systems","url":"\/documentation\/wwdc23-10150-optimize-carplay-for-vehicle-systems\/"},{"category":"","section":"documentation","slug":"wwdc23-10149-discover-observation-in-swiftui","summary":"Simplify your SwiftUI data models with Observation. We’ll share how the Observable macro can help you simplify models and improve your app’s performance. Get to know Observation, learn the fundamentals of the macro, and find out how to migrate from ObservableObject to Observable.","tags":[],"title":"Discover Observation in SwiftUI","url":"\/documentation\/wwdc23-10149-discover-observation-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc23-10148-whats-new-in-swiftui","summary":"Learn how you can use SwiftUI to build great apps for all Apple platforms. Explore the latest updates to SwiftUI and discover new scene types for visionOS. Simplify your data models with the latest data flow options and learn about the Inspector view. We’ll also take you through enhanced animation APIs, powerful ScrollView improvements, and a host of refinements to help you make tidier tables, improve focus and keyboard input, and so much more.","tags":[],"title":"What’s new in SwiftUI","url":"\/documentation\/wwdc23-10148-whats-new-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc23-10147-meet-core-location-monitor","summary":"Discover how Core Location Monitor can help you better understand location and beacon events in your app. Learn how to use Core Location Conditions to describe and track the state of events in your app, and find out how you can better respond to transitions in your apps through Swift semantics and improved reliability.","tags":[],"title":"Meet Core Location Monitor","url":"\/documentation\/wwdc23-10147-meet-core-location-monitor\/"},{"category":"","section":"documentation","slug":"wwdc23-10146-meet-core-location-for-spatial-computing","summary":"Discover how Core Location helps your app find its place in the world — literally. We’ll share how you can build a spatial computing app that uses a person’s location while respecting their privacy. You’ll also learn how your app can request location access and how Core Location adapts requests from compatible iPad and iPhone apps.","tags":[],"title":"Meet Core Location for spatial computing","url":"\/documentation\/wwdc23-10146-meet-core-location-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10143-meet-the-app-store-server-library","summary":"Discover the App Store Server Library and learn how you can take advantage of resources and configurations for your apps. We’ll show you how to set up the library, call the App Store Server API, verify App Store Server Notifications, and use app receipts. Explore insights and best practices for using App Store Server API endpoints, verifying App Store signed data, and migrating away from verifyReceipt.","tags":[],"title":"Meet the App Store Server Library","url":"\/documentation\/wwdc23-10143-meet-the-app-store-server-library\/"},{"category":"","section":"documentation","slug":"wwdc23-10142-explore-testing-inapp-purchases","summary":"Learn how you can test in-app purchases throughout development with StoreKit Testing in Xcode, App Store sandbox, and TestFlight. Explore how each tool functions and how you can combine them to build the right workflow for testing your apps and games. We’ll also share a sneak preview of how you can test Family Sharing for in-app purchases & subscriptions in the App Store sandbox.","tags":[],"title":"Explore testing in-app purchases","url":"\/documentation\/wwdc23-10142-explore-testing-inapp-purchases\/"},{"category":"","section":"documentation","slug":"wwdc23-10141-whats-new-in-app-store-server-apis","summary":"Discover the latest updates to the App Store Server API and App Store Server Notifications. Explore the current API offerings and learn how to track subscription status with notifications, work with transactions on your server, and efficiently recover missed notifications. We’ll also show you how your server can support apps using StoreKit or StoreKit 2, and share an important deprecation in the API and suggested migration workflow.","tags":[],"title":"What’s new in App Store server APIs","url":"\/documentation\/wwdc23-10141-whats-new-in-app-store-server-apis\/"},{"category":"","section":"documentation","slug":"wwdc23-10140-whats-new-in-storekit-2-and-storekit-testing-in-xcode","summary":"Get to know the latest enhancements to StoreKit 2 and StoreKit Testing in Xcode. Discover API updates for promoted in-app purchases, StoreKit messages, the Transaction model, the RenewalInfo model, and the App Store sheet for managing subscriptions. Learn how to upgrade to SHA-256 for on-device receipt validation and use APIs to create SwiftUI views.","tags":[],"title":"What’s new in StoreKit 2 and StoreKit Testing in Xcode","url":"\/documentation\/wwdc23-10140-whats-new-in-storekit-2-and-storekit-testing-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc23-10138-design-and-build-apps-for-watchos-10","summary":"Dive into the details of watchOS design principles and learn how to apply them in your app using SwiftUI. We’ll show you how to build an app for the redesigned user interface to surface timely information, communicate focused content at a glance, and make navigation consistent and predictable.","tags":[],"title":"Design and build apps for watchOS 10","url":"\/documentation\/wwdc23-10138-design-and-build-apps-for-watchos-10\/"},{"category":"","section":"documentation","slug":"wwdc23-10137-support-cinematic-mode-videos-in-your-app","summary":"Discover how the Cinematic Camera API helps your app work with Cinematic mode videos captured in the Camera app. We’ll share the fundamentals — including Decision layers — that make up Cinematic mode video, show you how to access and update Decisions in your app, and help you save and load those changes.","tags":[],"title":"Support Cinematic mode videos in your app","url":"\/documentation\/wwdc23-10137-support-cinematic-mode-videos-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10136-whats-new-in-screencapturekit","summary":"Level up your screen sharing experience with the latest features in ScreenCaptureKit. Explore the built-in system picker, Presenter Overlay, and screenshot capabilities, and learn how to incorporate these features into your existing ScreenCaptureKit app or game.","tags":[],"title":"What’s new in ScreenCaptureKit","url":"\/documentation\/wwdc23-10136-whats-new-in-screencapturekit\/"},{"category":"","section":"documentation","slug":"wwdc23-10128-your-guide-to-metal-ray-tracing","summary":"Discover how you can enhance the visual quality of your games and apps with Metal ray tracing. We’ll take you through the fundamentals of the Metal ray tracing API. Explore the latest enhancements and techniques that will enable you to create larger and more complex scenes, reduce memory usage and build times, and efficiently render visual content like hair and fur.","tags":[],"title":"Your guide to Metal ray tracing","url":"\/documentation\/wwdc23-10128-your-guide-to-metal-ray-tracing\/"},{"category":"","section":"documentation","slug":"wwdc23-10127-optimize-gpu-renderers-with-metal","summary":"Discover how to optimize your GPU renderer using the latest Metal features and best practices. We’ll show you how to use function specialization and parallel shader compilation to maintain responsive authoring workflows and the fastest rendering speeds, and help you tune your compute shaders for optimal performance.","tags":[],"title":"Optimize GPU renderers with Metal","url":"\/documentation\/wwdc23-10127-optimize-gpu-renderers-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc23-10125-bring-your-game-to-mac-part-3-render-with-metal","summary":"Discover how you can support Metal in your rendering code as we close out our three-part series on bringing your game to Mac. Once you’ve evaluated your existing Windows binary with the game porting toolkit and brought your HLSL shaders over to Metal, learn how you can optimally implement the features that high-end, modern games require. We’ll show you how to manage GPU resource bindings, residency, and synchronization. Find out how to optimize GPU commands submission, render rich visuals with MetalFX Upscaling, and more.","tags":[],"title":"Bring your game to Mac, Part 3: Render with Metal","url":"\/documentation\/wwdc23-10125-bring-your-game-to-mac-part-3-render-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc23-10124-bring-your-game-to-mac-part-2-compile-your-shaders","summary":"Discover how the Metal shader converter streamlines the process of bringing your HLSL shaders to Metal as we continue our three-part series on bringing your game to Mac. Find out how to build a fast, end-to-end shader pipeline from DXIL that supports all shader stages and allows you to leverage the advanced features of Apple GPUs. We’ll also show you how to reduce app launch time and stutters by generating GPU binaries with the offline compiler.","tags":[],"title":"Bring your game to Mac, Part 2: Compile your shaders","url":"\/documentation\/wwdc23-10124-bring-your-game-to-mac-part-2-compile-your-shaders\/"},{"category":"","section":"documentation","slug":"wwdc23-10123-bring-your-game-to-mac-part-1-make-a-game-plan","summary":"Bring modern, high-end games to Mac and iPad with the powerful features of Metal and Apple silicon. Discover the game porting toolkit and learn how it can help you evaluate your existing Windows game for graphics feature compatibility and performance. We’ll share best practices and technical resources for handling audio, input, and advanced display features.","tags":[],"title":"Bring your game to Mac, Part 1: Make a game plan","url":"\/documentation\/wwdc23-10123-bring-your-game-to-mac-part-1-make-a-game-plan\/"},{"category":"","section":"documentation","slug":"wwdc23-10122-explore-media-formats-for-the-web","summary":"Learn about the latest image formats and video technologies supported in Safari 17. Discover how you can use JPEG XL, AVIF, and HEIC in your websites and experiences and learn how they differ from previous formats. We’ll also show you how the Managed Media Source API draws less power than Media Source Extensions (MSE) and explore how you can use it to more efficiently manage streaming video over 5G.","tags":[],"title":"Explore media formats for the web","url":"\/documentation\/wwdc23-10122-explore-media-formats-for-the-web\/"},{"category":"","section":"documentation","slug":"wwdc23-10121-whats-new-in-css","summary":"Explore the latest advancements in CSS. Learn techniques and best practices for working with wide-gamut color, creating gorgeous typography, and writing simple and robust code. We’ll also peer into the future and preview upcoming layout and typography features.","tags":[],"title":"What’s new in CSS","url":"\/documentation\/wwdc23-10121-whats-new-in-css\/"},{"category":"","section":"documentation","slug":"wwdc23-10120-whats-new-in-web-apps","summary":"Discover web apps for Mac — a powerful way to experience your website from the Dock. Learn how you can customize your web app to give people the best experience when they add your site. We’ll also share how to take advantage of push notifications and badging for web apps for Mac and Home Screen web apps for iOS and iPadOS.","tags":[],"title":"What’s new in web apps","url":"\/documentation\/wwdc23-10120-whats-new-in-web-apps\/"},{"category":"","section":"documentation","slug":"wwdc23-10119-whats-new-in-safari-extensions","summary":"Learn about the latest improvements to Safari extensions. We’ll take you through new APIs, explore per-site permissions for Safari app extensions, and share how you can make sure your extensions work great in both Private Browsing and Profiles.","tags":[],"title":"What’s new in Safari extensions","url":"\/documentation\/wwdc23-10119-whats-new-in-safari-extensions\/"},{"category":"","section":"documentation","slug":"wwdc23-10118-whats-new-in-web-inspector","summary":"Web Inspector provides a powerful set of tools to debug and inspect web pages, web extensions, and WKWebViews on macOS, iOS and iPadOS. We’ll share the latest updates, including improved typography inspection, editing tools for variable fonts, controls to emulate people’s preferences, element badges in the DOM node tree, and Symbolic breakpoints.","tags":[],"title":"What’s new in Web Inspector","url":"\/documentation\/wwdc23-10118-whats-new-in-web-inspector\/"},{"category":"","section":"documentation","slug":"wwdc23-10117-whats-new-in-app-store-connect","summary":"Discover the latest updates to App Store Connect, the suite of tools used to manage and submit apps to the App Store. Explore how you can use the latest features to test, price, promote, and automate the management of your app more easily. We’ll also share enhancements to tools like TestFlight and the App Store Connect API.","tags":[],"title":"What’s new in App Store Connect","url":"\/documentation\/wwdc23-10117-whats-new-in-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc23-10115-design-with-swiftui","summary":"Discover how SwiftUI can help you quickly iterate and explore design ideas. Learn from Apple designers as they share how working with SwiftUI influenced the design of the Maps app in watchOS 10 and other elements of their work, and find out how you can incorporate these workflows in your own process.","tags":[],"title":"Design with SwiftUI","url":"\/documentation\/wwdc23-10115-design-with-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc23-10114-whats-new-in-wallet-and-apple-pay","summary":"Discover the latest updates to Wallet and Apple Pay. Learn how to take advantage of preauthorized payments, funds transfer, and Apple Pay Later merchandising to create great Apple Pay experiences in your app or for the web. Explore improved support for Mail, Messages, Safari, and third-party apps in Wallet Order Tracking, and find out how you can add more information to an order’s transaction or receipt details. And we’ll introduce you to Tap to Present ID on iPhone (or ID Verifier), a new way to accept IDs in Wallet using iPhone — no additional hardware needed.","tags":[],"title":"What’s new in Wallet and Apple Pay","url":"\/documentation\/wwdc23-10114-whats-new-in-wallet-and-apple-pay\/"},{"category":"","section":"documentation","slug":"wwdc23-10113-take-swiftui-to-the-next-dimension","summary":"Get ready to add depth and dimension to your visionOS apps. Find out how to bring three-dimensional objects to your app using volumes, get to know the Model 3D API, and learn how to position and animate content. We’ll also show you how to use UI attachments in RealityView and support gestures in your content.","tags":[],"title":"Take SwiftUI to the next dimension","url":"\/documentation\/wwdc23-10113-take-swiftui-to-the-next-dimension\/"},{"category":"","section":"documentation","slug":"wwdc23-10111-go-beyond-the-window-with-swiftui","summary":"Get ready to launch into space — a new SwiftUI scene type that can help you make great immersive experiences for visionOS. We’ll show you how to create a new scene with ImmersiveSpace, place 3D content, and integrate RealityView. Explore how you can use the immersionStyle scene modifier to increase the level of immersion in an app and learn best practices for managing spaces, adding virtual hands with ARKit, adding support for SharePlay, and building an “out of this world” experience!","tags":[],"title":"Go beyond the window with SwiftUI","url":"\/documentation\/wwdc23-10111-go-beyond-the-window-with-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc23-10110-elevate-your-windowed-app-for-spatial-computing","summary":"Discover how you can bring your multiplatform SwiftUI app to visionOS and the Shared Space. We’ll show you how to add the visionOS destination to an existing app and view your app in the Simulator. Explore how your SwiftUI code automatically adapts to support the unique context and presentation of the visionOS platform. Learn how you can update custom views, improve your app’s UI, and add features and controls specific to this platform.","tags":[],"title":"Elevate your windowed app for spatial computing","url":"\/documentation\/wwdc23-10110-elevate-your-windowed-app-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10109-meet-swiftui-for-spatial-computing","summary":"Take a tour of the solar system with us and explore SwiftUI for visionOS! Discover how you can build an entirely new universe of apps with windows, volumes, and spaces. We’ll show you how to get started with SwiftUI on this platform as we build an astronomy app, add 3D content, and create a fully immersive experience to transport people to the stars.","tags":[],"title":"Meet SwiftUI for spatial computing","url":"\/documentation\/wwdc23-10109-meet-swiftui-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10108-whats-new-in-background-assets","summary":"Waiting is no fun! Discover how Background Assets can help your app download content before it even launches. We’ll show you how to integrate Background Assets into an existing app, explore when to use essential or non-essential assets, and learn how to make debugging your extension a breeze.","tags":[],"title":"What’s new in Background Assets","url":"\/documentation\/wwdc23-10108-whats-new-in-background-assets\/"},{"category":"","section":"documentation","slug":"wwdc23-10107-embed-the-photos-picker-in-your-app","summary":"Discover how you can simply, safely, and securely access the Photos Library in your app. Learn how to get started with the embedded picker and explore the options menu and HDR still image support. We’ll also show you how to take advantage of UI customization options to help the picker blend into your existing interface.","tags":[],"title":"Embed the Photos Picker in your app","url":"\/documentation\/wwdc23-10107-embed-the-photos-picker-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10106-support-external-cameras-in-your-ipados-app","summary":"Learn how you can discover and connect to external cameras in your iPadOS app using the AVFoundation capture classes. We’ll show you how to rotate video from both external and built-in cameras, support external microphones with USB-C, and perform audio routing. Explore telephony support, tunings for optimal echo cancellation, and best practices for external camera adoption.","tags":[],"title":"Support external cameras in your iPadOS app","url":"\/documentation\/wwdc23-10106-support-external-cameras-in-your-ipados-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10105-create-a-more-responsive-camera-experience","summary":"Discover how AVCapture and PhotoKit can help you create more responsive and delightful apps. Learn about the camera capture process and find out how deferred photo processing can help create the best quality photo. We’ll show you how zero shutter lag uses time travel to capture the perfect action photo, dive into building a responsive capture pipeline, and share how you can adopt the Video Effects API to recognize pre-defined gestures that trigger real-time video effects.","tags":[],"title":"Create a more responsive camera experience","url":"\/documentation\/wwdc23-10105-create-a-more-responsive-camera-experience\/"},{"category":"","section":"documentation","slug":"wwdc23-10104-integrate-your-media-app-with-homepod","summary":"Learn how people can interact with your media app directly from HomePod. We’ll show you how to add a media intent to your iPhone or iPad app and help people stream your content to a HomePod speaker over AirPlay simply by using their voice. Explore implementation details and get tips and best practices on how to create a great experience for music, audiobooks, podcasts, meditations, or other media types.","tags":[],"title":"Integrate your media app with HomePod","url":"\/documentation\/wwdc23-10104-integrate-your-media-app-with-homepod\/"},{"category":"","section":"documentation","slug":"wwdc23-10103-explore-enhancements-to-app-intents","summary":"Bring your widgets to life with App Intents! Explore the latest updates and learn how you can take advantage of dynamic options and user interactivity to build better experiences for your App Shortcuts. We’ll share how you can integrate with Apple Pay, structure your code more efficiently, and take your Shortcuts app integration to the next level.","tags":[],"title":"Explore enhancements to App Intents","url":"\/documentation\/wwdc23-10103-explore-enhancements-to-app-intents\/"},{"category":"","section":"documentation","slug":"wwdc23-10102-spotlight-your-app-with-app-shortcuts","summary":"Discover how to use App Shortcuts to surface frequently used features from your app in Spotlight or through Siri. Find out how to configure search results for your app and learn best practices for creating great App Shortcuts. We’ll also show you how to build great visual and voice experiences and extend to other Apple devices like Apple Watch and HomePod.","tags":[],"title":"Spotlight your app with App Shortcuts","url":"\/documentation\/wwdc23-10102-spotlight-your-app-with-app-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc23-10101-customize-ondevice-speech-recognition","summary":"Find out how you can improve on-device speech recognition in your app by customizing the underlying model with additional vocabulary. We’ll share how speech recognition works on device and show you how to boost specific words and phrases for more predictable transcription. Learn how you can provide specific pronunciations for words and use template support to quickly generate a full set of custom phrases — all at runtime.","tags":[],"title":"Customize on-device speech recognition","url":"\/documentation\/wwdc23-10101-customize-ondevice-speech-recognition\/"},{"category":"","section":"documentation","slug":"wwdc23-10100-optimize-app-power-and-performance-for-spatial-computing","summary":"Learn how you can create powerful apps and games for visionOS by optimizing for performance and efficiency. We’ll cover the unique power characteristics of the platform, explore building a performance plan, and share some of the tools and strategies to test and optimize your apps.","tags":[],"title":"Optimize app power and performance for spatial computing","url":"\/documentation\/wwdc23-10100-optimize-app-power-and-performance-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-101-keynote","summary":"The Apple Worldwide Developers Conference kicks off with exciting news, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","tags":[],"title":"Keynote","url":"\/documentation\/wwdc23-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc23-10099-meet-realitykit-trace","summary":"Discover how you can use RealityKit Trace to improve the performance of your spatial computing apps. Explore performance profiling guidelines for this platform and learn how the RealityKit Trace template can help you optimize rendering for your apps. We’ll also provide guidance on profiling various types of content in your app to help pinpoint performance issues.","tags":[],"title":"Meet RealityKit Trace","url":"\/documentation\/wwdc23-10099-meet-realitykit-trace\/"},{"category":"","section":"documentation","slug":"wwdc23-10096-build-great-games-for-spatial-computing","summary":"Find out how you can develop great gaming experiences for visionOS. We’ll share some of the key building blocks that help you create games for this platform, explore how your experiences can fluidly move between levels of immersion, and provide a roadmap for exploring ARKit, RealityKit, Reality Composer Pro, Unity, Metal, and Compositor.","tags":[],"title":"Build great games for spatial computing","url":"\/documentation\/wwdc23-10096-build-great-games-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10095-explore-rendering-for-spatial-computing","summary":"Find out how you can take control of RealityKit rendering to improve the look and feel of your apps and games on visionOS. Discover how you can customize lighting, add grounding shadows, and control tone mapping for your content. We’ll also go over best practices for two key treatments on the platform: rasterization rate maps and dynamic content scaling.","tags":[],"title":"Explore rendering for spatial computing","url":"\/documentation\/wwdc23-10095-explore-rendering-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10094-enhance-your-ipad-and-iphone-apps-for-the-shared-space","summary":"Get ready to enhance your iPad and iPhone apps for the Shared Space! We’ll show you how to optimize your experience to make it feel great on visionOS and explore Designed for iPad app interaction, visual treatments, and media.","tags":[],"title":"Enhance your iPad and iPhone apps for the Shared Space","url":"\/documentation\/wwdc23-10094-enhance-your-ipad-and-iphone-apps-for-the-shared-space\/"},{"category":"","section":"documentation","slug":"wwdc23-10093-bring-your-unity-vr-app-to-a-fully-immersive-space","summary":"Discover how you can bring your existing Unity VR apps and games to visionOS. We’ll explore workflows that can help you get started and show you how to build for eyes and hands in your apps and games with the Unity Input System. Learn about Unity’s XR Interaction Toolkit, tips for foveated rendering, and best practices.","tags":[],"title":"Bring your Unity VR app to a fully immersive space","url":"\/documentation\/wwdc23-10093-bring-your-unity-vr-app-to-a-fully-immersive-space\/"},{"category":"","section":"documentation","slug":"wwdc23-10091-evolve-your-arkit-app-for-spatial-experiences","summary":"Discover how you can bring your app’s AR experience to visionOS. Learn how ARKit and RealityKit have evolved for spatial computing: We’ll highlight conceptual and API changes for those coming from iPadOS and iOS and guide you to sessions with more details to help you bring your AR experience to this platform.","tags":[],"title":"Evolve your ARKit app for spatial experiences","url":"\/documentation\/wwdc23-10091-evolve-your-arkit-app-for-spatial-experiences\/"},{"category":"","section":"documentation","slug":"wwdc23-10090-run-your-ipad-and-iphone-apps-in-the-shared-space","summary":"Discover how you can run your existing iPad and iPhone apps on Vision Pro. Learn how iPadOS and iOS apps operate on this platform, find out about the Designed for iPad experience, and explore the paths available for enhancing your app experience on visionOS.","tags":[],"title":"Run your iPad and iPhone apps in the Shared Space","url":"\/documentation\/wwdc23-10090-run-your-ipad-and-iphone-apps-in-the-shared-space\/"},{"category":"","section":"documentation","slug":"wwdc23-10089-discover-metal-for-immersive-apps","summary":"Find out how you can use Metal to render fully immersive experiences for visionOS. We’ll show you how to set up a rendering session on the platform and create a basic render loop, and share how you can make your experience interactive by incorporating spatial input.","tags":[],"title":"Discover Metal for immersive apps","url":"\/documentation\/wwdc23-10089-discover-metal-for-immersive-apps\/"},{"category":"","section":"documentation","slug":"wwdc23-10088-create-immersive-unity-apps","summary":"Explore how you can use Unity to create engaging and immersive experiences for visionOS. We’ll share how Unity integrates seamlessly with Apple frameworks, take you through the tools you can use to build natively for the platform, and show you how volume cameras can bring your existing scenes into visionOS windows, volumes, and spaces.","tags":[],"title":"Create immersive Unity apps","url":"\/documentation\/wwdc23-10088-create-immersive-unity-apps\/"},{"category":"","section":"documentation","slug":"wwdc23-10087-build-spatial-shareplay-experiences","summary":"Discover how you can use the GroupActivities framework to build unique sharing and collaboration experiences for visionOS. We’ll introduce you to SharePlay on this platform, learn how to create experiences that make people feel present as if they were in the same space, and explore how immersive apps can respect shared context between participants.","tags":[],"title":"Build spatial SharePlay experiences","url":"\/documentation\/wwdc23-10087-build-spatial-shareplay-experiences\/"},{"category":"","section":"documentation","slug":"wwdc23-10086-explore-the-usd-ecosystem","summary":"Discover the latest updates to Universal Scene Description (USD) on Apple platforms and learn how you can deliver great 3D content for your apps, games, and websites. Get to know USD for visionOS, explore MaterialX shaders and color management, and find out about some of the other improvements to the USD ecosystem.","tags":[],"title":"Explore the USD ecosystem","url":"\/documentation\/wwdc23-10086-explore-the-usd-ecosystem\/"},{"category":"","section":"documentation","slug":"wwdc23-10085-discover-quick-look-for-spatial-computing","summary":"Learn how to use Quick Look on visionOS to add powerful previews for 3D content, spatial images and videos, and much more. We’ll show you the different ways that the system presents these experiences, demonstrate how someone can drag and drop Quick Look content from an app or website to create a separate window with that content, and explore how you can present Quick Look directly within an app.","tags":[],"title":"Discover Quick Look for spatial computing","url":"\/documentation\/wwdc23-10085-discover-quick-look-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10083-meet-reality-composer-pro","summary":"Discover how to easily compose, edit, and preview 3D content with Reality Composer Pro. Follow along as we explore this developer tool by setting up a new project, composing scenes, adding particle emitters and audio, and even previewing content on device.","tags":[],"title":"Meet Reality Composer Pro","url":"\/documentation\/wwdc23-10083-meet-reality-composer-pro\/"},{"category":"","section":"documentation","slug":"wwdc23-10082-meet-arkit-for-spatial-computing","summary":"Discover how you can use ARKit’s tracking and scene understanding features to develop a whole new universe of immersive apps and games. Learn how visionOS and ARKit work together to help you create apps that understand a person’s surroundings — all while preserving privacy. Explore the latest updates to the ARKit API and follow along as we demonstrate how to take advantage of hand tracking and scene geometry in your apps.","tags":[],"title":"Meet ARKit for spatial computing","url":"\/documentation\/wwdc23-10082-meet-arkit-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10081-enhance-your-spatial-computing-app-with-realitykit","summary":"Go beyond the window and learn how you can bring engaging and immersive 3D content to your apps with RealityKit. Discover how SwiftUI scenes work in tandem with RealityView and how you can embed your content into an entity hierarchy. We’ll also explore how you can blend virtual content and the real world using anchors, bring particle effects into your apps, add video content, and create more immersive experiences with portals.","tags":[],"title":"Enhance your spatial computing app with RealityKit","url":"\/documentation\/wwdc23-10081-enhance-your-spatial-computing-app-with-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc23-10080-build-spatial-experiences-with-realitykit","summary":"Discover how RealityKit can bring your apps into a new dimension. Get started with RealityKit entities, components, and systems, and learn how you can add 3D models and effects to your app on visionOS. We’ll also take you through the RealityView API and demonstrate how to add 3D objects to windows, volumes, and spaces to make your apps more immersive. And we’ll explore combining RealityKit with spatial input, animation, and spatial audio.","tags":[],"title":"Build spatial experiences with RealityKit","url":"\/documentation\/wwdc23-10080-build-spatial-experiences-with-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc23-10078-design-considerations-for-vision-and-motion","summary":"Learn how to design engaging immersive experiences for visionOS that respect the limitations of human vision and motion perception. We’ll show you how you can use depth cues, contrast, focus, and motion to keep people comfortable as they enjoy your apps and games.","tags":[],"title":"Design considerations for vision and motion","url":"\/documentation\/wwdc23-10078-design-considerations-for-vision-and-motion\/"},{"category":"","section":"documentation","slug":"wwdc23-10076-design-for-spatial-user-interfaces","summary":"Learn how to design great interfaces for spatial computing apps. We’ll share how your existing screen-based knowledge easily translates into creating great experiences for visionOS. Explore guidelines for UI components, materials, and typography and find out how you can design experiences that are familiar, legible, and easy to use.","tags":[],"title":"Design for spatial user interfaces","url":"\/documentation\/wwdc23-10076-design-for-spatial-user-interfaces\/"},{"category":"","section":"documentation","slug":"wwdc23-10075-design-spatial-shareplay-experiences","summary":"Explore the types of shared activities you can create in your visionOS apps and find out how your apps can use Spatial Persona templates to support meaningful interactions between people. Discover how to design your UI around a shared context, handle immersive content in a shared activity, and more.","tags":[],"title":"Design spatial SharePlay experiences","url":"\/documentation\/wwdc23-10075-design-spatial-shareplay-experiences\/"},{"category":"","section":"documentation","slug":"wwdc23-10073-design-for-spatial-input","summary":"Learn how to design great interactions for eyes and hands. We’ll share the design principles for spatial input, explore best practices around input methods, and help you create spatial experiences that are comfortable, intuitive, and satisfying.","tags":[],"title":"Design for spatial input","url":"\/documentation\/wwdc23-10073-design-for-spatial-input\/"},{"category":"","section":"documentation","slug":"wwdc23-10072-principles-of-spatial-design","summary":"Discover the fundamentals of spatial design. Learn how to design with depth, scale, windows, and immersion, and apply best practices for creating comfortable, human-centered experiences that transform reality. Find out how you can use these spatial design principles to extend your existing app or bring a new idea to life.","tags":[],"title":"Principles of spatial design","url":"\/documentation\/wwdc23-10072-principles-of-spatial-design\/"},{"category":"","section":"documentation","slug":"wwdc23-10071-deliver-video-content-for-spatial-experiences","summary":"Learn how to prepare and deliver video content for visionOS using HTTP Live Streaming (HLS). Discover the current HLS delivery process for media and explore how you can expand your delivery pipeline to support 3D content. Get up to speed with tips and techniques for spatial media streaming and adapting your existing caption production workflows for 3D. And find out how to share audio tracks across video variants and add spatial audio to make your video content more immersive.","tags":[],"title":"Deliver video content for spatial experiences","url":"\/documentation\/wwdc23-10071-deliver-video-content-for-spatial-experiences\/"},{"category":"","section":"documentation","slug":"wwdc23-10070-create-a-great-spatial-playback-experience","summary":"Get ready to support video in your visionOS app! Take a tour of the frameworks and APIs that power video playback and learn how you can update your app to play 3D content. We’ll also share tips for customizing playback to create a more immersive watching experience.","tags":[],"title":"Create a great spatial playback experience","url":"\/documentation\/wwdc23-10070-create-a-great-spatial-playback-experience\/"},{"category":"","section":"documentation","slug":"wwdc23-10061-verify-app-dependencies-with-digital-signatures","summary":"Discover how you can help secure your app’s dependencies. We’ll show you how Xcode can automatically verify any signed XCFrameworks you include within a project. Learn how code signatures work, the benefits they provide to help protect your software supply chain, and how SDK developers can sign their XCFrameworks to help keep your apps secure.","tags":[],"title":"Verify app dependencies with digital signatures","url":"\/documentation\/wwdc23-10061-verify-app-dependencies-with-digital-signatures\/"},{"category":"","section":"documentation","slug":"wwdc23-10060-get-started-with-privacy-manifests","summary":"Meet privacy manifests: a new tool that helps you accurately identify the privacy practices of your app’s dependencies. Find out how third-party SDK developers can use these manifests to share privacy practices for their frameworks. We’ll also share how Xcode can produce a full privacy report to help you more easily represent the privacy practices of all the code in your app.","tags":[],"title":"Get started with privacy manifests","url":"\/documentation\/wwdc23-10060-get-started-with-privacy-manifests\/"},{"category":"","section":"documentation","slug":"wwdc23-10058-whats-new-with-text-and-text-interactions","summary":"Text is an absolutely critical component of every app. Discover the latest features and enhancements for creating rich text experiences on Apple platforms. We’ll show you how to take advantage of common text elements and create entirely custom interactions for your app. Learn about updates to dictation, text loupe, and text selection, and explore improvements to text clipping, line wrapping, and hyphenation.","tags":[],"title":"What’s new with text and text interactions","url":"\/documentation\/wwdc23-10058-whats-new-with-text-and-text-interactions\/"},{"category":"","section":"documentation","slug":"wwdc23-10057-unleash-the-uikit-trait-system","summary":"Discover powerful enhancements to the trait system in UIKit. Learn how you can define custom traits to add your own data to UITraitCollection, modify the data propagated to view controllers and views with trait override APIs, and adopt APIs to improve flexibility and performance. We’ll also show you how to bridge UIKit traits with SwiftUI environment keys to seamlessly access data from both UIKit and SwiftUI components in your app.","tags":[],"title":"Unleash the UIKit trait system","url":"\/documentation\/wwdc23-10057-unleash-the-uikit-trait-system\/"},{"category":"","section":"documentation","slug":"wwdc23-10056-build-better-documentbased-apps","summary":"Discover how you can use the latest features in iPadOS to improve your document-based apps. We’ll show you how to take advantage of UIDocument as well as existing desktop-class iPad and document-based APIs to add new features in your app. Find out how to convert data models to UIDocument, present documents with UIDocumentViewController, learn how to migrate your apps to the latest APIs, and explore best practices.","tags":[],"title":"Build better document-based apps","url":"\/documentation\/wwdc23-10056-build-better-documentbased-apps\/"},{"category":"","section":"documentation","slug":"wwdc23-10055-whats-new-in-uikit","summary":"Explore enhancements and updates to UIKit and learn how to build better iOS, iPadOS, and Mac Catalyst apps. We’ll show you the latest features and improvements in UIKit and share API refinements, performance improvements, and much more.","tags":[],"title":"What’s new in UIKit","url":"\/documentation\/wwdc23-10055-whats-new-in-uikit\/"},{"category":"","section":"documentation","slug":"wwdc23-10054-whats-new-in-appkit","summary":"Discover the latest advances in Mac app development. We’ll share improvements to controls and menus and explore the tools that can help you break free from your (view) bounds. Learn how to add motion to your user interface, take advantage of improvements to text input, and integrate your existing code with Swift and SwiftUI.","tags":[],"title":"What’s new in AppKit","url":"\/documentation\/wwdc23-10054-whats-new-in-appkit\/"},{"category":"","section":"documentation","slug":"wwdc23-10053-whats-new-in-privacy","summary":"At Apple, we believe that privacy is a fundamental human right. Learn about new technologies on Apple platforms that make it easier for you to implement essential privacy patterns that build customer trust in your app. Discover privacy improvements for Apple’s platforms, as well as a study of how privacy shaped the software architecture and design for the input model on visionOS.","tags":[],"title":"What’s new in privacy","url":"\/documentation\/wwdc23-10053-whats-new-in-privacy\/"},{"category":"","section":"documentation","slug":"wwdc23-10052-discover-calendar-and-eventkit","summary":"Discover how you can bring Calendar into your app and help people better manage their time. Find out how to create new events from your app, fetch events, and implement a virtual conference extension. We’ll also take you through some of the changes to calendar access levels that help your app stay connected without compromising the privacy of someone’s calendar data.","tags":[],"title":"Discover Calendar and EventKit","url":"\/documentation\/wwdc23-10052-discover-calendar-and-eventkit\/"},{"category":"","section":"documentation","slug":"wwdc23-10051-create-a-great-shazamkit-experience","summary":"Discover how your app can offer a great audio matching experience with the latest updates to ShazamKit. We’ll take you through matching features, updates to audio recognition, and interactions with the Shazam library. Learn tips and best practices for using ShazamKit in your audio apps.","tags":[],"title":"Create a great ShazamKit experience","url":"\/documentation\/wwdc23-10051-create-a-great-shazamkit-experience\/"},{"category":"","section":"documentation","slug":"wwdc23-10050-optimize-machine-learning-for-metal-apps","summary":"Discover the latest enhancements to accelerated ML training in Metal. Find out about updates to PyTorch and TensorFlow, and learn about Metal acceleration for JAX. We’ll show you how MPS Graph can support faster ML inference when you use both the GPU and Apple Neural Engine, and share how the same API can rapidly integrate your Core ML and ONNX models.","tags":[],"title":"Optimize machine learning for Metal apps","url":"\/documentation\/wwdc23-10050-optimize-machine-learning-for-metal-apps\/"},{"category":"","section":"documentation","slug":"wwdc23-10049-improve-core-ml-integration-with-async-prediction","summary":"Learn how to speed up machine learning features in your app with the latest Core ML execution engine improvements and find out how aggressive asset caching can help with inference and faster model loads. We’ll show you some of the latest options for async prediction and discuss considerations for balancing performance with overall memory usage to help you create a highly responsive app. Discover APIs to help you understand and maximize hardware utilization for your models.","tags":[],"title":"Improve Core ML integration with async prediction","url":"\/documentation\/wwdc23-10049-improve-core-ml-integration-with-async-prediction\/"},{"category":"","section":"documentation","slug":"wwdc23-10048-whats-new-in-visionkit","summary":"Discover how VisionKit can help people quickly lift subjects from images in your app and learn more about the content of an image with Visual Look Up. We’ll also take a tour of the latest updates to VisionKit for Live Text interaction, data scanning, and expanded support for macOS apps.","tags":[],"title":"What’s new in VisionKit","url":"\/documentation\/wwdc23-10048-whats-new-in-visionkit\/"},{"category":"","section":"documentation","slug":"wwdc23-10047-use-core-ml-tools-for-machine-learning-model-compression","summary":"Discover how to reduce the footprint of machine learning models in your app with Core ML Tools. Learn how to use techniques like palettization, pruning, and quantization to dramatically reduce model size while still achieving great accuracy. Explore comparisons between compression during the training stages and on fully trained models, and learn how compressed models can run even faster when your app takes full advantage of the Apple Neural Engine.","tags":[],"title":"Use Core ML Tools for machine learning model compression","url":"\/documentation\/wwdc23-10047-use-core-ml-tools-for-machine-learning-model-compression\/"},{"category":"","section":"documentation","slug":"wwdc23-10045-detect-animal-poses-in-vision","summary":"Go beyond detecting cats and dogs in images. We’ll show you how to use Vision to detect the individual joints and poses of these animals as well — all in real time — and share how you can enable exciting features like animal tracking for a camera app, creative embellishment on an animal photo, and more. We’ll also explore other important enhancements to Vision and share best practices.","tags":[],"title":"Detect animal poses in Vision","url":"\/documentation\/wwdc23-10045-detect-animal-poses-in-vision\/"},{"category":"","section":"documentation","slug":"wwdc23-10044-discover-machine-learning-enhancements-in-create-ml","summary":"Find out how Create ML can help you do even more with machine learning models. Learn about the latest updates to image understanding and text-based tasks with multilingual BERT embeddings. Discover how easy it is to train models that can understand the content of images using multi-label classification. We’ll also share information about interactive model evaluation and the latest APIs for custom training data augmentations.","tags":[],"title":"Discover machine learning enhancements in Create ML","url":"\/documentation\/wwdc23-10044-discover-machine-learning-enhancements-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc23-10043-meet-mapkit-for-swiftui","summary":"Discover how expanded SwiftUI support for MapKit has made it easier than ever for you to integrate Maps into your app. We’ll show you how to use SwiftUI to add annotations and overlays to a map, control the camera, and more.","tags":[],"title":"Meet MapKit for SwiftUI","url":"\/documentation\/wwdc23-10043-meet-mapkit-for-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc23-10042-explore-natural-language-multilingual-models","summary":"Learn how to create custom Natural Language models for text classification and word tagging using multilingual, transformer-based embeddings. We’ll show you how to train with less data and support up to 27 different languages across three scripts. Find out how to use these embeddings to fine-tune complex models trained in PyTorch and TensorFlow.","tags":[],"title":"Explore Natural Language multilingual models","url":"\/documentation\/wwdc23-10042-explore-natural-language-multilingual-models\/"},{"category":"","section":"documentation","slug":"wwdc23-10041-explore-advances-in-declarative-device-management","summary":"Learn how you can help IT administrators get the tools they need to manage their organization’s devices. Discover the latest changes to declarative device management, including software update management, additional asset types, status reporting for FileVault, and more.","tags":[],"title":"Explore advances in declarative device management","url":"\/documentation\/wwdc23-10041-explore-advances-in-declarative-device-management\/"},{"category":"","section":"documentation","slug":"wwdc23-10040-whats-new-in-managing-apple-devices","summary":"Learn about the latest management capabilities for iOS, iPadOS, and macOS. Discover how you can streamline the setup experience with enhancements to automated device enrollment and a new return-to-service option for iOS and iPadOS devices. We’ll share how to use your identity provider in even more places on macOS and show you how Apple Configurator can help automate tasks.","tags":[],"title":"What’s new in managing Apple devices","url":"\/documentation\/wwdc23-10040-whats-new-in-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc23-10039-meet-device-management-for-apple-watch","summary":"Organizations can now deploy and configure Apple Watch in addition to other Apple devices. Learn how to implement device management for watchOS to help organizations improve productivity, support wellness, and provide additional support for their employees.","tags":[],"title":"Meet device management for Apple Watch","url":"\/documentation\/wwdc23-10039-meet-device-management-for-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc23-10037-explore-pie-charts-and-interactivity-in-swift-charts","summary":"Swift Charts has come full circle: Get ready to bake up pie and donut charts in your app with the latest improvements to the framework. Learn how to make your charts scrollable, explore the chart selection API for revealing additional details in your data, and find out how enabling additional interactivity can make your charts even more delightful.","tags":[],"title":"Explore pie charts and interactivity in Swift Charts","url":"\/documentation\/wwdc23-10037-explore-pie-charts-and-interactivity-in-swift-charts\/"},{"category":"","section":"documentation","slug":"wwdc23-10036-build-accessible-apps-with-swiftui-and-uikit","summary":"Discover how advancements in UI frameworks make it easier to build rich, accessible experiences. Find out how technologies like VoiceOver can better interact with your app’s interface through accessibility traits and actions. We’ll share the latest updates to SwiftUI that help you refine your accessibility experience and show you how to keep accessibility information up-to-date in your UIKit apps.","tags":[],"title":"Build accessible apps with SwiftUI and UIKit","url":"\/documentation\/wwdc23-10036-build-accessible-apps-with-swiftui-and-uikit\/"},{"category":"","section":"documentation","slug":"wwdc23-10035-perform-accessibility-audits-for-your-app","summary":"Discover how you can test your app for accessibility with every build. Learn how to perform automated audits for accessibility using XCTest and find out how to interpret the results. We’ll also share enhancements to the accessibility API that can help you improve UI test coverage.","tags":[],"title":"Perform accessibility audits for your app","url":"\/documentation\/wwdc23-10035-perform-accessibility-audits-for-your-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10034-create-accessible-spatial-experiences","summary":"Learn how you can make spatial computing apps that work well for everyone. Like all Apple platforms, visionOS is designed for accessibility: We’ll share how we’ve reimagined assistive technologies like VoiceOver and Pointer Control and designed features like Dwell Control to help people interact in the way that works best for them. Learn best practices for vision, motor, cognitive, and hearing accessibility and help everyone enjoy immersive experiences for visionOS.","tags":[],"title":"Create accessible spatial experiences","url":"\/documentation\/wwdc23-10034-create-accessible-spatial-experiences\/"},{"category":"","section":"documentation","slug":"wwdc23-10033-extend-speech-synthesis-with-personal-and-custom-voices","summary":"Bring the latest advancements in Speech Synthesis to your apps. Learn how you can integrate your custom speech synthesizer and voices into iOS and macOS. We’ll show you how SSML is used to generate expressive speech synthesis, and explore how Personal Voice can enable your augmentative and assistive communication app to speak on a person’s behalf in an authentic way.","tags":[],"title":"Extend Speech Synthesis with personal and custom voices","url":"\/documentation\/wwdc23-10033-extend-speech-synthesis-with-personal-and-custom-voices\/"},{"category":"","section":"documentation","slug":"wwdc23-10032-meet-assistive-access","summary":"Learn how Assistive Access can help people with cognitive disabilities more easily use iPhone and iPad. Discover the design principles that guide Assistive Access and find out how the system experience adapts to lighten cognitive load. We’ll show you how Assistive Access works and what you can do to support this experience in your app.","tags":[],"title":"Meet Assistive Access","url":"\/documentation\/wwdc23-10032-meet-assistive-access\/"},{"category":"","section":"documentation","slug":"wwdc23-10031-update-your-app-for-watchos-10","summary":"Join us as we update an Apple Watch app to take advantage of the latest features in watchOS 10. In this code-along, we’ll show you how to use the latest SwiftUI APIs to maximize glanceability and reorient app navigation around the Digital Crown.","tags":[],"title":"Update your app for watchOS 10","url":"\/documentation\/wwdc23-10031-update-your-app-for-watchos-10\/"},{"category":"","section":"documentation","slug":"wwdc23-10029-build-widgets-for-the-smart-stack-on-apple-watch","summary":"Follow along as we build a widget for the Smart Stack on watchOS 10 using the latest SwiftUI and WidgetKit APIs. Learn tips, techniques, and best practices for creating widgets that show relevant information on Apple Watch.","tags":[],"title":"Build widgets for the Smart Stack on Apple Watch","url":"\/documentation\/wwdc23-10029-build-widgets-for-the-smart-stack-on-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc23-10028-bring-widgets-to-life","summary":"Learn how to make animated and interactive widgets for your apps and games. We’ll show you how to tweak animations for entry transitions and add interactivity using SwiftUI Button and Toggle so that you can create powerful moments right from the Home Screen and Lock Screen.","tags":[],"title":"Bring widgets to life","url":"\/documentation\/wwdc23-10028-bring-widgets-to-life\/"},{"category":"","section":"documentation","slug":"wwdc23-10027-bring-widgets-to-new-places","summary":"The widget ecosystem is expanding: Discover how you can use the latest WidgetKit APIs to make your widget look great everywhere. We’ll show you how to identify your widget’s background, adjust layout dynamically, and prepare colors for vibrant rendering so that your widget can sit seamlessly in any environment.","tags":[],"title":"Bring widgets to new places","url":"\/documentation\/wwdc23-10027-bring-widgets-to-new-places\/"},{"category":"","section":"documentation","slug":"wwdc23-10026-meet-watchos-10","summary":"Discover some of the most significant changes to Apple Watch since its introduction as we tour the redesigned user interface and the new Smart Stack. Learn how Apple designers approached the design of watchOS 10 as we explore layout, navigation, and visual style, and find out how you can apply them to create a great app for Apple Watch.","tags":[],"title":"Meet watchOS 10","url":"\/documentation\/wwdc23-10026-meet-watchos-10\/"},{"category":"","section":"documentation","slug":"wwdc23-10025-meet-push-notifications-console","summary":"The Push Notifications Console is the best way to quickly test user notifications in your app. Learn how you can iterate on new ideas quickly by sending notifications directly from the console and analyze delivery logs to learn more about your pushes. We’ll also show you how to generate and validate tokens to successfully authenticate with Apple Push Notification service (APNs).","tags":[],"title":"Meet Push Notifications Console","url":"\/documentation\/wwdc23-10025-meet-push-notifications-console\/"},{"category":"","section":"documentation","slug":"wwdc23-10023-build-a-multidevice-workout-app","summary":"Learn how you can get iPhone involved in your Apple Watch-based workout apps with HealthKit. We’ll show you how to mirror workouts between devices and take a ride with cycling data types. Plus, get to know HealthKit for iPad.","tags":[],"title":"Build a multi-device workout app","url":"\/documentation\/wwdc23-10023-build-a-multidevice-workout-app\/"},{"category":"","section":"documentation","slug":"wwdc23-10016-build-custom-workouts-with-workoutkit","summary":"WorkoutKit makes it easy to create, preview, and schedule planned workouts for the Workout app on Apple Watch. Learn how to build custom intervals, create alerts, and use the built-in preview UI to send your own workout routines to Apple Watch.","tags":[],"title":"Build custom workouts with WorkoutKit","url":"\/documentation\/wwdc23-10016-build-custom-workouts-with-workoutkit\/"},{"category":"","section":"documentation","slug":"wwdc23-10015-whats-new-in-app-store-preorders","summary":"Discover the latest enhancements to App Store pre-orders, including regional publishing. We’ll show you how to use App Store Connect to set up pre-orders to simultaneously soft launch your app and offer it in different regions.","tags":[],"title":"What’s new in App Store pre-orders","url":"\/documentation\/wwdc23-10015-whats-new-in-app-store-preorders\/"},{"category":"","section":"documentation","slug":"wwdc23-10014-whats-new-in-app-store-pricing","summary":"Discover the latest updates to App Store pricing capabilities and tools. Learn how you can manage pricing for your apps and in-app purchases within App Store Connect and the App Store Connect API, how to set pricing by region, and more.","tags":[],"title":"What’s new in App Store pricing","url":"\/documentation\/wwdc23-10014-whats-new-in-app-store-pricing\/"},{"category":"","section":"documentation","slug":"wwdc23-10013-meet-storekit-for-swiftui","summary":"Discover how you can use App Store product metadata and Xcode Previews to add in-app purchases to your app with just a few lines of code. Explore a new collection of UI components in StoreKit and learn how you can easily merchandise your products, present subscriptions in a way that helps users make informed decisions, and more.","tags":[],"title":"Meet StoreKit for SwiftUI","url":"\/documentation\/wwdc23-10013-meet-storekit-for-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc23-10012-explore-app-store-connect-for-spatial-computing","summary":"App Store Connect provides the tools you need to test, submit, and manage your visionOS apps on the App Store. Explore basics and best practices for deploying your first spatial computing app, adding support for visionOS to an existing app, and managing compatibility. We’ll also show you how TestFlight for visionOS can help you test your apps and collect valuable feedback as you iterate.","tags":[],"title":"Explore App Store Connect for spatial computing","url":"\/documentation\/wwdc23-10012-explore-app-store-connect-for-spatial-computing\/"},{"category":"","section":"documentation","slug":"wwdc23-10007-create-seamless-experiences-with-virtualization","summary":"Discover the latest updates to the Virtualization framework. We’ll show you how to configure a virtual machine (VM) to automatically resize its display, take you through saving and restoring a running VM, and explore storage and performance options for Virtualization apps running on the desktop or in the data center.","tags":[],"title":"Create seamless experiences with Virtualization","url":"\/documentation\/wwdc23-10007-create-seamless-experiences-with-virtualization\/"},{"category":"","section":"documentation","slug":"wwdc23-10006-build-robust-and-resumable-file-transfers","summary":"Find out how URLSession can help your apps transfer large files and recover from network interruptions. Learn how to pause and resume HTTP file transfers and support resumable uploads, and explore best practices for using URLSession to transfer files even when your app is suspended in the background.","tags":[],"title":"Build robust and resumable file transfers","url":"\/documentation\/wwdc23-10006-build-robust-and-resumable-file-transfers\/"},{"category":"","section":"documentation","slug":"wwdc23-10004-reduce-network-delays-with-l4s","summary":"Streaming video, multiplayer games, and other real-time experiences depend on responsive, low latency networking. Learn how Low Latency, Low Loss, Scalable throughput (L4S) can reduce network delays and improve the overall experience in your app. We’ll show you how to set up and test your app, network, and server with L4S.","tags":[],"title":"Reduce network delays with L4S","url":"\/documentation\/wwdc23-10004-reduce-network-delays-with-l4s\/"},{"category":"","section":"documentation","slug":"wwdc23-10002-ready-set-relay-protect-app-traffic-with-network-relays","summary":"Learn how relays can make your app’s network traffic more private and secure without the overhead of a VPN. We’ll show you how to integrate relay servers in your own app and explore how enterprise networks can use relays to securely access internal resources.","tags":[],"title":"Ready, set, relay: Protect app traffic with network relays","url":"\/documentation\/wwdc23-10002-ready-set-relay-protect-app-traffic-with-network-relays\/"},{"category":"","section":"documentation","slug":"wwdc23","summary":"Xcode 15, Swift 5.9, iOS 17, macOS 14 (Sonoma), tvOS 17, visionOS 1, watchOS 10. New APIs: `SwiftData`, `Observation`, `StoreKit` views, and more.","tags":[],"title":"WWDC23","url":"\/documentation\/wwdc23\/"},{"category":"","section":"documentation","slug":"wwdc22-110565-display-hdr-video-in-edr-with-avfoundation-and-metal","summary":"Learn how you can take advantage of AVFoundation and Metal to build an efficient EDR pipeline. Follow along as we demonstrate how you can use AVPlayer to display HDR video as EDR, add playback into an app view, render it with Metal, and use Core Image or custom Metal shaders to add video effects such as keying or color management. Whether you develop games or pro apps, we’ll help you decide which frameworks to use and share best practices for selecting transports, colorspaces, and pixelbuffer formats.","tags":[],"title":"Display HDR video in EDR with AVFoundation and Metal","url":"\/documentation\/wwdc22-110565-display-hdr-video-in-edr-with-avfoundation-and-metal\/"},{"category":"","section":"documentation","slug":"wwdc22-110441-design-for-arabic","summary":"تعرّف على المبادئ الأساسية لتصميم الواجهات الرقمية باللغة العربية. سواء كنت تود تصميم تطبيق أو لعبة خصيصًا للاستخدام العربي، أو تود ترجمة تطبيق من لغة أخرى إلى العربية، سنقدم لك أفضل الطرق للوصول إلى تصميم مثالي يخدم المحتوى العربي. تعلم أيضا تأثير اتجاه اللغة على اتجاه القوالب والأيقونات، وسمات الخط العربي الجيد للاستخدام الرقمي، وصيغ الأرقام العربية وتأثيرها على واجهة المستخدم.","tags":[],"title":"Design for Arabic","url":"\/documentation\/wwdc22-110441-design-for-arabic\/"},{"category":"","section":"documentation","slug":"wwdc22-110429-discover-advancements-in-ios-camera-capture-depth-focus-and-multitasking","summary":"Discover how you can take advantage of advanced camera capture features in your app. We’ll show you how to use the LiDAR scanner to create photo and video effects and perform accurate depth measurement. Learn how your app can use the camera for picture-in-picture or multitasking, control face-driven autofocus and autoexposure during camera capture, and more. We’ll also share strategies for using multiple video outputs so that you can optimize live preview while capturing high-quality video output.","tags":[],"title":"Discover advancements in iOS camera capture: Depth, focus, and multitasking","url":"\/documentation\/wwdc22-110429-discover-advancements-in-ios-camera-capture-depth-focus-and-multitasking\/"},{"category":"","section":"documentation","slug":"wwdc22-110427-whats-new-in-xcode","summary":"Discover the latest productivity and performance advancements in Xcode 14. We’ll introduce you to the fully redesigned SwiftUI canvas experience, explore enhancements to code completion and navigation, and take you through performance improvements we’ve made throughout the entire development process. We’ll also show you how you can now read and respond to feedback on your TestFlight builds without ever leaving Xcode.","tags":[],"title":"What’s new in Xcode","url":"\/documentation\/wwdc22-110427-whats-new-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc22-110404-implement-proactive-inapp-purchase-restore","summary":"Learn how you can restore someone’s in-app purchases access proactively when they first open your app. We’ll show you how you can deliver instant access to existing subscriptions using StoreKit or StoreKit 2 and cover best practices for both your client and server implementations. Find out more about how you can determine customer purchase state and create a personalized onboarding experience for your app.","tags":[],"title":"Implement proactive in-app purchase restore","url":"\/documentation\/wwdc22-110404-implement-proactive-inapp-purchase-restore\/"},{"category":"","section":"documentation","slug":"wwdc22-110403-meet-background-assets","summary":"Discover how you can use the Background Assets framework to download large files directly from your CDN and improve the initial launch experience of your apps and games. We’ll show you how to schedule background downloads during initial app install, app updates, and periodically as someone uses the app. We’ll also explore how you can manage scheduled downloads to make sure people have the content they want, when they want it.","tags":[],"title":"Meet Background Assets","url":"\/documentation\/wwdc22-110403-meet-background-assets\/"},{"category":"","section":"documentation","slug":"wwdc22-110401-create-swift-package-plugins","summary":"Tailor your development workflow and learn how to write your own package plugins in Swift. We’ll show you how you can extend Xcode’s functionality by using the PackagePlugin API to generate source code or automate release tasks and share best practices for creating great plugins.","tags":[],"title":"Create Swift Package plugins","url":"\/documentation\/wwdc22-110401-create-swift-package-plugins\/"},{"category":"","section":"documentation","slug":"wwdc22-110384-support-multiple-users-in-tvos-apps","summary":"Discover how you can create personalized, individual experiences in your tvOS app. We’ll show you how you can offer a single checkbox to store profile data, game save states, and more, providing each person with the same level of data separation they’d have on a personal device like iPhone. We’ll also explore how the new user-independent keychain can help you maintain your existing sign on experience for multiple people in the same household.","tags":[],"title":"Support multiple users in tvOS apps","url":"\/documentation\/wwdc22-110384-support-multiple-users-in-tvos-apps\/"},{"category":"","section":"documentation","slug":"wwdc22-110381-meet-the-expanded-san-francisco-font-family","summary":"Discover the latest additions to San Francisco – the system font for Apple platforms – and find out how they can provide more control and versatility when designing interfaces. In addition to weights and optical sizes, San Francisco now supports three new width styles: Condensed, Compressed, and Expanded. We’ll also take you through the linguistic expansion of San Francisco and learn more about the feature-rich Arabic system font families: SF Arabic and SF Arabic Rounded.","tags":[],"title":"Meet the expanded San Francisco font family","url":"\/documentation\/wwdc22-110381-meet-the-expanded-san-francisco-font-family\/"},{"category":"","section":"documentation","slug":"wwdc22-110380-display-ads-and-interstitials-in-shareplay","summary":"Find out how you can deliver a coordinated playback experience in SharePlay when your app delivers different ad schedules to each participant. We’ll explore how to build playback experiences with stitched-in ads and scheduled HLS interstitials, and share tips and best practices.","tags":[],"title":"Display ads and interstitials in SharePlay","url":"\/documentation\/wwdc22-110380-display-ads-and-interstitials-in-shareplay\/"},{"category":"","section":"documentation","slug":"wwdc22-110379-create-a-more-responsive-media-app","summary":"Discover how you can use AVFoundation to keep people focused on your media app’s content — not your loading spinner. We’ll show you how to support a responsive and fluid interface in your app, all while you create rich audiovisual compositions, load audiovisual assets, and prepare media thumbnails. Find out how you can perform these tasks on your app’s main thread while I\/O processes in parallel, learn how to get top-notch playback performance when loading data from custom storage, and more.","tags":[],"title":"Create a more responsive media app","url":"\/documentation\/wwdc22-110379-create-a-more-responsive-media-app\/"},{"category":"","section":"documentation","slug":"wwdc22-110375-deep-dive-into-xcode-cloud-for-teams","summary":"Learn how you can use Apple’s continuous integration and continuous delivery (CI\/CD) service with development teams of any size to help you deliver high-quality apps. We’ll show you how to integrate Xcode Cloud into your team’s existing app development process and efficiently use Xcode Cloud in your CI\/CD practice. We’ll also demonstrate how you can use the App Store Connect API to integrate Xcode Cloud with an issue tracker, explore code dependency management, and share best practices.","tags":[],"title":"Deep dive into Xcode Cloud for teams","url":"\/documentation\/wwdc22-110375-deep-dive-into-xcode-cloud-for-teams\/"},{"category":"","section":"documentation","slug":"wwdc22-110374-get-the-most-out-of-xcode-cloud","summary":"Discover how you can get the most out of Xcode Cloud, Apple’s continuous integration and continuous delivery (CI\/CD) service. We’ll take you through an overview of Xcode Cloud and how it connects with Xcode and App Store Connect. We’ll also explore the Xcode Cloud Usage Dashboard in App Store Connect, and learn how you can use this tool to help optimize your build and release process across multiple team projects.","tags":[],"title":"Get the most out of Xcode Cloud","url":"\/documentation\/wwdc22-110374-get-the-most-out-of-xcode-cloud\/"},{"category":"","section":"documentation","slug":"wwdc22-110373-bring-your-driver-to-ipad-with-driverkit","summary":"Discover how you can easily connect Thunderbolt and USB accessories to iPad with DriverKit. We’ll show you how to convert your existing Mac drivers without any code changes, learn how to add real-time audio support with AudioDriverKit, and provide best practices and tips for developing drivers for iPad.","tags":[],"title":"Bring your driver to iPad with DriverKit","url":"\/documentation\/wwdc22-110373-bring-your-driver-to-ipad-with-driverkit\/"},{"category":"","section":"documentation","slug":"wwdc22-110371-use-xcode-to-develop-a-multiplatform-app","summary":"Learn how you can build apps for multiple Apple platforms using Xcode 14. We’ll show you how to streamline app targets, maintain a common codebase, and share settings by default. We’ll also explore how you can customize your app for each platform through conditionalizing your settings and code.","tags":[],"title":"Use Xcode to develop a multiplatform app","url":"\/documentation\/wwdc22-110371-use-xcode-to-develop-a-multiplatform-app\/"},{"category":"","section":"documentation","slug":"wwdc22-110370-debug-swift-debugging-with-lldb","summary":"Learn how you can set up complex Swift projects for debugging. We’ll take you on a deep dive into the internals of LLDB and debug info. We’ll also share best practices for complex scenarios such as debugging code built on build servers or code from custom build systems.","tags":[],"title":"Debug Swift debugging with LLDB","url":"\/documentation\/wwdc22-110370-debug-swift-debugging-with-lldb\/"},{"category":"","section":"documentation","slug":"wwdc22-110369-improve-the-discoverability-of-your-swiftdocc-content","summary":"Explore the navigation experience for Swift-DocC on the web. We’ll show you how you can organize and optimize your content to help guide developers through documentation about your frameworks and applications. We’ll also share enhanced techniques to help readers browse your documentation with ease.","tags":[],"title":"Improve the discoverability of your Swift-DocC content","url":"\/documentation\/wwdc22-110369-improve-the-discoverability-of-your-swiftdocc-content\/"},{"category":"","section":"documentation","slug":"wwdc22-110368-whats-new-in-swiftdocc","summary":"Join us for an exciting update on Swift-DocC and learn how you can write and share documentation for your own projects. We’ll explore improvements to Swift-DocC navigation and share how you can compile documentation for application targets and Objective-C code. We’ll also show you how to publish your content straight to hosting services like GitHub Pages.","tags":[],"title":"What’s new in Swift-DocC","url":"\/documentation\/wwdc22-110368-whats-new-in-swiftdocc\/"},{"category":"","section":"documentation","slug":"wwdc22-110367-simplify-c-templates-with-concepts","summary":"Discover how C++20 features can take your C++ code to the next level. We’ll introduce concepts and explore how you can use it to find errors faster in your generic C++ code. We’ll also discuss the latest enhancements to the constexpr feature and show how you can leverage it to improve your app’s performance by evaluating code at compile time.","tags":[],"title":"Simplify C++ templates with concepts","url":"\/documentation\/wwdc22-110367-simplify-c-templates-with-concepts\/"},{"category":"","section":"documentation","slug":"wwdc22-110364-demystify-parallelization-in-xcode-builds","summary":"Learn how the Xcode build system extracts maximum parallelism from your builds. We’ll explore how you can structure your project to improve build efficiency, take you through the process for resolving relationships between targets’ build phases in Xcode, and share how you can take full advantage of available hardware resources when compiling in Swift. We’ll also introduce you to Build Timeline — a powerful tool to help you monitor your build efficiency and performance.","tags":[],"title":"Demystify parallelization in Xcode builds","url":"\/documentation\/wwdc22-110364-demystify-parallelization-in-xcode-builds\/"},{"category":"","section":"documentation","slug":"wwdc22-110363-improve-app-size-and-runtime-performance","summary":"Learn how we’ve optimized the Swift and Objective-C runtimes to help you make your app smaller, quicker, and launch faster. Discover how you can get access to efficient protocol checks, smaller message send calls, and optimized ARC simply when you build your app with Xcode 14 and update your deployment target.","tags":[],"title":"Improve app size and runtime performance","url":"\/documentation\/wwdc22-110363-improve-app-size-and-runtime-performance\/"},{"category":"","section":"documentation","slug":"wwdc22-110362-link-fast-improve-build-and-launch-times","summary":"Discover how to improve your app’s build and runtime linking performance. We’ll take you behind the scenes to learn more about linking, your options, and the latest updates that improve the link performance of your app.","tags":[],"title":"Link fast: Improve build and launch times","url":"\/documentation\/wwdc22-110362-link-fast-improve-build-and-launch-times\/"},{"category":"","section":"documentation","slug":"wwdc22-110361-author-fast-and-reliable-tests-for-xcode-cloud","summary":"Discover how you can create effective testing plans for Xcode Cloud, Apple’s continuous integration and continuous delivery service. We’ll show you how testing can be an essential tool to consistently verify your code works correctly. Learn how you can author fast, reliable, and efficient tests for Xcode Cloud, avoid irrelevant failures, and verify your code changes quickly.","tags":[],"title":"Author fast and reliable tests for Xcode Cloud","url":"\/documentation\/wwdc22-110361-author-fast-and-reliable-tests-for-xcode-cloud\/"},{"category":"","section":"documentation","slug":"wwdc22-110360-use-xcode-for-serverside-development","summary":"Discover how you can create, build, and deploy a Swift server app alongside your pre-existing Xcode projects within the same workspace. We’ll show you how to create your own local app and test endpoints using Xcode, and explore how you can structure and share code between server and client apps to ease your development process","tags":[],"title":"Use Xcode for server-side development","url":"\/documentation\/wwdc22-110360-use-xcode-for-serverside-development\/"},{"category":"","section":"documentation","slug":"wwdc22-110359-meet-swift-package-plugins","summary":"Discover how you can perform actions on Swift packages and Xcode projects with Swift package plugins. We’ll go over how these plugins work and explore how you can use them to generate source code and automate your development workflow.","tags":[],"title":"Meet Swift Package plugins","url":"\/documentation\/wwdc22-110359-meet-swift-package-plugins\/"},{"category":"","section":"documentation","slug":"wwdc22-110358-swift-regex-beyond-the-basics","summary":"Go beyond the basics of string processing with Swift Regex. We’ll share an overview of Regex and how it works, explore Foundation’s rich data parsers and discover how to integrate your own, and delve into captures. We’ll also provide best practices for matching strings and wielding Regex-powered algorithms with ease.","tags":[],"title":"Swift Regex: Beyond the basics","url":"\/documentation\/wwdc22-110358-swift-regex-beyond-the-basics\/"},{"category":"","section":"documentation","slug":"wwdc22-110357-meet-swift-regex","summary":"Learn how you can process strings more effectively when you take advantage of Swift Regex. Come for concise literals but stay for Regex builders — a new, declarative approach to string processing. We’ll also explore the Unicode models in String and share how Swift Regex can make Unicode-correct processing easy.","tags":[],"title":"Meet Swift Regex","url":"\/documentation\/wwdc22-110357-meet-swift-regex\/"},{"category":"","section":"documentation","slug":"wwdc22-110356-meet-distributed-actors-in-swift","summary":"Discover distributed actors — an extension of Swift’s actor model that simplifies development of distributed systems. We’ll explore how distributed actor isolation and location transparency can help you avoid the accidental complexity of networking, serialization, and other transport concerns when working with distributed apps and systems.","tags":[],"title":"Meet distributed actors in Swift","url":"\/documentation\/wwdc22-110356-meet-distributed-actors-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc22-110355-meet-swift-async-algorithms","summary":"Discover the latest open source Swift package from Apple: Swift Async Algorithms. We’ll explore algorithms from this package that you can use with AsyncSequence, including zip, merge, and throttle. Follow along with us as we use these algorithms to build a great messaging app. We’ll also share best practices for combining multiple AsyncSequences and using the Swift Clock type to work with values over time.","tags":[],"title":"Meet Swift Async Algorithms","url":"\/documentation\/wwdc22-110355-meet-swift-async-algorithms\/"},{"category":"","section":"documentation","slug":"wwdc22-110354-whats-new-in-swift","summary":"Join us for an update on Swift. We’ll take you through performance improvements, explore more secure and extensible Swift packages, and share advancements in Swift concurrency. We’ll also introduce you to Swift Regex, better generics, and other tools built into the language to help you write more flexible & expressive code.","tags":[],"title":"What’s new in Swift","url":"\/documentation\/wwdc22-110354-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc22-110353-design-protocol-interfaces-in-swift","summary":"Learn how you can use Swift 5.7 to design advanced abstractions using protocols. We’ll show you how to use existential types, explore how you can separate implementation from interface with opaque result types, and share the same-type requirements that can help you identify and guarantee relationships between concrete types.","tags":[],"title":"Design protocol interfaces in Swift","url":"\/documentation\/wwdc22-110353-design-protocol-interfaces-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc22-110352-embrace-swift-generics","summary":"Generics are a fundamental tool for writing abstract code in Swift. Learn how you can identify opportunities for abstraction as your code evolves, evaluate strategies for writing one piece of code with many behaviors, and discover language features in Swift 5.7 that can help you make generic code easier to write and understand.","tags":[],"title":"Embrace Swift generics","url":"\/documentation\/wwdc22-110352-embrace-swift-generics\/"},{"category":"","section":"documentation","slug":"wwdc22-110351-eliminate-data-races-using-swift-concurrency","summary":"Join us as we explore one of the core concepts in Swift concurrency: isolation of tasks and actors. We’ll take you through Swift’s approach to eliminating data races and its effect on app architecture. We’ll also discuss the importance of atomicity in your code, share the nuances of Sendable checking to maintain isolation, and revisit assumptions about ordering work in a concurrent system.","tags":[],"title":"Eliminate data races using Swift Concurrency","url":"\/documentation\/wwdc22-110351-eliminate-data-races-using-swift-concurrency\/"},{"category":"","section":"documentation","slug":"wwdc22-110350-visualize-and-optimize-swift-concurrency","summary":"Learn how you can optimize your app with the Swift Concurrency template in Instruments. We’ll discuss common performance issues and show you how to use Instruments to find and resolve these problems. Learn how you can keep your UI responsive, maximize parallel performance, and analyze Swift concurrency activity within your app.","tags":[],"title":"Visualize and optimize Swift concurrency","url":"\/documentation\/wwdc22-110350-visualize-and-optimize-swift-concurrency\/"},{"category":"","section":"documentation","slug":"wwdc22-110349-create-engaging-content-for-swift-playgrounds","summary":"Learn how you can build guided instructional content designed for Swift Playgrounds. Follow along with us as we explore how you can add a guide to a completed sample code project. We’ll demonstrate how to add tasks to your learning center to show off relevant code and optional experiment tasks that encourage learners to extend the project with code of their own.","tags":[],"title":"Create engaging content for Swift Playgrounds","url":"\/documentation\/wwdc22-110349-create-engaging-content-for-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc22-110348-build-your-first-app-in-swift-playgrounds","summary":"Learn how you can easily prototype and build apps with Swift Playgrounds. We’ll show you how to create an app from a blank project, build its interface with SwiftUI, and use Swift Package Manager to add extra functionality from an open source package. We’ll also explore how you can debug issues using Previews and the console and take you through submitting an app to App Store Connect for distribution via TestFlight.","tags":[],"title":"Build your first app in Swift Playgrounds","url":"\/documentation\/wwdc22-110348-build-your-first-app-in-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc22-110347-explore-more-content-with-musickit","summary":"Discover how you can enhance and personalize your app using MusicKit. We’ll take you through the latest additions to the MusicKit framework and explore how you can bring music content to your app through requests, metadata, and more.","tags":[],"title":"Explore more content with MusicKit","url":"\/documentation\/wwdc22-110347-explore-more-content-with-musickit\/"},{"category":"","section":"documentation","slug":"wwdc22-110345-whats-new-in-endpoint-security","summary":"Learn how you can build reliable endpoint security products like anti-virus software, endpoint detection and response, and data leakage prevention solutions for macOS. We’ll take you through the latest enhancements to Endpoint Security APIs: Learn how you can support more security events and use advanced muting capabilities in your app. We’ll also explore a standalone tool to help you perform introspection from the command line.","tags":[],"title":"What’s new in Endpoint Security","url":"\/documentation\/wwdc22-110345-whats-new-in-endpoint-security\/"},{"category":"","section":"documentation","slug":"wwdc22-110344-get-to-know-developer-mode","summary":"Meet Developer Mode — required on iOS 16, iPadOS 16, and watchOS 9 to install, run, and debug your apps during development. We’ll show you how you to opt in to Developer Mode on your devices, and how to enable Developer Mode in your automation workflows.","tags":[],"title":"Get to know Developer Mode","url":"\/documentation\/wwdc22-110344-get-to-know-developer-mode\/"},{"category":"","section":"documentation","slug":"wwdc22-110343-swiftui-on-ipad-add-toolbars-titles-and-more","summary":"Get ready to tune up your iPad app’s toolbars with SwiftUI. We’ll show you how you can structure toolbars to take advantage of the space available on iPad and help people maximize their productivity. We’ll also take you through customization, explore the latest ways you can represent documents, and more.","tags":[],"title":"SwiftUI on iPad: Add toolbars, titles, and more","url":"\/documentation\/wwdc22-110343-swiftui-on-ipad-add-toolbars-titles-and-more\/"},{"category":"","section":"documentation","slug":"wwdc22-110342-design-app-experiences-with-charts","summary":"Learn how you can enhance your app with charts to communicate data with more clarity and appeal. We’ll show you when to use charts, how to use them and how they work together in a chart design system.","tags":[],"title":"Design app experiences with charts","url":"\/documentation\/wwdc22-110342-design-app-experiences-with-charts\/"},{"category":"","section":"documentation","slug":"wwdc22-110341-explore-sms-message-filters","summary":"SMS message filter extensions can help people manage Messages by filtering SMS messages from unknown senders. Discover how to create apps with message filter extensions that automatically categorize SMS messages into folders and sub-folders based on message contents and other heuristics.","tags":[],"title":"Explore SMS message filters","url":"\/documentation\/wwdc22-110341-explore-sms-message-filters\/"},{"category":"","section":"documentation","slug":"wwdc22-110340-design-an-effective-chart","summary":"Learn how to design focused, approachable, and accessible charts. We’ll show you how to design great charts with clear marks, axes, descriptions, interaction, and color and help you create useful experiences for everyone.","tags":[],"title":"Design an effective chart","url":"\/documentation\/wwdc22-110340-design-an-effective-chart\/"},{"category":"","section":"documentation","slug":"wwdc22-110339-build-devicetodevice-interactions-with-network-framework","summary":"Learn how you can create integrated content experiences across multiple devices. We’ll introduce you to DeviceDiscoveryUI, which makes it easy to set up communication pathways and connect Apple TV with other devices like iPhone, iPad and Apple Watch. We’ll also explore common scenarios and provide best practices to help you enable frictionless device-to-device connectivity.","tags":[],"title":"Build device-to-device interactions with Network Framework","url":"\/documentation\/wwdc22-110339-build-devicetodevice-interactions-with-network-framework\/"},{"category":"","section":"documentation","slug":"wwdc22-110338-explore-media-metadata-publishing-and-playback-interactions","summary":"Learn how you can highlight your app’s Now Playing information on every platform. We’ll take you through an overview of media metadata, learn how it gets represented in areas like the Lock Screen and Control Center, and show you how to write and publish effective media metadata for your content. We’ll also explore how your app can respond to commands from other devices such as HomePod.","tags":[],"title":"Explore media metadata publishing and playback interactions","url":"\/documentation\/wwdc22-110338-explore-media-metadata-publishing-and-playback-interactions\/"},{"category":"","section":"documentation","slug":"wwdc22-110336-whats-new-in-screen-time-api","summary":"Find out how you can build apps that help people manage their relationship with their device — all while putting privacy first. We’ll take you through the Screen Time API and share how you can use features like core restrictions and device activity reports to create great experiences while providing measurable control for the device’s owner, parents, and guardians.","tags":[],"title":"What’s new in Screen Time API","url":"\/documentation\/wwdc22-110336-whats-new-in-screen-time-api\/"},{"category":"","section":"documentation","slug":"wwdc22-110335-explore-apple-business-essentials","summary":"Learn more about Apple Business Essentials — a complete solution that brings together device management, 24\/7 support, and cloud storage for your small business. We’ll explore how you can use features like Collections to manage apps and settings for every iPhone, iPad, Mac, and Apple TV in your organization. Find out how you can get started and review how Apple Business Essentials works for you and your employees.","tags":[],"title":"Explore Apple Business Essentials","url":"\/documentation\/wwdc22-110335-explore-apple-business-essentials\/"},{"category":"","section":"documentation","slug":"wwdc22-110332-whats-new-in-create-ml","summary":"Discover the latest updates to Create ML. We’ll share improvements to Create ML’s evaluation tools that can help you understand how your custom models will perform on real-world data. Learn how you can check model performance on each type of image in your test data and identify problems within individual images to help you troubleshoot mistaken classifications, poorly labeled data, and other errors. We’ll also show you how to test your model with iPhone and iPad in live preview using Continuity Camera, and share how you can take Action Classification even further with the new Repetition Counting capabilities of the Create ML Components framework.","tags":[],"title":"What’s new in Create ML","url":"\/documentation\/wwdc22-110332-whats-new-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc22-103-apple-design-awards","summary":"The Apple Design Awards honors excellence in innovation, ingenuity, and technical achievement in app and game design. Watch along as we reveal and celebrate the 2022 winners.","tags":[],"title":"Apple Design Awards","url":"\/documentation\/wwdc22-103-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc22-102-platforms-state-of-the-union","summary":"Take a deeper dive into the latest tools, technologies, and advances across Apple platforms to help you create even better apps.","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc22-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc22-10170-implement-app-shortcuts-with-app-intents","summary":"Discover how you can create Shortcuts in your app with zero user setup. We’ll show you how App Intents can help you present custom Shortcuts views, and explore how you can add support for parameterized phrases to allow people to quickly express their intent. We’ll also share how you can make your App Shortcuts discoverable with a Siri Tip, and Shortcuts links.","tags":[],"title":"Implement App Shortcuts with App Intents","url":"\/documentation\/wwdc22-10170-implement-app-shortcuts-with-app-intents\/"},{"category":"","section":"documentation","slug":"wwdc22-10169-design-app-shortcuts","summary":"Learn how you can surface great features from your app directly in Siri, Spotlight, and the Shortcuts app. We’ll introduce you to App Shortcuts, provide best practices to help you evaluate features in your app that would work well as App Shortcuts, and take you through the process of creating one of your own. Learn how to create clear and memorable names, design custom visuals, collect required information, and create discoverable shortcuts","tags":[],"title":"Design App Shortcuts","url":"\/documentation\/wwdc22-10169-design-app-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc22-10167-create-your-privacy-nutrition-label","summary":"Privacy Nutrition Labels help people understand your app’s privacy practices. Discover how you can take inventory of your current data habits and learn best practices for creating your app’s Privacy Nutrition Label on your App Store product page.","tags":[],"title":"Create your Privacy Nutrition Label","url":"\/documentation\/wwdc22-10167-create-your-privacy-nutrition-label\/"},{"category":"","section":"documentation","slug":"wwdc22-10166-explore-app-tracking-transparency","summary":"Learn more about App Tracking Transparency and how it helps people using your app have choice and control over tracking. App Store Policy now requires that all apps receive permission through the AppTrackingTransparency framework in order to track people’s data. We’ll explain how this policy defines tracking, whether your app needs to adopt this framework, and how to implement it effectively.","tags":[],"title":"Explore App Tracking Transparency","url":"\/documentation\/wwdc22-10166-explore-app-tracking-transparency\/"},{"category":"","section":"documentation","slug":"wwdc22-10162-transform-your-geometry-with-metal-mesh-shaders","summary":"Meet Metal mesh shaders — a modern and flexible pipeline in Metal for GPU-driven geometry creation and processing. We’ll explore how this API can improve and add flexibility to your render pipeline, and share some of the opportunities that GPU-driven work can create. Discover how you can create procedural geometry — like hair rendering — on the GPU using mesh shaders, and build single render passes without additional compute passes or intermediate buffers. We’ll also show you how to improve scene processing and rendering through GPU-driven meshlet culling.","tags":[],"title":"Transform your geometry with Metal mesh shaders","url":"\/documentation\/wwdc22-10162-transform-your-geometry-with-metal-mesh-shaders\/"},{"category":"","section":"documentation","slug":"wwdc22-10160-program-metal-in-c-with-metalcpp","summary":"Your C++ games and apps can now tap into the power of Metal. We’ll show you how metal-cpp helps you bridge your C++ code to Metal, explore how each manages object lifecycles, and demonstrate utilities that can help these language cooperate in your app. We’ll also share best practices for designing app architecture to elegantly integrate Objective-C and C++ together.","tags":[],"title":"Program Metal in C++ with metal-cpp","url":"\/documentation\/wwdc22-10160-program-metal-in-c-with-metalcpp\/"},{"category":"","section":"documentation","slug":"wwdc22-10159-scale-compute-workloads-across-apple-gpus","summary":"Discover how you can create compute workloads that scale efficiently across Apple GPUs. Learn how to saturate the GPU by improving your work distribution, minimize GPU timeline gaps with effective pipelining and concurrent dispatches, and use atomic operations effectively. We’ll also take you through the latest counters and tools in Xcode and Instruments that can help you optimize spatial and temporal memory access patterns.","tags":[],"title":"Scale compute workloads across Apple GPUs","url":"\/documentation\/wwdc22-10159-scale-compute-workloads-across-apple-gpus\/"},{"category":"","section":"documentation","slug":"wwdc22-10158-adopt-variable-color-in-sf-symbols","summary":"Explore how you can use Variable Color to make SF Symbols even more expressive. We’ll show you how system-provided symbols use variable color and provide best practices and guidance for using it effectively. We’ll also help you learn how to incorporate variable color into custom symbols using the SF Symbols app and its annotation tools.","tags":[],"title":"Adopt Variable Color in SF Symbols","url":"\/documentation\/wwdc22-10158-adopt-variable-color-in-sf-symbols\/"},{"category":"","section":"documentation","slug":"wwdc22-10157-whats-new-in-sf-symbols-4","summary":"Explore the latest updates to SF Symbols, Apple’s extensive library of iconography designed to integrate seamlessly with San Francisco, the system font for all Apple platforms. Discover the latest additions to the SF Symbols library and new categories in the app. Learn about the new Automatic behavior, which chooses the rendering mode that best highlights what’s unique about the symbol’s characteristics. See how to use the new Variable Color feature to make a symbol more dynamic. We’ll also learn about a more efficient way of annotating symbols with the new unified approach.","tags":[],"title":"What’s new in SF Symbols 4","url":"\/documentation\/wwdc22-10157-whats-new-in-sf-symbols-4\/"},{"category":"","section":"documentation","slug":"wwdc22-10156-meet-screencapturekit","summary":"Learn how ScreenCaptureKit can deliver high-performance screen capture for your macOS screen sharing applications, video conferencing apps, game streaming services, and more. We’ll explore the building blocks of this API, learn how to configure streams to capture on-screen video and audio content, and share tips for integrating it into your existing apps.","tags":[],"title":"Meet ScreenCaptureKit","url":"\/documentation\/wwdc22-10156-meet-screencapturekit\/"},{"category":"","section":"documentation","slug":"wwdc22-10155-take-screencapturekit-to-the-next-level","summary":"Discover how you can support complex screen capture experiences for people using your app with ScreenCaptureKit. We’ll explore many of the advanced options you can incorporate including fine tuning content filters, frame metadata interpretation, window pickers, and more. We’ll also show you how you can configure your stream for optimal performance.","tags":[],"title":"Take ScreenCaptureKit to the next level","url":"\/documentation\/wwdc22-10155-take-screencapturekit-to-the-next-level\/"},{"category":"","section":"documentation","slug":"wwdc22-10153-whats-new-in-web-accessibility","summary":"Discover techniques for building rich, accessible web apps with custom controls, SSML, and the dialog element. We’ll discuss different assistive technologies and help you learn how to use them when testing the accessibility of your web apps.","tags":[],"title":"What’s new in web accessibility","url":"\/documentation\/wwdc22-10153-whats-new-in-web-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc22-10152-create-accessible-single-app-mode-experiences","summary":"Learn how you can provide more control and accessibility to people using your apps in Single App Mode. We’ll share how you can use the UIAccessibility and Automatic Assessment Configuration frameworks to apply these restrictions when needed and enable these accessibility features without ever opening the Settings app. We’ll also take you through how you can add custom restrictions within your app to better support the Guided Access feature in iOS, which puts any app into Single App Mode temporarily.","tags":[],"title":"Create accessible Single App Mode experiences","url":"\/documentation\/wwdc22-10152-create-accessible-single-app-mode-experiences\/"},{"category":"","section":"documentation","slug":"wwdc22-10151-add-accessibility-to-your-unity-games","summary":"Learn how you can make your Unity games accessible on Apple platforms using our open source Accessibility plug-in. Follow along as we add support for assistive technologies like VoiceOver and Switch Control to a sample Unity game project. We’ll show you how you can automatically scale text with Dynamic Type, support interface accommodations like reduced transparency or increased contrast, and more.","tags":[],"title":"Add accessibility to your Unity games","url":"\/documentation\/wwdc22-10151-add-accessibility-to-your-unity-games\/"},{"category":"","section":"documentation","slug":"wwdc22-10149-whats-new-in-avqt","summary":"Discover the latest updates and improvements to the Advanced Video Quality Tool (AVQT). We’ll take you through the interactive reports feature and help you learn how to identify video quality-related issues. We’ll also explore extended support for raw formats, show you how to evaluate specific scenes within a video, and explore how you can use AVQT for Linux to analyze videos on Linux servers and online in the cloud.","tags":[],"title":"What’s new in AVQT","url":"\/documentation\/wwdc22-10149-whats-new-in-avqt\/"},{"category":"","section":"documentation","slug":"wwdc22-10148-meet-apple-music-api-and-musickit","summary":"Explore the Apple Music API and MusicKit client frameworks. Learn how you can integrate Apple Music features into your web service or Android app, make requests to the Apple Music API to discover and fetch content, and personalize the experience for subscribers.","tags":[],"title":"Meet Apple Music API and MusicKit","url":"\/documentation\/wwdc22-10148-meet-apple-music-api-and-musickit\/"},{"category":"","section":"documentation","slug":"wwdc22-10147-create-a-great-video-playback-experience","summary":"Find out how you can use the latest iOS and iPadOS system media players to build amazing media apps. We’ll share how we designed the updated player and give you best practices and tips to help you design media experiences of your own. We’ll also explore Live Text for video and show you how to integrate interstitials and playback speed controls into your apps.","tags":[],"title":"Create a great video playback experience","url":"\/documentation\/wwdc22-10147-create-a-great-video-playback-experience\/"},{"category":"","section":"documentation","slug":"wwdc22-10145-whats-new-in-hls-interstitials","summary":"HLS Interstitials can help you create seamless transitions in video content between advertisements, other interstitials, and your HLS streams. Learn how you can optimize your ad inventory, fine-tune interstitial presentation with SNAP-IN\/OUT when using HLS, and more.","tags":[],"title":"What’s new in HLS Interstitials","url":"\/documentation\/wwdc22-10145-whats-new-in-hls-interstitials\/"},{"category":"","section":"documentation","slug":"wwdc22-10144-deliver-reliable-streams-with-hls-content-steering","summary":"HLS Content Steering dynamically steers clients to different servers based on load and redundancy. We’ll take you through the latest updates to this framework and explore how you can introduce dynamically spawned CDNs to existing HLS clients with Pathway Cloning. We’ll also share how you can achieve global traffic steering with bucket-based Steering Server rules and more.","tags":[],"title":"Deliver reliable streams with HLS Content Steering","url":"\/documentation\/wwdc22-10144-deliver-reliable-streams-with-hls-content-steering\/"},{"category":"","section":"documentation","slug":"wwdc22-10143-discover-managed-device-attestation","summary":"Learn how to use Managed Device Attestation to ensure only legitimate devices can connect to your servers while attackers are thwarted. We’ll take you through an overview of how attestations provide strong evidence about managed devices. We’ll also explore how to use attestations and private keys generated by the Secure Enclave to secure communications to services such as MDM, VPN, and Wi-Fi.","tags":[],"title":"Discover Managed Device Attestation","url":"\/documentation\/wwdc22-10143-discover-managed-device-attestation\/"},{"category":"","section":"documentation","slug":"wwdc22-10142-efficiency-awaits-background-tasks-in-swiftui","summary":"Background Tasks help apps respond to system events and keep time-sensitive data up to date. Learn how you can use the SwiftUI Background Tasks API to handle tasks succinctly. We’ll show you how to use Swift Concurrency to handle network responses, background refresh, and more — all while preserving performance and power.","tags":[],"title":"Efficiency awaits: Background tasks in SwiftUI","url":"\/documentation\/wwdc22-10142-efficiency-awaits-background-tasks-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc22-10141-explore-usd-tools-and-rendering","summary":"Discover the latest advancements in tooling to help you generate, inspect, and convert Universal Scene Description (USD) assets. We’ll learn about updates to these tools and help you integrate them into your content creation pipeline. We’ll also explore the power of USD Hydra rendering, and show how you can integrate it into your own apps.","tags":[],"title":"Explore USD tools and rendering","url":"\/documentation\/wwdc22-10141-explore-usd-tools-and-rendering\/"},{"category":"","section":"documentation","slug":"wwdc22-10140-whats-new-in-shareplay","summary":"Join us as we share the latest updates to SharePlay. We’ll show you how you can start SharePlay sessions right from your app, take you through improvements to APIs to create richer experiences, and check out enhancements to GroupSessionMessenger. We’ll also explore best practices for adding SharePlay to your app.","tags":[],"title":"What’s new in SharePlay","url":"\/documentation\/wwdc22-10140-whats-new-in-shareplay\/"},{"category":"","section":"documentation","slug":"wwdc22-10139-make-a-great-shareplay-experience","summary":"Discover how you can design and build a great SharePlay experience. We’ll show you how to identify activities in your app that can help bring everyone together — even while they’re apart. Learn best practices to help you design for group activities, create intuitive interactions, and build support for different types of experiences.","tags":[],"title":"Make a great SharePlay experience","url":"\/documentation\/wwdc22-10139-make-a-great-shareplay-experience\/"},{"category":"","section":"documentation","slug":"wwdc22-10137-swift-charts-raise-the-bar","summary":"Dive deep into data visualizations: Learn how Swift Charts and SwiftUI can help your apps represent complex datasets through a wide variety of chart options. We’ll show you how to plot different kinds of data and compose marks to create more elaborate charts. We’ll also take you through Swift Charts’ extensive chart customization API to help you match the style of your charts to your app.","tags":[],"title":"Swift Charts: Raise the bar","url":"\/documentation\/wwdc22-10137-swift-charts-raise-the-bar\/"},{"category":"","section":"documentation","slug":"wwdc22-10136-hello-swift-charts","summary":"Say hello to Swift Charts — a flexible framework that helps you create charts entirely in SwiftUI that look and feel right at home on all Apple platforms. Discover how you can use compositional syntax to make informative, delightful, and accessible charts with less code. We’ll share the building blocks for making visualizations with Swift Charts, and explore how you can change your charts’ design with a simple modifier. We’ll also take you through the latest updates to Xcode Previews to help you chart a path toward an engaging experience.","tags":[],"title":"Hello Swift Charts","url":"\/documentation\/wwdc22-10136-hello-swift-charts\/"},{"category":"","section":"documentation","slug":"wwdc22-10135-get-timely-alerts-from-bluetooth-devices-on-watchos","summary":"Find out how Bluetooth devices can send timely and relevant alerts to Apple Watch. We’ll show you how to take advantage of periodic data in complications, explore background peripheral discovery, and help you learn how to use characteristic monitoring in watchOS. We’ll also share best practices and design guidance for creating a great Bluetooth accessory.","tags":[],"title":"Get timely alerts from Bluetooth devices on watchOS","url":"\/documentation\/wwdc22-10135-get-timely-alerts-from-bluetooth-devices-on-watchos\/"},{"category":"","section":"documentation","slug":"wwdc22-10133-build-a-productivity-app-for-apple-watch","summary":"Your wrist has never been more productive. Discover how you can use SwiftUI and system features to build a great productivity app for Apple Watch. We’ll show you how you can design great work experiences for the wrist, and explore how you can get text input, display a basic chart, and share content with friends.","tags":[],"title":"Build a productivity app for Apple Watch","url":"\/documentation\/wwdc22-10133-build-a-productivity-app-for-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc22-10132-discover-photokit-change-history","summary":"PhotoKit can help you build rich, photo-centric features. Learn how you can easily track changes to image assets with the latest APIs in PhotoKit. We’ll introduce you to the PHPhotoLibrary change history API and demonstrate how you can persist change tokens across launches to help your app recognize additions, deletions, and updates to someone’s photo library.","tags":[],"title":"Discover PhotoKit change history","url":"\/documentation\/wwdc22-10132-discover-photokit-change-history\/"},{"category":"","section":"documentation","slug":"wwdc22-10131-qualities-of-great-ar-experiences","summary":"Discover best practices and techniques to help craft magical AR experiences for iPhone and iPad. We’ll provide guidance to help you determine if AR is a good fit for your experience, explore examples of great AR apps, and take you through key considerations when designing for augmented reality.","tags":[],"title":"Qualities of great AR experiences","url":"\/documentation\/wwdc22-10131-qualities-of-great-ar-experiences\/"},{"category":"","section":"documentation","slug":"wwdc22-10129-understand-usd-fundamentals","summary":"Discover the fundamentals of Pixar’s Universal Scene Description (USD) and learn how it can help you build great 3D assets and workflows. We’ll introduce you to the core concepts behind USD and explore how you can integrate the format into your content creation pipeline. We’ll also show you how to harness the power of USD by using composition to create flexible and versatile assets.","tags":[],"title":"Understand USD fundamentals","url":"\/documentation\/wwdc22-10129-understand-usd-fundamentals\/"},{"category":"","section":"documentation","slug":"wwdc22-10128-bring-your-world-into-augmented-reality","summary":"Follow along as we demonstrate how you can use Object Capture and RealityKit to bring real-world objects into an augmented reality game. We’ll show you how to capture detailed items using the Object Capture framework, add them to a RealityKit project in Xcode, apply stylized shaders and animations, and use them as part of an AR experience. We’ll also share best practices when working with ARKit, RealityKit, and Object Capture.","tags":[],"title":"Bring your world into augmented reality","url":"\/documentation\/wwdc22-10128-bring-your-world-into-augmented-reality\/"},{"category":"","section":"documentation","slug":"wwdc22-10127-create-parametric-3d-room-scans-with-roomplan","summary":"RoomPlan can help your app quickly create simplified parametric 3D scans of a room. Learn how you can use this API to easily add a room scanning experience. We’ll show you how to adopt this API, explore the 3D parametric output, and share best practices to help your app get great results with every scan.","tags":[],"title":"Create parametric 3D room scans with RoomPlan","url":"\/documentation\/wwdc22-10127-create-parametric-3d-room-scans-with-roomplan\/"},{"category":"","section":"documentation","slug":"wwdc22-10126-discover-arkit-6","summary":"Discover how you can build more refined and powerful augmented reality apps with ARKit 6. We’ll explore how you can create AR experiences rendered in 4K HDR and take you through camera settings customizations for your app. We’ll also share how you can export high-resolution still images from an ARKit session, take advantage of Plane Estimation and Motion Capture, and add AR Location Anchors in new regions.","tags":[],"title":"Discover ARKit 6","url":"\/documentation\/wwdc22-10126-discover-arkit-6\/"},{"category":"","section":"documentation","slug":"wwdc22-10122-enhance-your-sign-in-with-apple-experience","summary":"Learn how you can provide safe and fast authentication in your app using Sign in with Apple. We’ll show you how you can upgrade password-based accounts into secure, single-tap login credentials, and explore how you can seamlessly handle changes to user sessions in your app. We’ll also help you take advantage of Sign In with Apple across the web and on other platforms.","tags":[],"title":"Enhance your Sign in with Apple experience","url":"\/documentation\/wwdc22-10122-enhance-your-sign-in-with-apple-experience\/"},{"category":"","section":"documentation","slug":"wwdc22-10121-meet-focus-filters","summary":"Discover how you can customize app behaviors based on someone’s currently enabled Focus. We’ll show you how to use App Intents to define your app’s Focus filters, act on changes from the system, and present your app’s views in different ways. We’ll also explore how you can filter notifications and update badge counts.","tags":[],"title":"Meet Focus filters","url":"\/documentation\/wwdc22-10121-meet-focus-filters\/"},{"category":"","section":"documentation","slug":"wwdc22-10120-evolve-your-core-data-schema","summary":"Learn how you can cleanly migrate Core Data schemas after updating your app, and breeze through data model changes. We’ll show you how you can take advantage of built-in migration tools to keep your data storage up to date, and let Core Data analyze your schema to infer data model migrations. We’ll also provide best practices, help you tackle tough migration challenges, and discover how Core Data schemas can interact with CloudKit to support easy migrations in the cloud.","tags":[],"title":"Evolve your Core Data schema","url":"\/documentation\/wwdc22-10120-evolve-your-core-data-schema\/"},{"category":"","section":"documentation","slug":"wwdc22-10119-optimize-your-use-of-core-data-and-cloudkit","summary":"Join us as we explore the three parts of the development cycle that can help you optimize your Core Data and CloudKit implementation. We’ll show you how you can analyze your app’s architecture and feature set to verify assumptions, explore changes in behavior after ingesting large data sets, and get actionable feedback to make improvements to your workflow.","tags":[],"title":"Optimize your use of Core Data and CloudKit","url":"\/documentation\/wwdc22-10119-optimize-your-use-of-core-data-and-cloudkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10117-enhance-voice-communication-with-push-to-talk","summary":"We’re coming in loud and clear to help you bring walkie-talkie communication to your app — over! Discover how you can add prominent system UI to your Push to Talk app, enabling rapid communication with the tap of a button. We’ll introduce you to the PushToTalk framework and show you how to configure your apps to transmit and receive audio — even from the background.","tags":[],"title":"Enhance voice communication with Push to Talk","url":"\/documentation\/wwdc22-10117-enhance-voice-communication-with-push-to-talk\/"},{"category":"","section":"documentation","slug":"wwdc22-10116-meet-cktool-js","summary":"Discover how you can manage and automate your iCloud containers using CKTool JS. We’ll show you how to configure CKTool JS to manage your containers’ schemas, modify records with ease, and manipulate data on the fly. We’ll also explore how you can integrate CKTool JS into your automation and tooling workflows.","tags":[],"title":"Meet CKTool JS","url":"\/documentation\/wwdc22-10116-meet-cktool-js\/"},{"category":"","section":"documentation","slug":"wwdc22-10115-whats-new-in-cloudkit-console","summary":"We’ll take you through the latest updates to CloudKit Console and discover how you can explore and debug your containers on the web like never before. Learn more about Act as iCloud, which helps you query records and view data from the perspective of another account. Discover how to share zones of records, and provide better collaboration between participants. And find out how to hide inactive containers. We’ll also share a few tips on getting the most out of CloudKit Console.","tags":[],"title":"What’s new in CloudKit Console","url":"\/documentation\/wwdc22-10115-whats-new-in-cloudkit-console\/"},{"category":"","section":"documentation","slug":"wwdc22-10114-display-edr-content-with-core-image-metal-and-swiftui","summary":"Discover how you can add support for rendering in Extended Dynamic Range (EDR) from a Core Image based multi-platform SwiftUI application. We’ll outline best practices for displaying CIImages to a MTKView using ViewRepresentable. We’ll also share the simple steps to enable EDR rendering and explore some of the over 150 built-in CIFilters that support EDR.","tags":[],"title":"Display EDR content with Core Image, Metal, and SwiftUI","url":"\/documentation\/wwdc22-10114-display-edr-content-with-core-image-metal-and-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc22-10113-explore-edr-on-ios","summary":"EDR is Apple’s High Dynamic Range representation and rendering pipeline. Explore how you can render HDR content using EDR in your app and unleash the dynamic range capabilities of HDR displays on iPhone and iPad. We’ll show how you can take advantage of the native EDR APIs on iOS, provide best practices to help you decide when HDR is appropriate, and share tips for tone-mapping and HDR content rendering. We’ll also introduce you to Reference Mode and highlight how it provides a reference response to enable color-critical workflows such as color grading, editing, and content review.","tags":[],"title":"Explore EDR on iOS","url":"\/documentation\/wwdc22-10113-explore-edr-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc22-10110-build-global-apps-localization-by-example","summary":"Learn how you can run your apps on devices around the world and help everyone have a great experience — regardless of the language they speak. We’ll explore how Apple APIs can provide a solid foundation when creating apps for diverse audiences, and we’ll share examples, challenges, and best practices from our own experiences.","tags":[],"title":"Build global apps: Localization by example","url":"\/documentation\/wwdc22-10110-build-global-apps-localization-by-example\/"},{"category":"","section":"documentation","slug":"wwdc22-10109-whats-new-in-notarization-for-mac-apps","summary":"Notarization works in tandem with macOS to help people safely download software for their Mac outside of the App Store. Learn about the required transition from altool to notarytool and how the Xcode GUI can help you achieve better overall performance when notarizing your app. We’ll also share information about APIs for interacting with the Notary service from any internet-connected machine.","tags":[],"title":"What’s new in notarization for Mac apps","url":"\/documentation\/wwdc22-10109-whats-new-in-notarization-for-mac-apps\/"},{"category":"","section":"documentation","slug":"wwdc22-10108-streamline-local-authorization-flows","summary":"Discover how you can use the latest authorization-focused APIs in LocalAuthentication to protect the privacy and security of people’s data. We’ll show you how LocalAuthentication can authorize access to secrets, keys, and other sensitive resources in your app, all while reducing complexity and relying on the security and usability of common local authentication methods such as Touch ID and Face ID.","tags":[],"title":"Streamline local authorization flows","url":"\/documentation\/wwdc22-10108-streamline-local-authorization-flows\/"},{"category":"","section":"documentation","slug":"wwdc22-10107-get-it-right-to-left","summary":"Discover how to develop your app so that it can be localized into “right-to-left” languages such as Arabic and Hebrew. We’ll take you through important considerations for these languages, share solutions to challenges, and provide best practices for delivering a great right-to-left experience in your app.","tags":[],"title":"Get it right (to left)","url":"\/documentation\/wwdc22-10107-get-it-right-to-left\/"},{"category":"","section":"documentation","slug":"wwdc22-10106-profile-and-optimize-your-games-memory","summary":"Learn how Apple platforms calculate and allocate memory for your game. We’ll show you how to use Instruments and the Game Memory template to profile your game, take a memory graph to monitor current memory use, and analyze it using Xcode Memory Debugger and command line tools. We’ll also explore Metal resources in Metal Debugger and provide tips and tricks to further help you optimize memory usage.","tags":[],"title":"Profile and optimize your game’s memory","url":"\/documentation\/wwdc22-10106-profile-and-optimize-your-games-memory\/"},{"category":"","section":"documentation","slug":"wwdc22-10105-maximize-your-metal-ray-tracing-performance","summary":"Learn how to simplify your ray tracing code and increase performance with the power of Metal 3. We’ll explore the GPU debugging and profiling tools that can help you tune your ray tracing applications. We’ll also show you how you can speed up intersection tests and reduce shader code memory accesses and indirections with per-primitive data in an acceleration structure. And we’ll help you implement faster acceleration structure builds and refits to reduce load times and per-frame overhead.","tags":[],"title":"Maximize your Metal ray tracing performance","url":"\/documentation\/wwdc22-10105-maximize-your-metal-ray-tracing-performance\/"},{"category":"","section":"documentation","slug":"wwdc22-10104-load-resources-faster-with-metal-3","summary":"Discover how you can use fast resource streaming in Metal 3 to quickly load assets. We’ll show you how to use an asynchronous set-it-and-forget-it workflow in your app to take advantage of the speed of SSD storage and the throughput of Apple silicon’s unified memory architecture. We’ll also explore how you can create separate queues that run parallel to — and synchronize with — your GPU render and compute work. Finally, we’ll share how to designate assets like audio with high-priority queues to help you load data with lower latency.","tags":[],"title":"Load resources faster with Metal 3","url":"\/documentation\/wwdc22-10104-load-resources-faster-with-metal-3\/"},{"category":"","section":"documentation","slug":"wwdc22-10103-boost-performance-with-metalfx-upscaling","summary":"Discover MetalFX, a new API that provides platform optimized graphics effects for Metal applications. With MetalFX Upscaling, your application can now render frames at a lower resolution, reducing rendering time, without compromising rendering quality. We’ll also show you how and when to use its two effects: spatial upscaling, which delivers substantial performance gains, and temporal AA and upscaling, which delivers the highest quality rendering.","tags":[],"title":"Boost performance with MetalFX Upscaling","url":"\/documentation\/wwdc22-10103-boost-performance-with-metalfx-upscaling\/"},{"category":"","section":"documentation","slug":"wwdc22-10102-target-and-optimize-gpu-binaries-with-metal-3","summary":"Discover how you can reduce in-app stutters, first launch times, and new level load times when you generate your GPU binaries entirely at project build time with offline compilation. We’ll also show you how to improve total compile time and binary size for larger GPU programs using the “Optimize for size” compiler option.","tags":[],"title":"Target and optimize GPU binaries with Metal 3","url":"\/documentation\/wwdc22-10102-target-and-optimize-gpu-binaries-with-metal-3\/"},{"category":"","section":"documentation","slug":"wwdc22-10101-go-bindless-with-metal-3","summary":"Learn how you can unleash powerful rendering techniques like ray tracing when you go bindless with Metal 3. We’ll show you how to make your app’s bindless journey a joy by simplifying argument buffers, allocating acceleration structures from heaps, and benefitting from the improvements to the Metal’s validation layer and Debugger Tools. We’ll also explore how you can command more CPU and GPU performance with long-term resource structures.","tags":[],"title":"Go bindless with Metal 3","url":"\/documentation\/wwdc22-10101-go-bindless-with-metal-3\/"},{"category":"","section":"documentation","slug":"wwdc22-10100-create-safari-web-inspector-extensions","summary":"Learn how to add your own tools directly into Web Inspector using the latest Web Extensions APIs. We’ll show you how to create your own tab in Web Inspector, evaluate JavaScript in the inspected page, and use the result to help you troubleshoot and identify potential problems.","tags":[],"title":"Create Safari Web Inspector Extensions","url":"\/documentation\/wwdc22-10100-create-safari-web-inspector-extensions\/"},{"category":"","section":"documentation","slug":"wwdc22-101-keynote","summary":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","tags":[],"title":"Keynote","url":"\/documentation\/wwdc22-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc22-10099-whats-new-in-safari-web-extensions","summary":"Learn how you can use the latest improvements to Safari Web Extensions to create even better experiences for people browsing the web. We’ll show you how to upgrade to manifest version 3, adopt the latest APIs for Web Extensions, and sync extensions across devices.","tags":[],"title":"What’s new in Safari Web Extensions","url":"\/documentation\/wwdc22-10099-whats-new-in-safari-web-extensions\/"},{"category":"","section":"documentation","slug":"wwdc22-10098-meet-web-push-for-safari","summary":"Bring better notifications to your websites and web apps in Safari on macOS with Web Push. We’ll show you how you can remotely send notifications to people through the web standards-based combination of Push API, Notifications API, and Service Workers.","tags":[],"title":"Meet Web Push for Safari","url":"\/documentation\/wwdc22-10098-meet-web-push-for-safari\/"},{"category":"","section":"documentation","slug":"wwdc22-10097-whats-new-in-app-clips","summary":"Explore the latest updates to App Clips! Discover how we’ve made your App Clip even easier to build with improvements to the size limit as well as CloudKit and keychain usage. We’ll also show you how to use our validation tool to verify your App Clip and automate workflows for your advanced App Clip experiences using App Store Connect.","tags":[],"title":"What’s new in App Clips","url":"\/documentation\/wwdc22-10097-whats-new-in-app-clips\/"},{"category":"","section":"documentation","slug":"wwdc22-10096-whats-new-in-privacy","summary":"At Apple, we believe that privacy is a fundamental human right, and protecting people’s privacy is at the center of everything we do. Discover how our engineering teams build privacy into all of our products and developer frameworks, and learn about the technologies and patterns you can adopt in your apps to build trust and protect your customers.","tags":[],"title":"What’s new in privacy","url":"\/documentation\/wwdc22-10096-whats-new-in-privacy\/"},{"category":"","section":"documentation","slug":"wwdc22-10095-enhance-collaboration-experiences-with-messages","summary":"Discover how you can help improve communication and collaboration in your app with Collaboration in Messages. Learn how to tie a document to Messages conversations for simple sharing and discussion. Explore how you can keep everyone in the conversation up to date on the latest activity in the document. And find out how you can add customizable UI in your app to manage collaboration details and connect documents to Messages conversations and FaceTime calls.","tags":[],"title":"Enhance collaboration experiences with Messages","url":"\/documentation\/wwdc22-10095-enhance-collaboration-experiences-with-messages\/"},{"category":"","section":"documentation","slug":"wwdc22-10094-add-shared-with-you-to-your-app","summary":"Shared with You helps people easily find content in your app that someone has shared with them in Messages. Learn how you can support Shared with You in your app and continue the messaging experience right with the content. We’ll show you how pinning can give implicit Shared with You permission and can elevate content to be automatically shared. We’ll also go over how to present Shared with You content in a Shared with You shelf and visually represent shared items with a Shared with You attribution view.","tags":[],"title":"Add Shared with You to your app","url":"\/documentation\/wwdc22-10094-add-shared-with-you-to-your-app\/"},{"category":"","section":"documentation","slug":"wwdc22-10093-integrate-your-custom-collaboration-app-with-messages","summary":"Discover how the SharedWithYou framework can augment your app’s collaboration infrastructure. We’ll show you how to send secure invitations to collaborative content and synchronize participant changes. We’ll also cover displaying content updates within the relevant conversation.","tags":[],"title":"Integrate your custom collaboration app with Messages","url":"\/documentation\/wwdc22-10093-integrate-your-custom-collaboration-app-with-messages\/"},{"category":"","section":"documentation","slug":"wwdc22-10092-meet-passkeys","summary":"It’s time for a security upgrade: Learn how to add support for passkeys to create a quick and easy sign in experience for people, all while offering a radical increase to account security. Passkeys are simple and strong credentials built to eliminate phishing attacks. We’ll share how passkeys are designed with security in mind, show you how people will use them, go over how to integrate passkeys in your log in flow, and explore the platform and web APIs you need to adopt this feature.","tags":[],"title":"Meet passkeys","url":"\/documentation\/wwdc22-10092-meet-passkeys\/"},{"category":"","section":"documentation","slug":"wwdc22-10090-whats-new-in-textkit-and-text-views","summary":"Discover the latest updates to TextKit and text views in UI frameworks. Explore layout refinements and API enhancements, learn how you can maintain compatibility across multiple OS versions, and find out how to modernize your app with TextKit 2.","tags":[],"title":"What’s new in TextKit and text views","url":"\/documentation\/wwdc22-10090-whats-new-in-textkit-and-text-views\/"},{"category":"","section":"documentation","slug":"wwdc22-10089-whats-new-in-pdfkit","summary":"Discover PDFKit — a full-featured framework that helps your app view, edit, and save PDF documents. We’ll take you through the latest features in PDFKit, including support for live text and forms, creating PDFs from images, building interactive overlays, and saving annotations.","tags":[],"title":"What’s new in PDFKit","url":"\/documentation\/wwdc22-10089-whats-new-in-pdfkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10083-power-down-improve-battery-consumption","summary":"Discover how you can limit your power usage and help people get even more out of your app. We’ll show you how you can reduce battery drain from your app by making four key changes to your code. Learn how to add Dark Mode to your app and benefit from OLED displays, audit frame rates from secondary animations, limit background data processing, and defer long running tasks.","tags":[],"title":"Power down: Improve battery consumption","url":"\/documentation\/wwdc22-10083-power-down-improve-battery-consumption\/"},{"category":"","section":"documentation","slug":"wwdc22-10082-track-down-hangs-with-xcode-and-ondevice-detection","summary":"Learn how you can increase responsiveness and eliminate hangs in your app and make even better experiences. Hang out with the Performance Tools team as we explore how you can track down these issues — and even stop them from occurring in the first place. We’ll take you through the latest detection mechanisms for iOS to help track hangs during pre-release testing, show you how to identify issues in release builds using the Xcode Organizer, and more.","tags":[],"title":"Track down hangs with Xcode and on-device detection","url":"\/documentation\/wwdc22-10082-track-down-hangs-with-xcode-and-ondevice-detection\/"},{"category":"","section":"documentation","slug":"wwdc22-10079-improve-dns-security-for-apps-and-servers","summary":"Discover the latest ways to ensure that DNS — the foundation of internet addressing — is secure within your app. Learn how to authenticate DNS responses in your app with DNSSEC and enable DNS encryption automatically with Discovery of Designated Resolvers (DDR).","tags":[],"title":"Improve DNS security for apps and servers","url":"\/documentation\/wwdc22-10079-improve-dns-security-for-apps-and-servers\/"},{"category":"","section":"documentation","slug":"wwdc22-10078-reduce-networking-delays-for-a-more-responsive-app","summary":"Find out how network latency can affect your apps when trying to get full benefit out of modern network throughput rates. Learn about changes you can make in your app and on your server to boost responsiveness, and prepare your app for improvements coming to the Internet that will offer even lower end-to-end delays.","tags":[],"title":"Reduce networking delays for a more responsive app","url":"\/documentation\/wwdc22-10078-reduce-networking-delays-for-a-more-responsive-app\/"},{"category":"","section":"documentation","slug":"wwdc22-10077-replace-captchas-with-private-access-tokens","summary":"Don’t be captured by CAPTCHAs! Private Access Tokens are a powerful alternative that help you identify HTTP requests from legitimate devices and people without compromising their identity or personal information. We’ll show you how your app and server can take advantage of this tool to add confidence to your online transactions and preserve privacy.","tags":[],"title":"Replace CAPTCHAs with Private Access Tokens","url":"\/documentation\/wwdc22-10077-replace-captchas-with-private-access-tokens\/"},{"category":"","section":"documentation","slug":"wwdc22-10076-bring-your-ios-app-to-the-mac","summary":"Discover all the different ways you can transform your iOS app into a great macOS experience. We’ll explore best practices for bringing your app to the Mac, whether you ship an iPad app for M1 Macs or build something for all Macs using Mac Catalyst. Learn about the latest tools, options, and APIs to help you deliver enhanced experiences. We’ll also show you how you can optimize your app for the Mac, and find out how desktop class iPad features automatically transform into Mac-native options when built using Mac Catalyst.","tags":[],"title":"Bring your iOS app to the Mac","url":"\/documentation\/wwdc22-10076-bring-your-ios-app-to-the-mac\/"},{"category":"","section":"documentation","slug":"wwdc22-10075-use-swiftui-with-appkit","summary":"Discover how the Shortcuts app uses both SwiftUI and AppKit to create a top-tier experience on macOS. Follow along with the Shortcuts team as we explore how you can host SwiftUI views in AppKit code, handle layout and sizing, participate in the responder chain, enable navigational focus, and more. We’ll also show you how to host AppKit views, helping you migrate existing code into a SwiftUI layout within your app.","tags":[],"title":"Use SwiftUI with AppKit","url":"\/documentation\/wwdc22-10075-use-swiftui-with-appkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10074-whats-new-in-appkit","summary":"Discover the latest advances in Mac app development using AppKit. We’ll take you through the latest updates to SF Symbols, show you how you can elevate your interface with enhanced controls, and help you learn to coordinate your windows with Stage Manager. We’ll also explore the latest sharing and collaboration features for macOS.","tags":[],"title":"What’s new in AppKit","url":"\/documentation\/wwdc22-10074-whats-new-in-appkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10072-use-swiftui-with-uikit","summary":"Learn how to take advantage of the power of SwiftUI in your UIKit app. Build custom UICollectionView and UITableView cells seamlessly with SwiftUI using UIHostingConfiguration. We’ll also show you how to manage data flow between UIKit and SwiftUI components within your app.","tags":[],"title":"Use SwiftUI with UIKit","url":"\/documentation\/wwdc22-10072-use-swiftui-with-uikit\/"},{"category":"","section":"documentation","slug":"wwdc22-10071-adopt-desktopclass-editing-interactions","summary":"Discover advanced desktop-class editing features that can help people accelerate their productivity in your app. Learn how you can provide more interactions inline with your UI to help people quickly access editing features and make your iPadOS app feel right at home on macOS with Mac Catalyst. We’ll also explore the highly-customizable find interaction and learn how the system UI can help people consistently find content in your app.","tags":[],"title":"Adopt desktop-class editing interactions","url":"\/documentation\/wwdc22-10071-adopt-desktopclass-editing-interactions\/"},{"category":"","section":"documentation","slug":"wwdc22-10070-build-a-desktopclass-ipad-app","summary":"Discover how you can create iPad apps that take advantage of desktop class features. Join Mohammed from the UIKit team as we explore the latest navigation, collection view, menu, and editing APIs and learn best practices for building powerful iPad apps. Code along with this session in real time or download our sample app to use as a reference for updating your own code.","tags":[],"title":"Build a desktop-class iPad app","url":"\/documentation\/wwdc22-10070-build-a-desktopclass-ipad-app\/"},{"category":"","section":"documentation","slug":"wwdc22-10069-meet-desktopclass-ipad","summary":"Learn how you can bring desktop-class features to your iPad app. Explore updates to UINavigationBar that bring more discoverability and customizability to your app’s features. Find out how the latest updates to UIKit can help make it easier and faster for people to explore content in your app. Lastly, we’ll share a few updates on how it’s easier than ever to bring your iPad app to the desktop with Mac Catalyst.","tags":[],"title":"Meet desktop-class iPad","url":"\/documentation\/wwdc22-10069-meet-desktopclass-ipad\/"},{"category":"","section":"documentation","slug":"wwdc22-10068-whats-new-in-uikit","summary":"Discover the latest updates and improvements to UIKit and learn how to build better iPadOS, iOS, and Mac Catalyst apps. We’ll take you through UI refinements, productivity updates, API enhancements, and more. We’ll also help you explore improvements to performance, security, and privacy.","tags":[],"title":"What’s new in UIKit","url":"\/documentation\/wwdc22-10068-whats-new-in-uikit\/"},{"category":"","section":"documentation","slug":"wwdc22-10066-discover-metal-3","summary":"Harness the full potential of Apple silicon in your app with Metal 3. We’ll introduce you to the latest features, improvements, and tooling. We’ll also explore how you can use advanced features and compiler tools to load resources faster, compile shader binaries at build time, process complex geometry with mesh shaders, render high-resolution graphics in less time, train machine learning networks faster, and more.","tags":[],"title":"Discover Metal 3","url":"\/documentation\/wwdc22-10066-discover-metal-3\/"},{"category":"","section":"documentation","slug":"wwdc22-10065-plugin-and-play-add-apple-frameworks-to-your-unity-game-projects","summary":"Help make your Unity app or game an even better experience on Apple platforms. Learn how you can add Apple technologies directly to your projects with six plug-ins: Apple.Core, Game Center, Game Controller, Accessibility, Core Haptics, and PHASE. We’ll show you how you can add new gameplay mechanics, make your games more accessible, and tap into the latest Apple features and services.","tags":[],"title":"Plug-in and play: Add Apple frameworks to your Unity game projects","url":"\/documentation\/wwdc22-10065-plugin-and-play-add-apple-frameworks-to-your-unity-game-projects\/"},{"category":"","section":"documentation","slug":"wwdc22-10064-reach-new-players-with-game-center-dashboard","summary":"Meet the Game Center activity dashboard and discover how it can help your game reach new players. We’ll introduce you to the dashboard and profiles and explore how they can track player achievements, high scores, and leaderboard changes for your game. We’ll also show you how to add Game Center to your Unity game project using the Game Center plug-in.","tags":[],"title":"Reach new players with Game Center dashboard","url":"\/documentation\/wwdc22-10064-reach-new-players-with-game-center-dashboard\/"},{"category":"","section":"documentation","slug":"wwdc22-10063-accelerate-machine-learning-with-metal","summary":"Discover how you can use Metal to accelerate your PyTorch model training on macOS. We’ll take you through updates to TensorFlow training support, explore the latest features and operations of MPS Graph, and share best practices to help you achieve great performance for all your machine learning needs.","tags":[],"title":"Accelerate machine learning with Metal","url":"\/documentation\/wwdc22-10063-accelerate-machine-learning-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc22-10062-meet-transferable","summary":"Meet Transferable: a model-layer protocol that allows for effortless support for sharing, drag and drop, copy\/paste, and other features in your app.","tags":[],"title":"Meet Transferable","url":"\/documentation\/wwdc22-10062-meet-transferable\/"},{"category":"","section":"documentation","slug":"wwdc22-10061-bring-multiple-windows-to-your-swiftui-app","summary":"Discover the latest SwiftUI APIs to help you present windows within your app’s scenes. We’ll explore how scene types like MenuBarExtra can help you easily build more kinds of apps using SwiftUI. We’ll also show you how to use modifiers that customize the presentation and behavior of your app windows to make even better macOS apps.","tags":[],"title":"Bring multiple windows to your SwiftUI app","url":"\/documentation\/wwdc22-10061-bring-multiple-windows-to-your-swiftui-app\/"},{"category":"","section":"documentation","slug":"wwdc22-10059-the-craft-of-swiftui-api-design-progressive-disclosure","summary":"Explore progressive disclosure — one of SwiftUI’s core principles — and learn how it influences the design of our APIs. We’ll show you how we use progressive disclosure, discuss how it can support quick iteration and exploration, and help you take advantage of it in your own code.","tags":[],"title":"The craft of SwiftUI API design: Progressive disclosure","url":"\/documentation\/wwdc22-10059-the-craft-of-swiftui-api-design-progressive-disclosure\/"},{"category":"","section":"documentation","slug":"wwdc22-10058-swiftui-on-ipad-organize-your-interface","summary":"It’s time to supercharge the interface of your iPad app with SwiftUI lists and tables. We’ll show how you can add selection interactions and context menus and help people who use your app be more productive. We’ll also give you best practices on structuring your navigation and explore how you can avoid modality using split views to ensure a top-notch desktop-class iPad experience.","tags":[],"title":"SwiftUI on iPad: Organize your interface","url":"\/documentation\/wwdc22-10058-swiftui-on-ipad-organize-your-interface\/"},{"category":"","section":"documentation","slug":"wwdc22-10056-compose-custom-layouts-with-swiftui","summary":"SwiftUI now offers powerful tools to level up your layouts and arrange views for your app’s interface. We’ll introduce you to the Grid container, which helps you create highly customizable, two-dimensional layouts, and show you how you can use the Layout protocol to build your own containers with completely custom behavior. We’ll also explore how you can create seamless animated transitions between your layout types, and share tips and best practices for creating great interfaces.","tags":[],"title":"Compose custom layouts with SwiftUI","url":"\/documentation\/wwdc22-10056-compose-custom-layouts-with-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc22-10054-the-swiftui-cookbook-for-navigation","summary":"The recipe for a great app begins with a clear and robust navigation structure. Join the SwiftUI team in our proverbial coding kitchen and learn how you can cook up a great experience for your app. We’ll introduce you to SwiftUI’s navigation stack and split view features, show you how you can link to specific areas of your app, and explore how you can quickly and easily restore navigational state.","tags":[],"title":"The SwiftUI cookbook for navigation","url":"\/documentation\/wwdc22-10054-the-swiftui-cookbook-for-navigation\/"},{"category":"","section":"documentation","slug":"wwdc22-10053-discover-sign-in-with-apple-at-work-and-school","summary":"Learn how you can support Sign In with Apple for Managed Apple IDs in organizational settings. We’ll introduce you to Sign In with Apple at Work & School and explore how education apps can harness the power of this REST API to streamline the import process for student and class information. We’ll also share how to configure Access Management controls for these features within Apple Business Manager and Apple School Manager.","tags":[],"title":"Discover Sign in with Apple at Work & School","url":"\/documentation\/wwdc22-10053-discover-sign-in-with-apple-at-work-and-school\/"},{"category":"","section":"documentation","slug":"wwdc22-10052-whats-new-in-swiftui","summary":"It’s a SwiftUI party — and you’re invited! Join us as we share the latest updates and a glimpse into the future of UI framework design. Discover deep levels of customization, advanced techniques for layout, elegant strategies for sharing, and rock-solid structural approaches for designing an app top-to-bottom in SwiftUI. We’ll also have some celebratory fun as we play with the latest graphical effects and explore APIs.","tags":[],"title":"What’s new in SwiftUI","url":"\/documentation\/wwdc22-10052-whats-new-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc22-10051-go-further-with-complications-in-widgetkit","summary":"Discover how you can use WidgetKit to create beautiful complications on watch faces. We’ll introduce you to the watchOS-specific features found in WidgetKit, and help you migrate from existing ClockKit complications.","tags":[],"title":"Go further with Complications in WidgetKit","url":"\/documentation\/wwdc22-10051-go-further-with-complications-in-widgetkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10050-complications-and-widgets-reloaded","summary":"Our widgets code-along returns as we adventure onto the watchOS and iOS Lock Screen. Learn about the latest improvements to WidgetKit that help power complex complications on watchOS and can help you create Lock Screen widgets for iPhone. We’ll show you how to incorporate the latest SwiftUI views to provide great glanceable data, explore how each platform renders content, and learn how you can customize the design and feel of your content within a widget or complication.","tags":[],"title":"Complications and widgets: Reloaded","url":"\/documentation\/wwdc22-10050-complications-and-widgets-reloaded\/"},{"category":"","section":"documentation","slug":"wwdc22-10049-whats-new-in-wkwebview","summary":"Explore the latest updates to WKWebView, our framework for incorporating web content into your app’s interface. We’ll show you how to use the JavaScript fullscreen API, explore CSS viewport units, and learn more about find interactions. We’ll also take you through refinements to content blocking controls, embedding encrypted media, and using the Web Inspector.","tags":[],"title":"What’s new in WKWebView","url":"\/documentation\/wwdc22-10049-whats-new-in-wkwebview\/"},{"category":"","section":"documentation","slug":"wwdc22-10048-whats-new-in-safari-and-webkit","summary":"Explore the latest features in Safari and WebKit and learn how you can make better and more powerful websites. We’ll take you on a tour through the latest updates to HTML, CSS enhancements, Web Inspector tooling, Web APIs, and more.","tags":[],"title":"What’s new in Safari and WebKit","url":"\/documentation\/wwdc22-10048-whats-new-in-safari-and-webkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10046-adopt-declarative-device-management","summary":"Discover how you can simplify development of your device management solution with the declarative approach. We’ll take you through the latest updates to platform support and explore protocol enhancements for status and predicates.","tags":[],"title":"Adopt declarative device management","url":"\/documentation\/wwdc22-10046-adopt-declarative-device-management\/"},{"category":"","section":"documentation","slug":"wwdc22-10045-whats-new-in-managing-apple-devices","summary":"Explore enhancements to device management across Apple platforms. Improve device deployment workflows using the latest version of Apple Configurator for iPhone. Learn about identity technologies and MDM protocol updates for macOS, iOS and iPadOS. We’ll also share an exciting change in how we provide device management documentation.","tags":[],"title":"What’s new in managing Apple devices","url":"\/documentation\/wwdc22-10045-whats-new-in-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc22-10044-discover-benchmarks-in-app-analytics","summary":"Learn how App Store App Analytics can provide unique insights and help you measure your app’s performance on the App Store. We’ll show you how to use the new App Benchmarks tool to rank your app’s performance beside similar products in a privacy-preserving way. We’ll also share how you can use Product Page Optimization and Custom Product Pages to learn insights and make changes that can positively impact your ranking on the App Store.","tags":[],"title":"Discover Benchmarks in App Analytics","url":"\/documentation\/wwdc22-10044-discover-benchmarks-in-app-analytics\/"},{"category":"","section":"documentation","slug":"wwdc22-10043-whats-new-in-app-store-connect","summary":"Discover the latest updates to App Store Connect, your suite of tools to create, manage, and submit apps on the App Store. Learn about enhancements to the submission experience — including the ability to manage submissions in App Store Connect on iOS and iPadOS — as well as the newest updates to the App Store Connect API and much more.","tags":[],"title":"What’s new in App Store Connect","url":"\/documentation\/wwdc22-10043-whats-new-in-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc22-10041-whats-new-in-wallet-and-apple-pay","summary":"Discover the latest updates to Wallet & Apple Pay. We’ll show you how to support Orders in Wallet for your apps and websites and securely validate someone’s age and identity with the Identity Verification API. We’ll also explore PassKit support for SwiftUI, and discuss how you how you can improve your Apple Pay experience with Automatic Payments.","tags":[],"title":"What’s new in Wallet and Apple Pay","url":"\/documentation\/wwdc22-10041-whats-new-in-wallet-and-apple-pay\/"},{"category":"","section":"documentation","slug":"wwdc22-10040-explore-inapp-purchase-integration-and-migration","summary":"Learn how you can migrate to the latest App Store Server APIs and incorporate App Store Server Notifications. We’ll help you get started with these tools and provide best practices to make the most of managing in-app purchases on your server. Discover how you can sign JSON Web Tokens, verify signed transactions, and migrate from verifyReceipt.","tags":[],"title":"Explore in-app purchase integration and migration","url":"\/documentation\/wwdc22-10040-explore-inapp-purchase-integration-and-migration\/"},{"category":"","section":"documentation","slug":"wwdc22-10039-whats-new-in-storekit-testing","summary":"Discover the latest tools to help you test your in-app purchases and subscriptions. We’ll show you how to bring your products from App Store Connect into StoreKit Testing in Xcode, learn about improvements to the transaction manager, and explore your in-app purchase flow in Xcode Previews. We’ll also take you through best practices when setting up an Apple ID for the sandbox environment, and show you how to create tests for refund requests, price increase consent, billing retry, and much more.","tags":[],"title":"What’s new in StoreKit testing","url":"\/documentation\/wwdc22-10039-whats-new-in-storekit-testing\/"},{"category":"","section":"documentation","slug":"wwdc22-10038-whats-new-with-skadnetwork","summary":"SKAdNetwork helps advertisers measure the success of ad campaigns while maintaining user privacy. We’ll explore the latest updates to ad attributions including hierarchical source IDs, hierarchical conversion values, multiple conversions, and SKAdNetwork attributions for web ads. We’ll also take you through the importance of crowd anonymity and how you can validate SKAdNetwork impressions through testing in Xcode 13.","tags":[],"title":"What’s new with SKAdNetwork","url":"\/documentation\/wwdc22-10038-whats-new-with-skadnetwork\/"},{"category":"","section":"documentation","slug":"wwdc22-10037-writing-for-interfaces","summary":"The words and phrases you choose for your app matter. Whether you’re writing an alert, building an onboarding experience, or describing an image for accessibility, learn how you can design through the lens of language and help people get the most from your app. We’ll show you how to create clear, conversational, and helpful writing and provide tips for applying these techniques to your work.","tags":[],"title":"Writing for interfaces","url":"\/documentation\/wwdc22-10037-writing-for-interfaces\/"},{"category":"","section":"documentation","slug":"wwdc22-10035-whats-new-in-mapkit","summary":"Come along with us as MapKit enters a new dimension. We’ll show you how you can upgrade your app to use the latest map and support the highly-detailed 3D City Experience. Learn how you can visualize data using overlays while ensuring they integrate smoothly into the 3D map. We’ll also cover how to create interactive and immersive experiences with Selectable Map Features and Look Around APIs.","tags":[],"title":"What’s new in MapKit","url":"\/documentation\/wwdc22-10035-whats-new-in-mapkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10034-design-for-arabic","summary":"Find out how to design or optimize your app or game for Arabic. Whether you’re planning a first release or improving an existing app or game, we’ll help you learn best practices and tips for UI design for Arabic speakers. Learn how to create beautiful Right to Left layouts with UI components and iconography, discover the nuances of Arabic script and typography in product design, and explore Arabic numerals.","tags":[],"title":"Design for Arabic","url":"\/documentation\/wwdc22-10034-design-for-arabic\/"},{"category":"","section":"documentation","slug":"wwdc22-10032-dive-into-app-intents","summary":"Learn how you can make your app more discoverable and increase app engagement when you use the App Intents framework. We’ll take you through the powerful capabilities of this Swift framework, explore the differences between App Intents and SiriKit Intents, and show you how you can expose your app’s functionality to the system. We’ll also share how you can build entities and queries to create rich App Shortcuts experiences.","tags":[],"title":"Dive into App Intents","url":"\/documentation\/wwdc22-10032-dive-into-app-intents\/"},{"category":"","section":"documentation","slug":"wwdc22-10028-create-custom-catalogs-at-scale-with-shazamkit","summary":"Learn how ShazamKit can help you build custom catalogs and support exact matching of any audio source within your app — all on-device. Find out how you can easily generate audio signatures and build catalogs at scale through the new ShazamKit CLI. We’ll also show you how you can quickly update your app to sync with large amounts of audio content like multiple seasons of a TV show or multiple episodes of a podcast, and we’ll share updates to the ShazamKit API and SHMediaItems to help your apps respond precisely to key moments in audio sources using time ranges.","tags":[],"title":"Create custom catalogs at scale with ShazamKit","url":"\/documentation\/wwdc22-10028-create-custom-catalogs-at-scale-with-shazamkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10027-optimize-your-core-ml-usage","summary":"Learn how Core ML works with the CPU, GPU, and Neural Engine to power on-device, privacy-preserving machine learning experiences for your apps. We’ll explore the latest tools for understanding and maximizing the performance of your models. We’ll also show you how to generate reports to easily understand your model performance characteristics, help you gain insight into your models with the Core ML Instrument, and take you through API enhancements to further optimize Core ML integration in your apps.","tags":[],"title":"Optimize your Core ML usage","url":"\/documentation\/wwdc22-10027-optimize-your-core-ml-usage\/"},{"category":"","section":"documentation","slug":"wwdc22-10026-add-live-text-interaction-to-your-app","summary":"Learn how you can bring Live Text support for still photos or paused video frames to your app. We’ll share how you can easily enable text interactions, translation, data detection, and QR code scanning within any image view on iOS, iPadOS, or macOS. We’ll also go over how to control interaction types, manage the supplementary interface, and resolve potential gesture conflicts.","tags":[],"title":"Add Live Text interaction to your app","url":"\/documentation\/wwdc22-10026-add-live-text-interaction-to-your-app\/"},{"category":"","section":"documentation","slug":"wwdc22-10025-capture-machinereadable-codes-and-text-with-visionkit","summary":"Meet the Data Scanner in VisionKit: This framework combines AVCapture and Vision to enable live capture of machine-readable codes and text through a simple Swift API. We’ll show you how to control the types of content your app can capture by specifying barcode symbologies and language selection. We’ll also explore how you can enable guidance in your app, customize item highlighting or regions of interest, and handle interactions after your app detects an item.","tags":[],"title":"Capture machine-readable codes and text with VisionKit","url":"\/documentation\/wwdc22-10025-capture-machinereadable-codes-and-text-with-visionkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10024-whats-new-in-vision","summary":"Learn about the latest updates to Vision APIs that help your apps recognize text, detect faces and face landmarks, and implement optical flow. We’ll take you through the capabilities of optical flow for video-based apps, show you how to update your apps with revisions to the machine learning models that drive these APIs, and explore how you can visualize your Vision tasks with Quick Look Preview support in Xcode.","tags":[],"title":"What’s new in Vision","url":"\/documentation\/wwdc22-10024-whats-new-in-vision\/"},{"category":"","section":"documentation","slug":"wwdc22-10023-whats-new-in-the-photos-picker","summary":"PHPicker provides simple and secure integration between your app and the system Photos library. Learn how SwiftUI and Transferable can help you offer integration across iOS, iPadOS, macOS, and watchOS.","tags":[],"title":"What’s new in the Photos picker","url":"\/documentation\/wwdc22-10023-whats-new-in-the-photos-picker\/"},{"category":"","section":"documentation","slug":"wwdc22-10022-create-camera-extensions-with-core-media-io","summary":"Discover how you can use Core Media IO to easily create macOS system extensions for software cameras, hardware cameras, and creative cameras. We’ll introduce you to our modern replacement for legacy DAL plug-ins — these extensions are secure, fast, and fully-compatible with any app that uses a camera input. We’ll take you through the Core Media IO APIs and share how they can support camera manufacturers, video conferencing apps with special effects features, creative app ideas, and more.","tags":[],"title":"Create camera extensions with Core Media IO","url":"\/documentation\/wwdc22-10022-create-camera-extensions-with-core-media-io\/"},{"category":"","section":"documentation","slug":"wwdc22-10020-compose-advanced-models-with-create-ml-components","summary":"Take your custom machine learning models to the next level with Create ML Components. We’ll show you how to work with temporal data like video or audio and compose models that can count repetitive human actions or provide advanced sound classification. We’ll also share best practices on using incremental fitting to speed up model training with new data.","tags":[],"title":"Compose advanced models with Create ML Components","url":"\/documentation\/wwdc22-10020-compose-advanced-models-with-create-ml-components\/"},{"category":"","section":"documentation","slug":"wwdc22-10019-get-to-know-create-ml-components","summary":"Create ML makes it easy to build custom machine learning models for image classification, object detection, sound classification, hand pose classification, action classification, tabular data regression, and more. And with the Create ML Components framework, you can further customize underlying tasks and improve your model. We’ll explore the feature extractors, transformers, and estimators that make up these tasks, and show you how you can combine them with other components and pre-processing steps to build custom tasks for concepts like image regression.","tags":[],"title":"Get to know Create ML Components","url":"\/documentation\/wwdc22-10019-get-to-know-create-ml-components\/"},{"category":"","section":"documentation","slug":"wwdc22-10018-bring-continuity-camera-to-your-macos-app","summary":"Discover how you can use iPhone as an external camera in any Mac app with Continuity Camera. Whether you’re building video conferencing software or an experience that makes creative use of cameras, we’ll show you how you can enhance your app with automatic camera switching. We’ll also explore how to recognize user-preferred and system-preferred cameras, take you through APIs for high-resolution and high-quality photo capture from iPhone’s video stream, and more.","tags":[],"title":"Bring Continuity Camera to your macOS app","url":"\/documentation\/wwdc22-10018-bring-continuity-camera-to-your-macos-app\/"},{"category":"","section":"documentation","slug":"wwdc22-10017-explore-the-machine-learning-development-experience","summary":"Learn how to bring great machine learning (ML) based experiences to your app. We’ll take you through model discovery, conversion, and training and provide tips and best practices for ML. We’ll share considerations to take into account as you begin your ML journey, demonstrate techniques for evaluating model performance, and explore how you can tune models to achieve real-time performance on device.","tags":[],"title":"Explore the machine learning development experience","url":"\/documentation\/wwdc22-10017-explore-the-machine-learning-development-experience\/"},{"category":"","section":"documentation","slug":"wwdc22-10016-get-more-mileage-out-of-your-app-with-carplay","summary":"CarPlay is a smarter, safer way to use your iPhone while you drive. Learn about the latest app types for CarPlay and discover how the CarPlay Simulator can help you develop and test apps without leaving your desk. We’ll also explore how navigation apps can connect with digital instrument clusters in supported vehicles.","tags":[],"title":"Get more mileage out of your app with CarPlay","url":"\/documentation\/wwdc22-10016-get-more-mileage-out-of-your-app-with-carplay\/"},{"category":"","section":"documentation","slug":"wwdc22-10015-design-for-collaboration-with-messages","summary":"Discover how you can design great collaboration experiences using Apple platforms. We’ll show you how to combine the Share Sheet, live editing notifications, Messages, FaceTime, and your app’s existing collaboration features to help people connect and collaborate effortlessly.","tags":[],"title":"Design for Collaboration with Messages","url":"\/documentation\/wwdc22-10015-design-for-collaboration-with-messages\/"},{"category":"","section":"documentation","slug":"wwdc22-10009-whats-new-in-ipad-app-design","summary":"Discover the latest updates in iPad app design. We’ll take you through improvements to search, navigation bars, edit menus, multi-selection, and more. Learn how you can make your app both more powerful and easier to use when you incorporate customizable toolbars, multi-column tables, and find and replace.","tags":[],"title":"What’s new in iPad app design","url":"\/documentation\/wwdc22-10009-whats-new-in-ipad-app-design\/"},{"category":"","section":"documentation","slug":"wwdc22-10008-whats-new-in-nearby-interaction","summary":"Discover how the Nearby Interaction framework can help you easily integrate Ultra Wideband (UWB) into your apps and hardware accessories. Learn how you can combine the visual-spatial power of ARKit with the radio sensitivity of the U1 chip to locate nearby stationary objects with precision. We’ll also show you how you can create background interactions using UWB accessories paired via Bluetooth.","tags":[],"title":"What’s new in Nearby Interaction","url":"\/documentation\/wwdc22-10008-whats-new-in-nearby-interaction\/"},{"category":"","section":"documentation","slug":"wwdc22-10007-whats-new-with-inapp-purchase","summary":"Learn how you can make your in-app purchase experience even better on iPhone, iPad, Mac, and Apple Watch. We’ll take you through enhancements to StoreKit 2 and App Store Server API, and explore improvements to App Store Server Notifications. Discover how you can verify app purchases with App Transaction API, add properties to your StoreKit models, incorporate SwiftUI-friendly APIs and StoreKit Messages, and preserve applicationUsername in transactions. For those working server-side, we’ll show you how to make the most of App Store Server Notifications, additional ways to retrieve user transaction history, and recovery steps when your server experiences an outage.","tags":[],"title":"What’s new with in-app purchase","url":"\/documentation\/wwdc22-10007-whats-new-with-inapp-purchase\/"},{"category":"","section":"documentation","slug":"wwdc22-10006-meet-apple-maps-server-apis","summary":"Simplify your app’s mapping architecture by implementing the Apple Maps stack across MapKit, MapKit JS, and Apple Maps Server APIs. Learn how these APIs can reduce network calls and increase power efficiency, which can help improve the overall performance of your app. We’ll show you how to use geocoding and estimated time of arrival APIs to build functionality for a simple store locator, and explore the API authentication flow.","tags":[],"title":"Meet Apple Maps Server APIs","url":"\/documentation\/wwdc22-10006-meet-apple-maps-server-apis\/"},{"category":"","section":"documentation","slug":"wwdc22-10005-whats-new-in-healthkit","summary":"Bring the latest HealthKit features to your health & fitness app. We’ll show you how to capture more detailed sleep data through sleep stages, track swim-bike-run and interval workouts with the enhanced Workout API, and save vision prescriptions — including an image of the physical prescription — directly to HealthKit while preserving privacy.","tags":[],"title":"What’s new in HealthKit","url":"\/documentation\/wwdc22-10005-whats-new-in-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10003-meet-weatherkit","summary":"WeatherKit offers valuable weather data for your apps and services to help people stay up to date on the latest conditions.","tags":[],"title":"Meet WeatherKit","url":"\/documentation\/wwdc22-10003-meet-weatherkit\/"},{"category":"","section":"documentation","slug":"wwdc22-10002-create-macos-or-linux-virtual-machines","summary":"Learn how you can use the Virtualization framework to quickly create virtual machines on your Mac. We’ll show you how to create a virtual Mac and quickly test changes to your app in an isolated environment. We’ll also explore how you can install and run full Linux distributions on Apple silicon, and share how you can take advantage of Rosetta 2 to run x86-64 Linux binaries.","tags":[],"title":"Create macOS or Linux virtual machines","url":"\/documentation\/wwdc22-10002-create-macos-or-linux-virtual-machines\/"},{"category":"","section":"documentation","slug":"wwdc22-10001-explore-navigation-design-for-ios","summary":"Familiar navigation patterns can help people easily explore the information within your app — and save them from unnecessary confusion. We’ll show you how to take advantage of existing navigation structures to simplify complex interactions in your app without compromising its personality. Learn best practices and common pitfalls when working with tab bars, modality, and more.","tags":[],"title":"Explore navigation design for iOS","url":"\/documentation\/wwdc22-10001-explore-navigation-design-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc22","summary":"Xcode 14, Swift 5.7, iOS 16, macOS 13 (Ventura), tvOS 16, watchOS 9. New APIs: `WeatherKit`, `ScreenCaptureKit`, `Swift Regex`, and more.","tags":[],"title":"WWDC22","url":"\/documentation\/wwdc22\/"},{"category":"","section":"documentation","slug":"wwdc21-10349-sf-symbols-in-swiftui","summary":"Discover how you can incorporate SF Symbols into your SwiftUI app. We’ll explore basic techniques for presenting symbols, customizing their size, and showing different variants. We’ll also take you through the latest updates to symbol colorization and help you pick the right tool for your app’s needs.","tags":[],"title":"SF Symbols in SwiftUI","url":"\/documentation\/wwdc21-10349-sf-symbols-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc21-10318-developer-spotlight-accessibility","summary":"How do you approach creating apps for everyone? Learn from developers who are blind or deaf themselves as they discuss the process of making technology accessible. Discover how their unique perspectives have sparked innovation at their companies and helped make their apps even more inclusive.","tags":[],"title":"Developer spotlight: Accessibility","url":"\/documentation\/wwdc21-10318-developer-spotlight-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc21-10317-out-of-this-world-on-to-mars","summary":"Fascinated by aerospace engineering and fighter jets from the age of 11, MIT graduate Tiera Fletcher followed her passion. At 22, she landed her dream job working on NASA’s Space Launch System, the most powerful rocket created in history. Learn what it’s like to design components of a 322-foot-tall, 8.8-million-pounds-of-thrust-producing rocket intended to journey humans into deep space — including the moon, Mars, and beyond.","tags":[],"title":"Out of this world… on to Mars","url":"\/documentation\/wwdc21-10317-out-of-this-world-on-to-mars\/"},{"category":"","section":"documentation","slug":"wwdc21-10316-meditation-for-fidgety-skeptics","summary":"Dan Harris is an Emmy Award-winning journalist and the co-anchor of ABC’s weekend editions of Good Morning America. After having a nationally-televised panic attack in 2004, he found himself on a long and often bizarre journey that ended with him discovering mindfulness meditation. Dan will share his story, which has led to his authoring two books and creating a popular podcast and app that have helped many (including previous non-believers like himself) improve their lives. He will be joined by Jeff Warren, renowned meditation teacher and Dan’s co-author of the bestselling book Meditation For Fidgety Skeptics, to offer practical steps that anyone can take to manage the wide-ranging stresses and anxieties of today’s world to become 10% happier.","tags":[],"title":"Meditation for fidgety skeptics","url":"\/documentation\/wwdc21-10316-meditation-for-fidgety-skeptics\/"},{"category":"","section":"documentation","slug":"wwdc21-10308-accessibility-by-design-an-apple-watch-for-everyone","summary":"Discover how Apple creates products that work well for everyone. Learn from a few of the engineers and designers who helped build Apple Watch as they share stories that highlight our approach to accessible design, constant iteration, and community engagement.","tags":[],"title":"Accessibility by design: An Apple Watch for everyone","url":"\/documentation\/wwdc21-10308-accessibility-by-design-an-apple-watch-for-everyone\/"},{"category":"","section":"documentation","slug":"wwdc21-10304-the-process-of-inclusive-design","summary":"Discover how you can deliver inclusive apps that can foster amazing experiences for everyone who uses your software. We’ll take you through best practices for creating and empowering diverse teams and explore how inclusivity influences every stage of the design and development process.","tags":[],"title":"The process of inclusive design","url":"\/documentation\/wwdc21-10304-the-process-of-inclusive-design\/"},{"category":"","section":"documentation","slug":"wwdc21-103-wwdc21-apple-design-awards","summary":"The Apple Design Awards honors excellence in innovation, ingenuity, and technical achievement in app and game design. Watch along as we reveal and celebrate the 2021 winners.","tags":[],"title":"WWDC21 Apple Design Awards","url":"\/documentation\/wwdc21-103-wwdc21-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc21-10298-add-support-for-matter-in-your-smart-home-app","summary":"The enhanced and new APIs in HomeKit enable smart home developers to integrate with the new Matter protocol in the most convenient way. Tour the Matter protocol, and discover how to set up and manage Matter accessories on our platforms and within your smart home apps.","tags":[],"title":"Add support for Matter in your smart home app","url":"\/documentation\/wwdc21-10298-add-support-for-matter-in-your-smart-home-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10297-manage-devices-with-apple-configurator","summary":"Apple Configurator is now more capable than ever. Whether you’re provisioning iOS, iPadOS, and tvOS devices in your organization or servicing existing macOS devices, learn how Apple Configurator can help with key workflows. And, coming to iPhone in iOS 15, discover how you can bring Automated Device Enrollment to even more macOS devices.","tags":[],"title":"Manage devices with Apple Configurator","url":"\/documentation\/wwdc21-10297-manage-devices-with-apple-configurator\/"},{"category":"","section":"documentation","slug":"wwdc21-10296-diagnose-unreliable-code-with-test-repetitions","summary":"Test repetitions can help you debug even the most unreliable code. Discover how you can use the maximum repetitions, until failure, and retry on failure testing modes within test plans, Xcode, and xcodebuild to track down bugs and crashers and make your app more stable for everyone.","tags":[],"title":"Diagnose unreliable code with test repetitions","url":"\/documentation\/wwdc21-10296-diagnose-unreliable-code-with-test-repetitions\/"},{"category":"","section":"documentation","slug":"wwdc21-10295-get-ready-to-optimize-your-app-store-product-page","summary":"Discover new ways to make your product page more relevant. Learn how you can use custom product pages to highlight different features and content in your app for different users. Explore how you can optimize your product page by comparing the effectiveness of different visual assets to see what users like most. We’ll cover what you need to know, the assets to prepare, and how to get ready to create the most effective product page for your app.","tags":[],"title":"Get ready to optimize your App Store product page","url":"\/documentation\/wwdc21-10295-get-ready-to-optimize-your-app-store-product-page\/"},{"category":"","section":"documentation","slug":"wwdc21-10294-meet-musickit-for-swift","summary":"MusicKit makes it easy to integrate Apple Music into your app. Explore the Swift-based framework: We’ll take you through the basic process of using MusicKit — including how to find, request, and play content — and show you how you can incorporate music subscription workflows into your app if someone hasn’t yet signed up to Apple Music.","tags":[],"title":"Meet MusicKit for Swift","url":"\/documentation\/wwdc21-10294-meet-musickit-for-swift\/"},{"category":"","section":"documentation","slug":"wwdc21-10293-cross-reference-content-with-the-apple-music-api","summary":"Discover how you can cross-reference Apple Music content within your app using the Apple Music API. We’ll show you how to reference content across different geographical regions, map explicit to clean-equivalent content, fetch catalog and library relationships, and how to match content using the UPC code.","tags":[],"title":"Cross reference content with the Apple Music API","url":"\/documentation\/wwdc21-10293-cross-reference-content-with-the-apple-music-api\/"},{"category":"","section":"documentation","slug":"wwdc21-10291-explore-the-catalog-with-the-apple-music-api","summary":"Discover how you can use the Apple Music API to fetch music catalog metadata for your app. Explore the latest updates to the API as well as some advanced techniques for shaping your requests and highlighting the right metadata for a project.","tags":[],"title":"Explore the catalog with the Apple Music API","url":"\/documentation\/wwdc21-10291-explore-the-catalog-with-the-apple-music-api\/"},{"category":"","section":"documentation","slug":"wwdc21-10290-whats-new-in-avkit","summary":"Learn about enhancements to Picture in Picture and full screen improvements on macOS. Explore the new content source API, and learn how AVPictureInPictureController supports AVSampleBufferDisplayLayer, as well as recommended steps for an app to provide a seamless full screen experience on macOS or in a Mac Catalyst app.","tags":[],"title":"What’s new in AVKit","url":"\/documentation\/wwdc21-10290-whats-new-in-avkit\/"},{"category":"","section":"documentation","slug":"wwdc21-10289-swiftui-on-the-mac-the-finishing-touches","summary":"Join us for part two of our Code-Along series as we use SwiftUI to build a Mac app from start to finish. The journey continues as we explore how our sample gardening app can adapt to a person’s preferences and specific workflows. Learn how SwiftUI apps can automatically react to system settings, and discover how you can use that information to add more personality to an app. We’ll show you how you can give people the flexibility to customize an app through Settings, and explore how to use different workflows for manipulating someone’s data (like drag and drop). To finish, we’ll show you how you can move data to and from an app, incorporating features like Continuity Camera to provide a simple workflow for importing images.","tags":[],"title":"SwiftUI on the Mac: The finishing touches","url":"\/documentation\/wwdc21-10289-swiftui-on-the-mac-the-finishing-touches\/"},{"category":"","section":"documentation","slug":"wwdc21-10288-explore-the-sf-symbols-3-app","summary":"Tour the latest updates to the SF Symbols app — our interactive library for iconography. Learn how you can use the library to design accessible and inclusive apps that look incredible: We’ll take you through changes to the app and symbols search, explore previewing and custom symbol management, and help you integrate symbols into your interface designs. It’s recommended you watch “What’s new in SF Symbols” from WWDC21 before watching this video.","tags":[],"title":"Explore the SF Symbols 3 app","url":"\/documentation\/wwdc21-10288-explore-the-sf-symbols-3-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10287-measure-health-with-motion","summary":"Discover how you can take your app’s health monitoring to the next level with motion data. Meet Walking Steadiness for iPhone and the six-minute-walk metric for Apple Watch: Walking Steadiness can help your app interpret someone’s quality of walking and risk of falling, while the six-minute-walk metric — along with the HealthKit estimate recalibration API — can track changes to walking endurance following acute events like surgery. We’ll show you how you can support these metrics and help provide actionable health data to people who use your app, helping improve patient care and clinical trials, especially as more services must be delivered remotely.","tags":[],"title":"Measure health with motion","url":"\/documentation\/wwdc21-10287-measure-health-with-motion\/"},{"category":"","section":"documentation","slug":"wwdc21-10286-explore-bindless-rendering-in-metal","summary":"Unleash the full potential of your shaders and implement modern rendering techniques by adding Argument Buffers to adopt bindless rendering. Learn how to make your entire scene and resources available to the GPU to make the most out of raytracing and rasterization pipelines.","tags":[],"title":"Explore bindless rendering in Metal","url":"\/documentation\/wwdc21-10286-explore-bindless-rendering-in-metal\/"},{"category":"","section":"documentation","slug":"wwdc21-10283-design-great-actions-for-shortcuts-siri-and-suggestions","summary":"Actions are the building blocks of shortcuts. They allow people to take advantage of your app’s functionality even when they’re not looking at your app’s interface. We’ll show you how to design actions that are useful, easy-to-use, and can be incorporated into powerful multi-step shortcuts. You’ll also explore enhancements around publishing and sharing shortcuts, ensuring that people can access your app in the way they want across all of Apple’s platforms.","tags":[],"title":"Design great actions for Shortcuts, Siri, and Suggestions","url":"\/documentation\/wwdc21-10283-design-great-actions-for-shortcuts-siri-and-suggestions\/"},{"category":"","section":"documentation","slug":"wwdc21-10282-build-a-research-and-care-app-part-3-visualize-progress","summary":"Learn how ResearchKit and CareKit can work together to take the tedium out of paper surveys. Join us for the last part of our code along as we put the finishing touches on our care pilot app. Explore how you can use advanced CareKit APIs to customize the appearance and behavior of task cards, find out how to plot answers to ResearchKit surveys in CareKit charts, and discover how you can use ResearchKit to present engaging educational content.","tags":[],"title":"Build a research and care app, part 3: Visualize progress","url":"\/documentation\/wwdc21-10282-build-a-research-and-care-app-part-3-visualize-progress\/"},{"category":"","section":"documentation","slug":"wwdc21-10279-simplify-sign-in-for-your-tvos-apps","summary":"Find out how people can use Face ID or Touch ID on their iOS or iPadOS device to authorize purchases and sign into your tvOS app. Discover how you can simplify sign in for people using your app and help them get to the content they want to enjoy, faster. We’ll show you how to set up a simplified sign in process and share some best practices about creating great sign in experiences for Apple TV.","tags":[],"title":"Simplify sign in for your tvOS apps","url":"\/documentation\/wwdc21-10279-simplify-sign-in-for-your-tvos-apps\/"},{"category":"","section":"documentation","slug":"wwdc21-10278-practice-audio-haptic-design","summary":"Discover how you can deliver rich app experiences that include animation, sound, and haptics on iPhone. Learn key concepts for designing multimodal experiences within the Core Haptics framework. We’ll take you through our sample HapticRicochet app — where haptic and sound feedback is designed in harmony with key interactive moments — and show you how to create magical and delightful experiences.","tags":[],"title":"Practice audio haptic design","url":"\/documentation\/wwdc21-10278-practice-audio-haptic-design\/"},{"category":"","section":"documentation","slug":"wwdc21-10276-use-the-camera-for-keyboard-input-in-your-app","summary":"Learn how you can support Live Text and intelligently pull information from the camera to fill out forms and text fields in your app. We’ll show you how to apply content filtering to capture the correct information when someone uses the camera as keyboard input and apply it to a relevant UITextField, helping your app input data like phone numbers, addresses, and flight information. And we’ll explore how you can create a custom interface, extend other controls like UIImageViews to support this capability, and more.","tags":[],"title":"Use the camera for keyboard input in your app","url":"\/documentation\/wwdc21-10276-use-the-camera-for-keyboard-input-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10275-the-practice-of-inclusive-design","summary":"An inclusive app or game is not only usable by different people, but also welcomes people from diverse backgrounds and perspectives. Discover how you can design inclusive content for your interface, language, imagery, and marketing materials and support the broadest possible range of people with your app or game.","tags":[],"title":"The practice of inclusive design","url":"\/documentation\/wwdc21-10275-the-practice-of-inclusive-design\/"},{"category":"","section":"documentation","slug":"wwdc21-10269-customize-your-advanced-xcode-cloud-workflows","summary":"Xcode Cloud integrates with Apple Developer tools and services, all major source control management services, and even social collaboration tools like Slack. If your development process relies on additional tools and external services, however, you can fine-tune your workflows and the behavior of your build.","tags":[],"title":"Customize your advanced Xcode Cloud workflows","url":"\/documentation\/wwdc21-10269-customize-your-advanced-xcode-cloud-workflows\/"},{"category":"","section":"documentation","slug":"wwdc21-10268-explore-xcode-cloud-workflows","summary":"Learn how Xcode Cloud workflows can help you and your team automate building, analyzing, testing, archiving, and distributing your apps and frameworks. They are flexible, extensible, and can be configured around your team’s development and distribution process. Find out the basics of Xcode Cloud Workflows, discover how to configure them from end to end, and check out recommended workflows to get you started with Apple’s continuous integration system.","tags":[],"title":"Explore Xcode Cloud workflows","url":"\/documentation\/wwdc21-10268-explore-xcode-cloud-workflows\/"},{"category":"","section":"documentation","slug":"wwdc21-10267-meet-xcode-cloud","summary":"Get to know Xcode Cloud, Apple’s continuous integration and continuous delivery (CI\/CD) service for building apps and frameworks for all Apple platforms. Find out how Xcode Cloud can improve both the productivity of your team and the quality of your products. We’ll show you how to start your first build, use a build report to fix issues, and collaborate with your team.","tags":[],"title":"Meet Xcode Cloud","url":"\/documentation\/wwdc21-10267-meet-xcode-cloud\/"},{"category":"","section":"documentation","slug":"wwdc21-10265-immerse-your-app-in-spatial-audio","summary":"Discover how spatial audio can help you provide a theater-like experience for media in your apps and on the web. We’ll show you how you can easily bring immersive audio to those listening with compatible hardware, and how to automatically deliver different listening experiences depending on someone’s bandwidth or connection — all with little to no change to your code. And gain recommendations on how you can tailor the experience in your app and use spatial audio to tell stories in new, exciting ways.","tags":[],"title":"Immerse your app in Spatial Audio","url":"\/documentation\/wwdc21-10265-immerse-your-app-in-spatial-audio\/"},{"category":"","section":"documentation","slug":"wwdc21-10264-adopt-quick-note","summary":"Learn how you can link your app to Quick Note and help people quickly connect your content to their notes — and their notes to your content. Discover how Quick Note recognizes and links to app content through NSUserActivity, and find out how you can adopt this API in your app. We’ll take you through the requirements, benefits, and features of supporting Quick Note. We’ll also provide guidance and best practices for NSUserActivity to help your app get all of its benefits.","tags":[],"title":"Adopt Quick Note","url":"\/documentation\/wwdc21-10264-adopt-quick-note\/"},{"category":"","section":"documentation","slug":"wwdc21-10261-faster-and-simpler-notarization-for-mac-apps","summary":"Notarization works in tandem with macOS to help people safely download software for their Mac outside of the App Store. Discover how notarytool can help you quickly and easily notarize your Mac app for distribution. We’ll show you how you can now notarize your apps with just a single command, and how to bring notarization into your continuous integration workflows.","tags":[],"title":"Faster and simpler notarization for Mac apps","url":"\/documentation\/wwdc21-10261-faster-and-simpler-notarization-for-mac-apps\/"},{"category":"","section":"documentation","slug":"wwdc21-10260-focus-on-ipad-keyboard-navigation","summary":"Improve the keyboard experience in your iPad and Mac Catalyst app. Discover how you can accelerate access to key features with the hardware keyboard, and navigate through your views and view controllers. Learn how to customize which elements are keyboard navigable, as well as how to customize the tab loop.","tags":[],"title":"Focus on iPad keyboard navigation","url":"\/documentation\/wwdc21-10260-focus-on-ipad-keyboard-navigation\/"},{"category":"","section":"documentation","slug":"wwdc21-10259-your-guide-to-keyboard-layout","summary":"Discover how you can use the Keyboard Layout Guide to manage how keyboards work within your iOS or iPadOS app. Learn how you can avoid writing lengthy code blocks when you use UIKeyboardLayoutGuide and UITrackingLayoutGuide to integrate the keyboard into your interface, helping people have a smoother, more enjoyable experience whenever they use the on-screen keyboard within your app.","tags":[],"title":"Your guide to keyboard layout","url":"\/documentation\/wwdc21-10259-your-guide-to-keyboard-layout\/"},{"category":"","section":"documentation","slug":"wwdc21-10258-understand-and-eliminate-hangs-from-your-app","summary":"Discover how you can track down hangs and delays in your app. We’ll show you tools and methods to discover hangs and their causes, learn about anti-patterns that can lead to hangs, explore best practices for eliminating hangs like GCD, and provide guidance on when you should consider asynchronous code to improve your app performance.","tags":[],"title":"Understand and eliminate hangs from your app","url":"\/documentation\/wwdc21-10258-understand-and-eliminate-hangs-from-your-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10257-meet-classkit-for-filebased-apps","summary":"The ClassKit framework can help surface educational activities within your app to teachers using the Schoolwork app. Discover how you can provide teachers with greater insights into student learning by adopting the latest file-based API to report student progress data within your app. We’ll also show you how to use ClassKit to report out different data types, and how to test your implementation in developer mode.","tags":[],"title":"Meet ClassKit for file-based apps","url":"\/documentation\/wwdc21-10257-meet-classkit-for-filebased-apps\/"},{"category":"","section":"documentation","slug":"wwdc21-10256-meet-the-swift-algorithms-and-collections-packages","summary":"Discover two of the latest additions to the list of open-source Swift packages from Apple: Swift Algorithms and Swift Collections. Not only can you use these packages immediately, they also incubate new algorithms and data structures for eventual inclusion in the Swift Standard Library. We’ll show you how you can integrate these packages into your projects and select the right algorithms and data structures to make your code clearer and faster.","tags":[],"title":"Meet the Swift Algorithms and Collections packages","url":"\/documentation\/wwdc21-10256-meet-the-swift-algorithms-and-collections-packages\/"},{"category":"","section":"documentation","slug":"wwdc21-10254-swift-concurrency-behind-the-scenes","summary":"Dive into the details of Swift concurrency and discover how Swift provides greater safety from data races and thread explosion while simultaneously improving performance. We’ll explore how Swift tasks differ from Grand Central Dispatch, how the new cooperative threading model works, and how to ensure the best performance for your apps.","tags":[],"title":"Swift concurrency: Behind the scenes","url":"\/documentation\/wwdc21-10254-swift-concurrency-behind-the-scenes\/"},{"category":"","section":"documentation","slug":"wwdc21-10253-write-a-dsl-in-swift-using-result-builders","summary":"Some problems are easier to solve by creating a customized programming language, or “domain-specific language.” While creating a DSL traditionally requires writing your own compiler, you can instead use result builders with Swift 5.4 to make your code both easier to read and maintain. We’ll take you through best practices for designing a custom language for Swift: Learn about result builders and trailing closure arguments, explore modifier-style methods and why they work well, and discover how you can extend Swift’s normal language rules to turn Swift into a DSL.","tags":[],"title":"Write a DSL in Swift using result builders","url":"\/documentation\/wwdc21-10253-write-a-dsl-in-swift-using-result-builders\/"},{"category":"","section":"documentation","slug":"wwdc21-10252-make-blazing-fast-lists-and-collection-views","summary":"Build consistently smooth scrolling list and collection views: Explore the lifecycle of a cell and learn how to apply that knowledge to eliminate rough scrolling and missed frames. We’ll also show you how to improve your overall scrolling experience and avoid costly hitches, with optimized image loading and automatic cell prefetching.","tags":[],"title":"Make blazing fast lists and collection views","url":"\/documentation\/wwdc21-10252-make-blazing-fast-lists-and-collection-views\/"},{"category":"","section":"documentation","slug":"wwdc21-10251-sf-symbols-in-uikit-and-appkit","summary":"Learn how you can create colorized symbols with SF Symbols 3 and customize them to match the visual design of your app’s interface. We’ll take you through the latest UIKit and AppKit APIs for integrating colorized symbols, as well as best practices for implementation.","tags":[],"title":"SF Symbols in UIKit and AppKit","url":"\/documentation\/wwdc21-10251-sf-symbols-in-uikit-and-appkit\/"},{"category":"","section":"documentation","slug":"wwdc21-10250-create-custom-symbols","summary":"Discover how you can create custom iconography with the latest rendering modes in SF Symbols 3. We’ll help you learn how to draw, edit, and annotate symbols, as well as explore more advanced techniques to improve the design process.","tags":[],"title":"Create custom symbols","url":"\/documentation\/wwdc21-10250-create-custom-symbols\/"},{"category":"","section":"documentation","slug":"wwdc21-10247-capture-highquality-photos-using-video-formats","summary":"Your app can take full advantage of the powerful camera systems on iPhone by using the AVCapture APIs. Learn how to choose the most appropriate photo or video formats for your use cases while balancing the trade-offs between photo quality and delivery speed. Discover some powerful new algorithms which can help you deliver greatly improved photo quality when you use video formats in your app.","tags":[],"title":"Capture high-quality photos using video formats","url":"\/documentation\/wwdc21-10247-capture-highquality-photos-using-video-formats\/"},{"category":"","section":"documentation","slug":"wwdc21-10245-design-for-spatial-interaction","summary":"Discover the principles for creating intuitive physical interactions between two or more devices, as demonstrated by Apple designers who worked on features for iPhone, HomePod mini, and AirTag. Explore how you can apply these patterns to your own app when designing features for Apple platforms, and help people using your app interact more directly with their surroundings.","tags":[],"title":"Design for spatial interaction","url":"\/documentation\/wwdc21-10245-design-for-spatial-interaction\/"},{"category":"","section":"documentation","slug":"wwdc21-10244-mitigate-fraud-with-app-attest-and-devicecheck","summary":"Discover how to use App Attest and DeviceCheck, Apple’s powerful anti-fraud tools, created to safeguard your apps and content. Unlock the secrets of deploying App Attest by incorporating it into your app to block unauthorized modifications of your app and content. We’ll also show you how to use DeviceCheck to ensure you can distinguish between customers who have received premium content in your app, and those who have attained it through illegitimate means.","tags":[],"title":"Mitigate fraud with App Attest and DeviceCheck","url":"\/documentation\/wwdc21-10244-mitigate-fraud-with-app-attest-and-devicecheck\/"},{"category":"","section":"documentation","slug":"wwdc21-10239-reduce-network-delays-for-your-app","summary":"CPU performance and network throughput rates keep improving, but the speed of light is one limit that isn’t going any higher. Learn the APIs and best practices to maximize your app’s responsiveness and efficiency by keeping network round-trip times low and minimizing the number of round trips when performing network operations.","tags":[],"title":"Reduce network delays for your app","url":"\/documentation\/wwdc21-10239-reduce-network-delays-for-your-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10236-host-and-automate-your-docc-documentation","summary":"Find out how you can easily host your Swift package and framework DocC documentation online. We’ll take you through configuring your web server to host your generated DocC archives, and help you learn to use the xcodebuild tool to automate documentation generation and keep your web content synchronized and up to date.","tags":[],"title":"Host and automate your DocC documentation","url":"\/documentation\/wwdc21-10236-host-and-automate-your-docc-documentation\/"},{"category":"","section":"documentation","slug":"wwdc21-10235-build-interactive-tutorials-using-docc","summary":"Discover how you can author immersive tutorials from scratch with DocC. We’ll demonstrate how you can bring together rich instructions, example code, and images through the DocC syntax to showcase your Swift framework in action. And we’ll go over how to create progressive training that can provide interactive learning opportunities and help people better understand use cases for your framework.","tags":[],"title":"Build interactive tutorials using DocC","url":"\/documentation\/wwdc21-10235-build-interactive-tutorials-using-docc\/"},{"category":"","section":"documentation","slug":"wwdc21-10233-use-accelerate-to-improve-performance-and-incorporate-encrypted-archives","summary":"The Accelerate framework helps you make large-scale mathematical computations and image calculations that are optimized for high-performance, low-energy consumption. Explore the latest updates to Accelerate and its Basic Neural Network Subroutines library, including additional layers, activation functions, and improved optimizer support. Check out improvements to simd.h that include better support for C++ templates. Discover support for Apple Encrypted Archive, an extension to Apple Archive that combines compression with powerful encryption and a digital signature. And learn how you can keep data your safe and secure without compromising on performance.","tags":[],"title":"Use Accelerate to improve performance and incorporate encrypted archives","url":"\/documentation\/wwdc21-10233-use-accelerate-to-improve-performance-and-incorporate-encrypted-archives\/"},{"category":"","section":"documentation","slug":"wwdc21-10232-meet-shortcuts-for-macos","summary":"Shortcuts is coming to macOS, and your apps are a key part of that process. Discover how you can elevate the capabilities of your app by exposing those features as Shortcuts actions. We’ll show you how to build actions for your macOS apps built with Catalyst or AppKit, deploy actions across platforms, publish and share shortcuts, and enable your app to run shortcuts from other apps. We’ll also take you through how Shortcuts fits in with existing Mac automation technologies like Automator and AppleScript.","tags":[],"title":"Meet Shortcuts for macOS","url":"\/documentation\/wwdc21-10232-meet-shortcuts-for-macos\/"},{"category":"","section":"documentation","slug":"wwdc21-10231-donate-intents-and-expand-your-apps-presence","summary":"Discover how you can make key parts of your app available for someone at exactly the right moment — without them ever needing to open it. Learn how to craft and donate intents to the system, helping you surface relevant and contextual information about your app in Siri, Focus, Shortcuts, the Smart Stack, and more. We’ll explore how the system intelligently identifies information and show you techniques for structuring intents to help increase engagement and visibility for your app.","tags":[],"title":"Donate intents and expand your app’s presence","url":"\/documentation\/wwdc21-10231-donate-intents-and-expand-your-apps-presence\/"},{"category":"","section":"documentation","slug":"wwdc21-10229-discover-compilation-workflows-in-metal","summary":"The Metal shading language is a powerful C++ based language that allows apps to render stunning effects while maintaining a flexible shader development pipeline. Discover how to more easily build and extend your render pipelines using Dynamic Libraries and Function Pointers. We’ll also show you how to accelerate your shader compilation at runtime with Binary Function Archives, Function Linking, and Function Stitching.","tags":[],"title":"Discover compilation workflows in Metal","url":"\/documentation\/wwdc21-10229-discover-compilation-workflows-in-metal\/"},{"category":"","section":"documentation","slug":"wwdc21-10225-coordinate-media-experiences-with-group-activities","summary":"Discover how you can help people watch or listen to content all in sync with SharePlay and the Group Activities framework. We’ll show you how to adapt a media app into a synchronized, SharePlay-enabled experience for multiple people. Learn how to add Group Activities to your app, explore the Picture in Picture layout, and find out how the playback coordinator object can help you fine-tune playback across multiple devices.","tags":[],"title":"Coordinate media experiences with Group Activities","url":"\/documentation\/wwdc21-10225-coordinate-media-experiences-with-group-activities\/"},{"category":"","section":"documentation","slug":"wwdc21-10223-create-accessible-experiences-for-watchos","summary":"Discover how you can build a top-notch accessibility experience for watchOS when you support features like larger text sizes, VoiceOver, and AssistiveTouch. We’ll take you through adding visual and motor accessibility support to a SwiftUI app built for watchOS, including best practices around API integration, experience, and more.","tags":[],"title":"Create accessible experiences for watchOS","url":"\/documentation\/wwdc21-10223-create-accessible-experiences-for-watchos\/"},{"category":"","section":"documentation","slug":"wwdc21-10221-streamline-your-localized-strings","summary":"When you localize the text within your app, you can help make your app more accessible to a worldwide audience. Discover best practices for building your localization workflow, including how to write and format strings accurately, and learn how to prepare strings for localization in different languages using Xcode.","tags":[],"title":"Streamline your localized strings","url":"\/documentation\/wwdc21-10221-streamline-your-localized-strings\/"},{"category":"","section":"documentation","slug":"wwdc21-10220-localize-your-swiftui-app","summary":"Learn how to localize your SwiftUI app and make it available to a global audience. Explore how you can localize strings in SwiftUI, including those with styles and formatting. We’ll demonstrate how you can save time by having SwiftUI automatically handle tasks such as layout and keyboard shortcuts, and take you through the localization workflow in Xcode 13.","tags":[],"title":"Localize your SwiftUI app","url":"\/documentation\/wwdc21-10220-localize-your-swiftui-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10216-arc-in-swift-basics-and-beyond","summary":"Learn about the basics of object lifetimes and ARC in Swift. Dive deep into what language features make object lifetimes observable, consequences of relying on observed object lifetimes and some safe techniques to fix them.","tags":[],"title":"ARC in Swift: Basics and beyond","url":"\/documentation\/wwdc21-10216-arc-in-swift-basics-and-beyond\/"},{"category":"","section":"documentation","slug":"wwdc21-10212-analyze-http-traffic-in-instruments","summary":"Learn to use the Instruments Network template to record and analyze your app’s HTTP traffic. We’ll show you how to explore and visualize the behavior of sessions, tasks, and individual HTTP requests to ensure data is transmitted efficiently and respects people’s privacy.","tags":[],"title":"Analyze HTTP traffic in Instruments","url":"\/documentation\/wwdc21-10212-analyze-http-traffic-in-instruments\/"},{"category":"","section":"documentation","slug":"wwdc21-10211-symbolication-beyond-the-basics","summary":"Discover how you can achieve maximum performance and insightful debugging with your app. Symbolication is at the center of tools such as Instruments and LLDB to help bridge the layers between your application’s runtime and your source code. Learn how this process works and the steps you can take to gain the most insight into your app.","tags":[],"title":"Symbolication: Beyond the basics","url":"\/documentation\/wwdc21-10211-symbolication-beyond-the-basics\/"},{"category":"","section":"documentation","slug":"wwdc21-10210-explore-advanced-project-configuration-in-xcode","summary":"Working with more complex Xcode projects? You’ve come to the right place. Discover how you can configure your project to build for multiple Apple platforms, filter content per-platform, create custom build rules and file dependencies, and more. We’ll take you through multi-platform framework targets, detail how to optimize your project and scheme configuration, and show you how to make effective use of configuration settings files.","tags":[],"title":"Explore advanced project configuration in Xcode","url":"\/documentation\/wwdc21-10210-explore-advanced-project-configuration-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc21-10209-discover-breakpoint-improvements","summary":"Breakpoints can help you debug issues by allowing you to pause and inspect problems in the middle of a process. Discover the latest improvements to breakpoints in Xcode including column and unresolved breakpoints. We’ll also go over best practices for general breakpoints and LLDB tips and tricks.","tags":[],"title":"Discover breakpoint improvements","url":"\/documentation\/wwdc21-10209-discover-breakpoint-improvements\/"},{"category":"","section":"documentation","slug":"wwdc21-10208-explore-digital-crown-trackpad-and-ipad-pointer-automation","summary":"Learn how you can interact with devices in UI Tests in Xcode 13. Discover newly-automatable input methods including iPadOS pointer, watchOS Digital Crown, and enhanced macOS trackpad scrolling APIs.","tags":[],"title":"Explore Digital Crown, Trackpad, and iPad pointer automation","url":"\/documentation\/wwdc21-10208-explore-digital-crown-trackpad-and-ipad-pointer-automation\/"},{"category":"","section":"documentation","slug":"wwdc21-10207-embrace-expected-failures-in-xctest","summary":"Testing is a crucial part of building a great app: Great tests can help you track down important issues before release, improve your workflow, and provide a quality experience upon release. For issues that can’t be immediately resolved, however, XCTest can help provide better context around those problems with XCTExpectFailure. Learn how this API works, its strict behavior, and how to improve the signal-to-noise ratio in your tests to identify new issues more efficiently.","tags":[],"title":"Embrace Expected Failures in XCTest","url":"\/documentation\/wwdc21-10207-embrace-expected-failures-in-xctest\/"},{"category":"","section":"documentation","slug":"wwdc21-10205-review-code-and-collaborate-in-xcode","summary":"Explore the latest enhancements to code review and pull requests in Xcode. Learn more about diff display preferences, commit selectors, changes navigator, and pull request workflows. We’ll show you how you can collaborate with your team and find regressions by connecting your code review and PR workflows directly to your source code.","tags":[],"title":"Review code and collaborate in Xcode","url":"\/documentation\/wwdc21-10205-review-code-and-collaborate-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc21-10204-distribute-apps-in-xcode-with-cloud-signing","summary":"Discover how to distribute your apps directly to App Store Connect and all the distribution methods supported in Xcode. Explore how to automate distribution for your apps, and learn about improvements to the distribution workflow like cloud signing, app record creation, and build number management.","tags":[],"title":"Distribute apps in Xcode with cloud signing","url":"\/documentation\/wwdc21-10204-distribute-apps-in-xcode-with-cloud-signing\/"},{"category":"","section":"documentation","slug":"wwdc21-10203-triage-testflight-crashes-in-xcode-organizer","summary":"Learn how Xcode Organizer makes it easier and faster to triage and fix crashes. We’ll explore how you can get access to crash information and feedback from your TestFlight testers just moments after they occur. And we’ll show you how to analyze crashes, view metrics, and even share crash information among your team.","tags":[],"title":"Triage TestFlight crashes in Xcode Organizer","url":"\/documentation\/wwdc21-10203-triage-testflight-crashes-in-xcode-organizer\/"},{"category":"","section":"documentation","slug":"wwdc21-10202-detect-bugs-early-with-the-static-analyzer","summary":"Discover how Xcode can automatically track down infinite loops, unused code, and other issues before you even run your app. Learn how, with a single click, Xcode can analyze your project to discover security issues, logical bugs, and other hard-to-spot errors in Objective-C, C, and C++. We’ll show you how to use the static analyzer to save you time investigating bug reports and improve your app’s overall quality.","tags":[],"title":"Detect bugs early with the static analyzer","url":"\/documentation\/wwdc21-10202-detect-bugs-early-with-the-static-analyzer\/"},{"category":"","section":"documentation","slug":"wwdc21-102-platforms-state-of-the-union","summary":"Take a deeper dive into the new tools, technologies, and advances across Apple platforms that will help you create even better apps.","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc21-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc21-10197-discover-and-curate-swift-packages-using-collections","summary":"Whether you’re curating packages for your team, for education purposes, or to share with other developers, Swift Package Collections can help you discover, explore and import new packages into your project. Discover improvements in the Swift Package workflow using Collections, and learn how you can curate, create, sign, and share your own Swift Package Collections.","tags":[],"title":"Discover and curate Swift Packages using Collections","url":"\/documentation\/wwdc21-10197-discover-and-curate-swift-packages-using-collections\/"},{"category":"","section":"documentation","slug":"wwdc21-10196-build-interfaces-with-style","summary":"Discover how you can iterate upon your interfaces even more quickly when building your apps. Learn how you can modernize your UI with the latest button styles and table view cell content configurations, both of which give you greater control directly inside of Interface Builder. We’ll show you how you can preview common customizations with accessibility overrides — such as dynamic type size and increased contrast — all without leaving the canvas. We’ll also take you through hierarchical symbols to easily add a splash of color to reinvigorate your app. Whether you’re just starting out or have been developing apps for years, learn best practices for creating great interfaces with tips and tricks sprinkled along the way.","tags":[],"title":"Build interfaces with style","url":"\/documentation\/wwdc21-10196-build-interfaces-with-style\/"},{"category":"","section":"documentation","slug":"wwdc21-10194-swift-concurrency-update-a-sample-app","summary":"Discover Swift concurrency in action: Follow along as we update an existing sample app. Get real-world experience with async\/await, actors, and continuations. We’ll also explore techniques for migrating existing code to Swift concurrency over time.","tags":[],"title":"Swift concurrency: Update a sample app","url":"\/documentation\/wwdc21-10194-swift-concurrency-update-a-sample-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10192-whats-new-in-swift","summary":"Join us for an update on Swift. Discover the latest language advancements that make your code easier to read and write. Explore the growing number of APIs available as Swift packages. And we’ll introduce you to Swift’s async\/await syntax, structured concurrency, and actors.","tags":[],"title":"What‘s new in Swift","url":"\/documentation\/wwdc21-10192-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc21-10191-deliver-a-great-playback-experience-on-tvos","summary":"Find out how you can use Apple TV’s redesigned playback interface to build great media experiences in your apps. Learn how the latest interface helps people access relevant controls and information while maintaining focus on content. We’ll show you how you can adopt AVPlayerViewController and other APIs for your tvOS app to help people find, play, and enjoy content.","tags":[],"title":"Deliver a great playback experience on tvOS","url":"\/documentation\/wwdc21-10191-deliver-a-great-playback-experience-on-tvos\/"},{"category":"","section":"documentation","slug":"wwdc21-10190-create-audio-drivers-with-driverkit","summary":"Discover how to use the AudioDriverKit API to consolidate your Audio Server plug-in and DriverKit extension into a single package. Learn how you can simplify audio driver installation with an app instead of an installer package and distribute your driver through the Mac App Store. And we’ll take you through how the Core Audio HAL interacts with AudioDriverKit and discover best practices for audio device drivers.","tags":[],"title":"Create audio drivers with DriverKit","url":"\/documentation\/wwdc21-10190-create-audio-drivers-with-driverkit\/"},{"category":"","section":"documentation","slug":"wwdc21-10189-coordinate-media-playback-in-safari-with-group-activities","summary":"Create SharePlay experiences that people can enjoy on the web and in your companion app. Learn how you can use the Group Activities framework in combination with a companion website to bring SharePlay to Safari, letting people connect with each other for enjoyable group interactions — even if they haven’t yet downloaded your app from the App Store.","tags":[],"title":"Coordinate media playback in Safari with Group Activities","url":"\/documentation\/wwdc21-10189-coordinate-media-playback-in-safari-with-group-activities\/"},{"category":"","section":"documentation","slug":"wwdc21-10187-build-custom-experiences-with-group-activities","summary":"Go beyond basic streaming and interaction and discover how you can build advanced SharePlay experiences using the full power of the Group Activities framework. We’ll show you how to adapt a simple drawing app into a real-time shared canvas, explore APIs like GroupSessionMessenger — which helps send and receive custom messages between participants in the group — and learn how to put the finishing touches on a custom SharePlay experience.","tags":[],"title":"Build custom experiences with Group Activities","url":"\/documentation\/wwdc21-10187-build-custom-experiences-with-group-activities\/"},{"category":"","section":"documentation","slug":"wwdc21-10184-design-for-group-activities","summary":"Learn how you can design your app to support SharePlay experiences. We’ll show you how you can bring people together in your app using the Group Activities framework, and adapt your design to focus on group-first content sharing. And we’ll explore ideas and iteration around apps and functions you can create for people using SharePlay on a FaceTime call.","tags":[],"title":"Design for Group Activities","url":"\/documentation\/wwdc21-10184-design-for-group-activities\/"},{"category":"","section":"documentation","slug":"wwdc21-10183-meet-group-activities","summary":"Learn more about the framework powering SharePlay, and discover the different types of shared experiences you can implement for people who use your app. Explore a high-level overview of the framework’s architecture and concepts, including how Group Activities and AVFoundation work in tandem, and learn how to implement it into your app. This is a great starting point to know more about SharePlay and how to integrate Group Activities in your apps.","tags":[],"title":"Meet Group Activities","url":"\/documentation\/wwdc21-10183-meet-group-activities\/"},{"category":"","section":"documentation","slug":"wwdc21-10182-sync-files-to-the-cloud-with-fileprovider-on-macos","summary":"Find out how you can use the FileProvider framework to build a comprehensive cloud sync solution. We’ll show you how to approach building a file provider extension, and explore how you can effortlessly integrate your extension with file system features such as safe save, disk space management, Finder integration and more.","tags":[],"title":"Sync files to the cloud with FileProvider on macOS","url":"\/documentation\/wwdc21-10182-sync-files-to-the-cloud-with-fileprovider-on-macos\/"},{"category":"","section":"documentation","slug":"wwdc21-10181-ultimate-application-performance-survival-guide","summary":"Performance optimization can seem like a daunting task — with many metrics to track and tools to use. Fear not: Our survival guide to app performance is here to help you understand tooling, metrics, and paradigms that can help smooth your development process and contribute to a great experience for people using your app.","tags":[],"title":"Ultimate application performance survival guide","url":"\/documentation\/wwdc21-10181-ultimate-application-performance-survival-guide\/"},{"category":"","section":"documentation","slug":"wwdc21-10180-detect-and-diagnose-memory-issues","summary":"Discover how you can understand and diagnose memory performance problems with Xcode. We’ll take you through the latest updates to Xcode’s tools, explore Metrics, check out the memgraph collection feature in XCTest, and learn how to catch regressions using a Performance XCTest.","tags":[],"title":"Detect and diagnose memory issues","url":"\/documentation\/wwdc21-10180-detect-and-diagnose-memory-issues\/"},{"category":"","section":"documentation","slug":"wwdc21-10176-craft-search-experiences-in-swiftui","summary":"Discover how you can help people quickly find specific content within your apps. Learn how to use SwiftUI’s .searchable modifier in conjunction with other views to best incorporate search for your app. And we’ll show you how to elevate your implementation by providing search suggestions to help people understand the types of searches they can perform.","tags":[],"title":"Craft search experiences in SwiftUI","url":"\/documentation\/wwdc21-10176-craft-search-experiences-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc21-10175-support-customers-and-handle-refunds","summary":"Great customer support is critical to running a successful business on the App Store. Discover how you can provide a frictionless support experience to customers who make in-app purchases, including APIs that make it easy for customers to manage or cancel their auto-renewable subscription, or request refunds from directly within your app. We’ll cover best practices for handling refunds, as well as additional APIs that can help you better support your customers.","tags":[],"title":"Support customers and handle refunds","url":"\/documentation\/wwdc21-10175-support-customers-and-handle-refunds\/"},{"category":"","section":"documentation","slug":"wwdc21-10174-manage-inapp-purchases-on-your-server","summary":"Discover the latest updates to managing in-app purchases on your server. Explore how you can use servers to track status changes, handle refunds, and manage subscriber status. Learn about App Store server APIs around status and in-app purchase transactions, and find out how App Store server notifications can help you track more customer lifecycle events. We’ll also take you through managing Family Sharing for in-app purchases, and the latest improvements to testing in-app purchases in the sandbox environment.","tags":[],"title":"Manage in-app purchases on your server","url":"\/documentation\/wwdc21-10174-manage-inapp-purchases-on-your-server\/"},{"category":"","section":"documentation","slug":"wwdc21-10171-meet-inapp-events-on-the-app-store","summary":"Discover how you can promote timely events happening in your apps and games — like a game competition, a movie premiere, and more — directly on the App Store. We’ll show you how in-app events now appear on the App Store and how to create, schedule, and manage them in App Store Connect.","tags":[],"title":"Meet in-app events on the App Store","url":"\/documentation\/wwdc21-10171-meet-inapp-events-on-the-app-store\/"},{"category":"","section":"documentation","slug":"wwdc21-10170-meet-testflight-on-mac","summary":"TestFlight has come to Mac. Learn how you can manage builds and testers, collect feedback, and deploy your macOS app. Discover enhancements for internal testing and new features that integrate with Xcode Cloud to make testing even easier on all platforms.","tags":[],"title":"Meet TestFlight on Mac","url":"\/documentation\/wwdc21-10170-meet-testflight-on-mac\/"},{"category":"","section":"documentation","slug":"wwdc21-10168-build-mail-app-extensions","summary":"Meet MailKit: the best way to build amazing experiences on top of Mail. MailKit enables apps to easily and securely interact with the Mail app for macOS. We’ll deep dive into the MailKit API, and show you how to create extensions for composing messages, message actions, secure email, and content blocking.","tags":[],"title":"Build Mail app extensions","url":"\/documentation\/wwdc21-10168-build-mail-app-extensions\/"},{"category":"","section":"documentation","slug":"wwdc21-10167-elevate-your-docc-documentation-in-xcode","summary":"Great documentation can help people effectively and easily adopt your Swift framework. Discover how you can create rich, conceptual articles to accompany your API. You’ll learn best practices for writing articles, including how to structure your documentation, and find out how to create automatically managed links that connect your docs together.","tags":[],"title":"Elevate your DocC documentation in Xcode","url":"\/documentation\/wwdc21-10167-elevate-your-docc-documentation-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc21-10166-meet-docc-documentation-in-xcode","summary":"Discover how you can use DocC to build and share documentation for Swift packages and frameworks. We’ll show you how to begin generating documentation from your own code — or from third-party code you depend upon — and write and format it using Markdown. And we’ll also take you through the export process, helping you generate DocC archives to share with the public.","tags":[],"title":"Meet DocC documentation in Xcode","url":"\/documentation\/wwdc21-10166-meet-docc-documentation-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc21-10165-explore-nearby-interaction-with-thirdparty-accessories","summary":"Discover how your app can interact with Ultra Wideband (UWB) third-party accessories when running on a U1-equipped device. We’ll show you how to use the Nearby Interaction framework’s standards-based technology to implement precise and directionally-aware experiences with accessories. Learn about resources for getting started with accessory and app development such as development kits, sample code, and specification documents, along with supported technology providers.","tags":[],"title":"Explore Nearby Interaction with third-party accessories","url":"\/documentation\/wwdc21-10165-explore-nearby-interaction-with-thirdparty-accessories\/"},{"category":"","section":"documentation","slug":"wwdc21-10161-explore-hdr-rendering-with-edr","summary":"EDR is Apple’s High Dynamic Range representation and rendering pipeline. Explore how you can render HDR content using EDR in your app and unleash the dynamic range capabilities of your HDR display including Apple’s internal displays and Pro Display XDR.","tags":[],"title":"Explore HDR rendering with EDR","url":"\/documentation\/wwdc21-10161-explore-hdr-rendering-with-edr\/"},{"category":"","section":"documentation","slug":"wwdc21-10160-capture-and-process-proraw-images","summary":"When you support ProRAW in your app, you can help photographers easily capture and edit images by combining standard RAW information with Apple’s advanced computational photography techniques. We’ll take you through an overview of the format, including the look and feel of ProRAW images, quality metrics, and compatibility with your app. From there, we’ll explore how you can incorporate ProRAW into your app at every stage of the production pipeline, including capturing imagery with AVFoundation, storage using PhotoKit, and editing with Core Image.","tags":[],"title":"Capture and process ProRAW images","url":"\/documentation\/wwdc21-10160-capture-and-process-proraw-images\/"},{"category":"","section":"documentation","slug":"wwdc21-10159-explore-core-image-kernel-improvements","summary":"Discover how you can add Core Image kernels written in the Metal Shading Language into your app. We’ll explore how you can use Xcode rules and naming conventions for Core Image kernels written in the Metal Shading Language, and help you make sense of Metal’s Stitchable functions and dynamic library features to benefit Core Image kernels.","tags":[],"title":"Explore Core Image kernel improvements","url":"\/documentation\/wwdc21-10159-explore-core-image-kernel-improvements\/"},{"category":"","section":"documentation","slug":"wwdc21-10158-explore-lowlatency-video-encoding-with-videotoolbox","summary":"Supporting low latency encoders has become an important aspect of video application development process. Discover how VideoToolbox supports low-delay H.264 hardware encoding to minimize end-to-end latency and achieve new levels of performance for optimal real-time communication and high-quality video playback.","tags":[],"title":"Explore low-latency video encoding with VideoToolbox","url":"\/documentation\/wwdc21-10158-explore-lowlatency-video-encoding-with-videotoolbox\/"},{"category":"","section":"documentation","slug":"wwdc21-10157-discover-metal-debugging-profiling-and-asset-creation-tools","summary":"Explore how Xcode can help you take your Metal debugging, profiling and asset creation workflows to the next level. Discover the latest tools for ray tracing and GPU profiling, and learn about Metal Debugger workflows. We’ll also show you how to use the Texture Converter tool, which supports all modern GPU texture formats and can easily integrate into your multi-platform asset creation pipelines.","tags":[],"title":"Discover Metal debugging, profiling, and asset creation tools","url":"\/documentation\/wwdc21-10157-discover-metal-debugging-profiling-and-asset-creation-tools\/"},{"category":"","section":"documentation","slug":"wwdc21-10153-create-image-processing-apps-powered-by-apple-silicon","summary":"Discover how to optimize your image processing app for Apple silicon. Explore how to take advantage of Metal render command encoders, tile shading, unified memory architecture, and memoryless attachments. We’ll show you how to use Apple’s unique tile based deferred renderer architecture to create power efficient apps with low memory footprint, and take you through best practices when migrating your compute-based apps from discrete GPUs to Apple silicon.","tags":[],"title":"Create image processing apps powered by Apple silicon","url":"\/documentation\/wwdc21-10153-create-image-processing-apps-powered-by-apple-silicon\/"},{"category":"","section":"documentation","slug":"wwdc21-10152-accelerate-machine-learning-with-metal-performance-shaders-graph","summary":"Metal Performance Shaders Graph is a compute engine that helps you build, compile, and execute customized multidimensional graphs for linear algebra, machine learning, computer vision, and image processing. Discover how MPSGraph can accelerate the popular TensorFlow platform through a Metal backend for Apple products. Learn how to add control flow to your graphs, manage the graph compilation for optimal performance, and use the MPSGraph operations to accelerate the hardest compute applications with only a few lines of code.","tags":[],"title":"Accelerate machine learning with Metal Performance Shaders Graph","url":"\/documentation\/wwdc21-10152-accelerate-machine-learning-with-metal-performance-shaders-graph\/"},{"category":"","section":"documentation","slug":"wwdc21-10150-explore-hybrid-rendering-with-metal-ray-tracing","summary":"Discover how you can combine ray tracing with your rasterization engine to implement simplified graphics techniques and elevate visuals in your app or game. We’ll explore how you can use natural algorithms to accurately simulate the interplays of light, and learn how to take advantage of the latest tools in Xcode to capture, inspect, and debug your ray-traced scenes.","tags":[],"title":"Explore hybrid rendering with Metal ray tracing","url":"\/documentation\/wwdc21-10150-explore-hybrid-rendering-with-metal-ray-tracing\/"},{"category":"","section":"documentation","slug":"wwdc21-10149-enhance-your-app-with-metal-ray-tracing","summary":"Achieve photorealistic 3D scenes in your apps and games through ray tracing, a core part of the Metal graphics framework and Shading Language. We’ll explore the latest improvements in implementing ray tracing and take you through upgrades to the production rendering process. Discover Metal APIs to help you create more detailed scenes, integrate natively-supported content with motion, and more.","tags":[],"title":"Enhance your app with Metal ray tracing","url":"\/documentation\/wwdc21-10149-enhance-your-app-with-metal-ray-tracing\/"},{"category":"","section":"documentation","slug":"wwdc21-10148-optimize-highend-games-for-apple-gpus","summary":"Optimize your high-end games for Apple GPUs: We’ll show you how you can use our rendering and debugging tools to eliminate performance issues and make your games great on Apple platforms. Learn from our experiences working with developers at Larian Studios and 4A Games as we help them optimize their games for Apple GPUs.","tags":[],"title":"Optimize high-end games for Apple GPUs","url":"\/documentation\/wwdc21-10148-optimize-highend-games-for-apple-gpus\/"},{"category":"","section":"documentation","slug":"wwdc21-10147-optimize-for-variable-refresh-rate-displays","summary":"Discover how to achieve smooth screen updates on all Apple platforms that support dynamic display timing. Learn techniques for pacing full-screen game updates on Adaptive Sync displays in macOS, and find out how Low Power Mode and other system states affect frame rate availability on ProMotion displays. We’ll also share best practices for driving custom drawing using display link APIs.","tags":[],"title":"Optimize for variable refresh rate displays","url":"\/documentation\/wwdc21-10147-optimize-for-variable-refresh-rate-displays\/"},{"category":"","section":"documentation","slug":"wwdc21-10146-whats-new-in-avfoundation","summary":"Discover the latest updates to AVFoundation, Apple’s framework for inspecting, playing, and authoring audiovisual presentations. We’ll explore how you can use AVFoundation to query attributes of audiovisual assets, further customize your custom video compositions with timed metadata, and author caption files.","tags":[],"title":"What’s new in AVFoundation","url":"\/documentation\/wwdc21-10146-whats-new-in-avfoundation\/"},{"category":"","section":"documentation","slug":"wwdc21-10145-evaluate-videos-with-the-advanced-video-quality-tool","summary":"Learn how the Advanced Video Quality Tool (AVQT) can help you accurately assess the perceptual quality of your compressed video files. Utilizing the AVFoundation framework, AVQT supports a wide range of video formats, codecs, resolutions and frame-rates in both the SDR and HDR domains, which results in easy and efficient workflows — for example, no requirement to decode to a raw pixel format.","tags":[],"title":"Evaluate videos with the Advanced Video Quality Tool","url":"\/documentation\/wwdc21-10145-evaluate-videos-with-the-advanced-video-quality-tool\/"},{"category":"","section":"documentation","slug":"wwdc21-10143-explore-hls-variants-in-avfoundation","summary":"Discover how you can use AVFoundation APIs to highlight different variants of your content within your app. We’ll show you how you can inspect HLS content using these APIs for different video characteristics, including attributes like SDR\/HDR, FPS, and the like. And we’ll explore the AVAssetVariant, which represents streaming and offline content.","tags":[],"title":"Explore HLS variants in AVFoundation","url":"\/documentation\/wwdc21-10143-explore-hls-variants-in-avfoundation\/"},{"category":"","section":"documentation","slug":"wwdc21-10142-transition-media-gaplessly-with-hls","summary":"Discover how you can create streaming media content that seamlessly transitions between episodes, songs, scenes, and individual resources. With gapless HLS playback, you can stitch together multiple pieces of content on the fly to create customized workouts, design interactive content, tell compelling stories, and more. We’ll show you how you can provide faithful continuity for streaming music, event recordings, and pre-recorded video and provide a captivating viewing experience within your app.","tags":[],"title":"Transition media gaplessly with HLS","url":"\/documentation\/wwdc21-10142-transition-media-gaplessly-with-hls\/"},{"category":"","section":"documentation","slug":"wwdc21-10141-improve-global-streaming-availability-with-hls-content-steering","summary":"Discover how you can use HLS playlist tags and the Steering Manifest format with your content to help dynamically update CDN redundancy policies tuned for each viewer. Learn how to load balance, set failover, and more.","tags":[],"title":"Improve global streaming availability with HLS Content Steering","url":"\/documentation\/wwdc21-10141-improve-global-streaming-availability-with-hls-content-steering\/"},{"category":"","section":"documentation","slug":"wwdc21-10140-explore-dynamic-prerolls-and-midrolls-in-hls","summary":"Learn how you can create seamless transitions between advertisements and your HLS streams. We’ll show you how to incorporate HLS tags and AVFoundation APIs to create media experiences that move easily between your primary content and mid-rolls, and provide best practices for playing these streams in your app.","tags":[],"title":"Explore dynamic pre-rolls and mid-rolls in HLS","url":"\/documentation\/wwdc21-10140-explore-dynamic-prerolls-and-midrolls-in-hls\/"},{"category":"","section":"documentation","slug":"wwdc21-10137-improve-mdm-assignment-of-apps-and-books","summary":"Discover the Apps and Books Management API and explore how you can assign an organization’s owned apps and books to managed users and devices. Learn about the latest API improvements and find out how you can subscribe to and receive notifications around asset counts, assignments, and registered users in your organization. And discover how you can take advantage of asynchronous processing to significantly reduce the number of requests you need to make for large assignments.","tags":[],"title":"Improve MDM assignment of Apps and Books","url":"\/documentation\/wwdc21-10137-improve-mdm-assignment-of-apps-and-books\/"},{"category":"","section":"documentation","slug":"wwdc21-10136-discover-accountdriven-user-enrollment","summary":"Learn how User Enrollment helps you support “bring your own device” deployments in your business or enterprise environment. We’ll explore data separation, enhancements to Managed Apple IDs and how you can use the new account-based onboarding in your organization.","tags":[],"title":"Discover account-driven User Enrollment","url":"\/documentation\/wwdc21-10136-discover-accountdriven-user-enrollment\/"},{"category":"","section":"documentation","slug":"wwdc21-10134-explore-structured-concurrency-in-swift","summary":"When you have code that needs to run at the same time as other code, it’s important to choose the right tool for the job. We’ll take you through the different kinds of concurrent tasks you can create in Swift, show you how to create groups of tasks, and find out how to cancel tasks in progress. We’ll also provide guidance on when you may want to use unstructured tasks.","tags":[],"title":"Explore structured concurrency in Swift","url":"\/documentation\/wwdc21-10134-explore-structured-concurrency-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc21-10133-protect-mutable-state-with-swift-actors","summary":"Data races occur when two separate threads concurrently access the same mutable state. They are trivial to construct, but are notoriously hard to debug.","tags":[],"title":"Protect mutable state with Swift actors","url":"\/documentation\/wwdc21-10133-protect-mutable-state-with-swift-actors\/"},{"category":"","section":"documentation","slug":"wwdc21-10132-meet-asyncawait-in-swift","summary":"Swift now supports asynchronous functions — a pattern commonly known as async\/await. Discover how the new syntax can make your code easier to read and understand. Learn what happens when a function suspends, and find out how to adapt existing completion handlers to asynchronous functions.","tags":[],"title":"Meet async\/await in Swift","url":"\/documentation\/wwdc21-10132-meet-asyncawait-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc21-10131-meet-declarative-device-management","summary":"The future of device management is here: Learn how you can support mobile device management while allowing individual devices to be autonomous and proactive, bringing both increased performance and scalability. We’ll show you how you can incorporate this declarative model in your MDM solution.","tags":[],"title":"Meet declarative device management","url":"\/documentation\/wwdc21-10131-meet-declarative-device-management\/"},{"category":"","section":"documentation","slug":"wwdc21-10130-whats-new-in-managing-apple-devices","summary":"Discover the latest advancements in key device management capabilities for your organization or MDM solution. Explore the refreshed device management Settings on iOS and iPadOS, an all-new return to service functionality for macOS, and other updates to device management across Apple platforms.","tags":[],"title":"What’s new in managing Apple devices","url":"\/documentation\/wwdc21-10130-whats-new-in-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc21-10129-manage-software-updates-in-your-organization","summary":"In a managed device environment, you often need to control the pace of software updates while you test the latest operating systems within your company or education institution. Discover the tools you have at your disposal to defer, deploy, and enforce software updates.","tags":[],"title":"Manage software updates in your organization","url":"\/documentation\/wwdc21-10129-manage-software-updates-in-your-organization\/"},{"category":"","section":"documentation","slug":"wwdc21-10126-discoverable-design","summary":"Discover how you can create interactive, memorable experiences to onboard people into your app. We’ll take you through discoverable design practices and learn how you can craft explorable, fun interfaces that help people grasp the possibilities of your app at a glance. We’ll also show you how to apply this methodology to personalize your content and make your app easy to customize.","tags":[],"title":"Discoverable design","url":"\/documentation\/wwdc21-10126-discoverable-design\/"},{"category":"","section":"documentation","slug":"wwdc21-10123-meet-the-screen-time-api","summary":"Explore the Screen Time API and learn how you can build apps that support customized parental controls — all while putting privacy first. Learn how you can use key features like core restrictions and device activity monitoring to create safe, secure experiences in your app while providing measurable control for parents and guardians.","tags":[],"title":"Meet the Screen Time API","url":"\/documentation\/wwdc21-10123-meet-the-screen-time-api\/"},{"category":"","section":"documentation","slug":"wwdc21-10122-bring-accessibility-to-charts-in-your-app","summary":"Charts are an essential tool for understanding data, and critical to understanding ourselves, our health, our finances, and our world. Find out how you can make charts accessible in your apps to people with vision impairments through audio graphs and sonified data. And we’ll show you how to improve your charts for accessibility through universal design principles and system accessibility settings.","tags":[],"title":"Bring accessibility to charts in your app","url":"\/documentation\/wwdc21-10122-bring-accessibility-to-charts-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10121-tailor-the-voiceover-experience-in-your-datarich-apps","summary":"Learn how to present complex data through VoiceOver with the Accessibility Custom Content API. Discover how you can deliver accessibility information in a concise form, and only when someone wants it. We’ll show you how you can integrate AXCustomContent and help people who want VoiceOver enabled to navigate your data-rich apps in an efficient manner.","tags":[],"title":"Tailor the VoiceOver experience in your data-rich apps","url":"\/documentation\/wwdc21-10121-tailor-the-voiceover-experience-in-your-datarich-apps\/"},{"category":"","section":"documentation","slug":"wwdc21-10120-support-full-keyboard-access-in-your-ios-app","summary":"iPhone and iPad support numerous input modes for those with motor impairments, including touch interaction modification, Switch Control, and Full Keyboard Access. We’ll explore how people can interact with their devices solely through keyboard input, working through a real-life example to discover key APIs. We’ll also take you through some best practices for supporting motor accessibility when you integrate Full Keyboard Access in your apps.","tags":[],"title":"Support Full Keyboard Access in your iOS app","url":"\/documentation\/wwdc21-10120-support-full-keyboard-access-in-your-ios-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10119-swiftui-accessibility-beyond-the-basics","summary":"Go beyond the basics to deliver an exceptional accessibility experience. Learn how to use the new SwiftUI Previews in Xcode to explore the latest accessibility APIs and create fantastic, accessible apps for everyone. Find out how you can customize the automatic accessibility built into SwiftUI to make your own custom controls accessible. Explore best practices and identify where to improve your app’s navigation experience using grouping and focus. And help supercharge navigation for VoiceOver users with the addition of rotors.","tags":[],"title":"SwiftUI Accessibility: Beyond the basics","url":"\/documentation\/wwdc21-10119-swiftui-accessibility-beyond-the-basics\/"},{"category":"","section":"documentation","slug":"wwdc21-10118-automate-cloudkit-tests-with-cktool-and-declarative-schema","summary":"It’s never been easier to test your CloudKit containers. We’ll introduce you to cktool, a command-line utility that makes quick work of CloudKit configuration, and learn about the new schema language that allows you to rapidly prototype and evolve containers. We’ll also show you how to combine these tools and configure your containers before running tests in Xcode.","tags":[],"title":"Automate CloudKit tests with cktool and declarative schema","url":"\/documentation\/wwdc21-10118-automate-cloudkit-tests-with-cktool-and-declarative-schema\/"},{"category":"","section":"documentation","slug":"wwdc21-10117-meet-cloudkit-console","summary":"Discover how CloudKit Console can help you better interact with your containers. We’ll show you how to put the database app to work and define, modify, and deploy schema changes with confidence. You’ll learn how to craft queries in the query builder and filter your records with ease. And we’ll explore how to use telemetry and log data to gain new insights into your app behavior over time.","tags":[],"title":"Meet CloudKit Console","url":"\/documentation\/wwdc21-10117-meet-cloudkit-console\/"},{"category":"","section":"documentation","slug":"wwdc21-10115-whats-new-in-app-analytics","summary":"App Analytics helps you maximize your opportunity on the App Store by providing privacy-friendly insights about your app. Learn about four new ways to grow your business, including information about custom product pages, in-app events, product page optimization, and new metrics about transactions on the store.","tags":[],"title":"What’s new in App Analytics","url":"\/documentation\/wwdc21-10115-whats-new-in-app-analytics\/"},{"category":"","section":"documentation","slug":"wwdc21-10114-meet-storekit-2","summary":"StoreKit 2 delivers powerful, Swift-native APIs for in-app purchases and auto-renewable subscriptions. Learn how you can easily implement in-app purchases and subscriptions, and discover APIs for retrieving product information, handling transactions, determining product entitlements and customer status, as well as comprehensive testing support in Xcode.","tags":[],"title":"Meet StoreKit 2","url":"\/documentation\/wwdc21-10114-meet-storekit-2\/"},{"category":"","section":"documentation","slug":"wwdc21-10110-safeguard-your-accounts-promotions-and-content","summary":"Discover how to keep your accounts, apps, and content protected. We’ll explore the tools Apple has built to help developers keep their apps and systems safe and secure, and show you how to safeguard against attackers, bad actors and nefarious activity to help protect your ecosystem.","tags":[],"title":"Safeguard your accounts, promotions, and content","url":"\/documentation\/wwdc21-10110-safeguard-your-accounts-promotions-and-content\/"},{"category":"","section":"documentation","slug":"wwdc21-10109-whats-new-in-foundation","summary":"Discover how the latest updates to Foundation can help you improve your app’s localization and internationalization support. Find out about the new AttributedString, designed specifically for Swift, and learn how you can use Markdown to apply style to your localized strings. Explore the grammar agreement engine, which automatically fixes up localized strings so they match grammatical gender and pluralization. And we’ll take you through improvements to date and number formatting that simplify complex requirements while also improving performance.","tags":[],"title":"What’s new in Foundation","url":"\/documentation\/wwdc21-10109-whats-new-in-foundation\/"},{"category":"","section":"documentation","slug":"wwdc21-10106-move-beyond-passwords","summary":"Despite their prevalence, passwords inherently come with challenges that make them poorly suited to securing someone’s online accounts. Learn more about the challenges passwords pose to modern security and how to move beyond them. Explore the next frontier in account security with secure-by-design, public-key-based credentials that use the Web Authentication standard. Discover in this technology preview how Apple is approaching this standard in iOS 15 and macOS Monterey.","tags":[],"title":"Move beyond passwords","url":"\/documentation\/wwdc21-10106-move-beyond-passwords\/"},{"category":"","section":"documentation","slug":"wwdc21-10105-secure-login-with-icloud-keychain-verification-codes","summary":"Learn how you can support on-device verification codes in your app or website for a more secure sign-in experience. We’ll explore the latest updates to the iCloud Keychain password manager and discover how verification codes, AutoFill, iCloud Keychain sync, and two-tap setup simplify the multi-step sign-in process. We’ll show you how to support this process in your apps and websites.","tags":[],"title":"Secure login with iCloud Keychain verification codes","url":"\/documentation\/wwdc21-10105-secure-login-with-icloud-keychain-verification-codes\/"},{"category":"","section":"documentation","slug":"wwdc21-10104-meet-safari-web-extensions-on-ios","summary":"Safari Web Extensions use HTML, CSS, and JavaScript to offer people powerful browser customizations — and you can now create them for every device that supports Safari. Learn how to build a Safari Web Extension that works for all devices, and discover how you can convert an existing extension to Safari through Xcode and the Safari Web Extension Converter.","tags":[],"title":"Meet Safari Web Extensions on iOS","url":"\/documentation\/wwdc21-10104-meet-safari-web-extensions-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc21-10103-optimize-for-5g-networks","summary":"5G enables new opportunities for your app or game through better performance for data transfer, higher bandwidth, lower latency, and much more. Discover how you can take advantage of the latest networking technology and Apple hardware to create adaptive experiences for your content that best suit someone’s data connection and optimize network traffic.","tags":[],"title":"Optimize for 5G networks","url":"\/documentation\/wwdc21-10103-optimize-for-5g-networks\/"},{"category":"","section":"documentation","slug":"wwdc21-10102-meet-the-location-button","summary":"Meet CLLocationButton: a secure interface element that provides an easy, low-friction way to grant your app location access only when and where it is needed. Learn how you can add CLLocationButton to new or existing code, how to customize it within interface legibility guidelines, how to recognize and address customization failures, and how it interacts with iOS’s traditional prompt-based Location Services authorization.","tags":[],"title":"Meet the Location Button","url":"\/documentation\/wwdc21-10102-meet-the-location-button\/"},{"category":"","section":"documentation","slug":"wwdc21-10101-discover-rolling-clips-with-replaykit","summary":"Never again miss anyone’s great moment in your game or app. Learn about ReplayKit’s latest update — clips screen recording — which provides your app with a rolling buffer of past video and audio samples. When memorable moments happen, discover how you can record and save it for people, and find out how you can surface those clips when they’re most relevant. Lastly, we’ll take you through integrating ReplayKit into your iOS and macOS apps.","tags":[],"title":"Discover rolling clips with ReplayKit","url":"\/documentation\/wwdc21-10101-discover-rolling-clips-with-replaykit\/"},{"category":"","section":"documentation","slug":"wwdc21-101-keynote","summary":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","tags":[],"title":"Keynote","url":"\/documentation\/wwdc21-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc21-10098-showcase-app-data-in-spotlight","summary":"Discover how Core Data can surface data from your app in Spotlight with as little as two lines of code. Learn how to make that data discoverable in Spotlight search and to customize how it is presented to people on device. Lastly, we’ll show you how to implement full-text search within your app, driven completely with the data indexed by Spotlight.","tags":[],"title":"Showcase app data in Spotlight","url":"\/documentation\/wwdc21-10098-showcase-app-data-in-spotlight\/"},{"category":"","section":"documentation","slug":"wwdc21-10097-whats-new-in-sf-symbols","summary":"Explore the latest updates to SF Symbols, Apple’s iconography library. Designed to integrate seamlessly with San Francisco — the system font for Apple platforms — SF Symbols can help you create beautiful and consistent iconography for your app while supporting accessibility features like Dynamic Type and Bold Text. Discover the latest additions to the SF Symbols library, localization enhancements, and how you can more easily customize the color of a symbol to integrate it within your app’s own color palette. We’ll also show you how you can design and annotate custom symbols to support Monochrome, Hierarchical, Palette, and Multicolor rendering modes.","tags":[],"title":"What’s new in SF Symbols","url":"\/documentation\/wwdc21-10097-whats-new-in-sf-symbols\/"},{"category":"","section":"documentation","slug":"wwdc21-10096-get-ready-for-icloud-private-relay","summary":"iCloud Private Relay is an iCloud+ service that prevents networks and servers from monitoring a person’s activity across the internet. Discover how your app can participate in this transition to a more secure and private internet: We’ll show you how to prepare your apps, servers, and networks to work with iCloud Private Relay.","tags":[],"title":"Get ready for iCloud Private Relay","url":"\/documentation\/wwdc21-10096-get-ready-for-icloud-private-relay\/"},{"category":"","section":"documentation","slug":"wwdc21-10095-use-asyncawait-with-urlsession","summary":"Discover how you can adopt Swift concurrency in URLSession using async\/await and AsyncSequence, and how you can apply Swift concurrency concepts to improve your networking code.","tags":[],"title":"Use async\/await with URLSession","url":"\/documentation\/wwdc21-10095-use-asyncawait-with-urlsession\/"},{"category":"","section":"documentation","slug":"wwdc21-10094-accelerate-networking-with-http3-and-quic","summary":"The web is changing, and the next major version of HTTP is here. Learn how HTTP\/3 reduces latency and improves reliability for your app and discover how its underlying transport, QUIC, unlocks new innovations in your own custom protocols using new transport functionality and multi-streaming connection groups.","tags":[],"title":"Accelerate networking with HTTP\/3 and QUIC","url":"\/documentation\/wwdc21-10094-accelerate-networking-with-http3-and-quic\/"},{"category":"","section":"documentation","slug":"wwdc21-10092-whats-new-in-wallet-and-apple-pay","summary":"Discover the redesigned Apple Pay for in-app and web payments and learn how you can incorporate the latest APIs into your app or website. Learn how to add features to your app like coupon codes, improved shipping information, and improvements to the payment detail display screen. And explore changes to Wallet passes, including auto-expiry and multi-pass support for the web.","tags":[],"title":"What’s new in Wallet and Apple Pay","url":"\/documentation\/wwdc21-10092-whats-new-in-wallet-and-apple-pay\/"},{"category":"","section":"documentation","slug":"wwdc21-10091-send-communication-and-time-sensitive-notifications","summary":"Learn more about the evolution of notifications on Apple platforms. We’ll explore how you can help people manage notifications within your app, including how you can craft meaningful moments with interruption levels and Time Sensitive notifications. And we’ll introduce you to communication notifications, providing a richer experience for calls and messages in your app through SiriKit.","tags":[],"title":"Send communication and Time Sensitive notifications","url":"\/documentation\/wwdc21-10091-send-communication-and-time-sensitive-notifications\/"},{"category":"","section":"documentation","slug":"wwdc21-10089-explore-verifiable-health-records","summary":"Find out how you can securely request access to someone’s verifiable health records and incorporate that data safely into your app. The Health app helps people download, view, and share their health records, including their COVID-19 immunization and test results — and iOS 15 brings support for the SMART Health Card, a verifiable health record that incorporates the FHIR health data standard. We’ll show you how your app can go about requesting access to this record and how you can verify the signature of the file using CryptoKit and the issuer’s public key.","tags":[],"title":"Explore Verifiable Health Records","url":"\/documentation\/wwdc21-10089-explore-verifiable-health-records\/"},{"category":"","section":"documentation","slug":"wwdc21-10087-diagnose-power-and-performance-regressions-in-your-app","summary":"Quickly discover how to identify priorities when viewing power and performance regressions. Learn how to track metrics that have regressed with device-and percentile-specific information, so you can focus your efforts on optimization and save valuable development time. We’ll also show you how to track down common anti-patterns in your app that wear out device storage, help you customize your workflows, and add App Store Connect APIs to help you stay up to date on your app’s real-world performance.","tags":[],"title":"Diagnose Power and Performance regressions in your app","url":"\/documentation\/wwdc21-10087-diagnose-power-and-performance-regressions-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10086-whats-new-in-cloudkit","summary":"CloudKit provides a secure, convenient, and reliable cloud database for your apps — and it’s only getting better. Discover how you can unravel your threads with support for async\/await and convenience API additions. We’ll also show you how to encourage collaboration between people using your app through sharing entire record zones of data, and explore how to adopt CloudKit features like encrypted values and help protect sensitive data within your app.","tags":[],"title":"What’s new in CloudKit","url":"\/documentation\/wwdc21-10086-whats-new-in-cloudkit\/"},{"category":"","section":"documentation","slug":"wwdc21-10085-apples-privacy-pillars-in-focus","summary":"At Apple, we believe that privacy is a fundamental human right. Learn about our four pillars of privacy, how we brought these principles together to design iCloud Private Relay, and how you can approach building privacy in your app in line with those fundamentals. Explore how you can build data minimization, on-device processing, transparency and control, and security protections right into your app.","tags":[],"title":"Apple’s privacy pillars in focus","url":"\/documentation\/wwdc21-10085-apples-privacy-pillars-in-focus\/"},{"category":"","section":"documentation","slug":"wwdc21-10084-explore-uwbbased-car-keys","summary":"Discover how to create digital car keys that support Ultra Wideband (UWB), allowing people to unlock and start their car while leaving iPhone in their bag or pocket or Apple Watch on their wrist. We’ll show you how to integrate UWB, add proximity actions and distance unlock features, and help people personalize their vehicle settings by identifying which key someone uses on the driver-side door.","tags":[],"title":"Explore UWB-based car keys","url":"\/documentation\/wwdc21-10084-explore-uwbbased-car-keys\/"},{"category":"","section":"documentation","slug":"wwdc21-10081-tap-into-virtual-and-physical-game-controllers","summary":"It’s time to up your input game: Learn about the latest improvements to virtual and physical game controllers for iPhone, iPad, Mac, and Apple TV. Meet the virtual on-screen controller, which turns touch input into game controller input, and find out how to add controller sharing features to your app. We’ll also show you how to support adaptive trigger technology found in DualSense controllers, provide best practices for controller support, and take you through some common pre-flight checks around accessible and customizable input before submitting to the App Store.","tags":[],"title":"Tap into virtual and physical game controllers","url":"\/documentation\/wwdc21-10081-tap-into-virtual-and-physical-game-controllers\/"},{"category":"","section":"documentation","slug":"wwdc21-10079-discover-geometryaware-audio-with-the-physical-audio-spatialization-engine-phase","summary":"Explore how geometry-aware audio can help you build complex, interactive, and immersive audio scenes for your apps and games. Meet PHASE, Apple’s spatial audio API, and learn how the Physical Audio Spatialization Engine (PHASE) keeps the sound aligned with your experience at all times — helping you create spatial soundscapes and scenes during the development process, rather than waiting until post production. We’ll take you through an overview of the API and its classes, including Sources, Listeners, Acoustic Geometry, and Materials, and introduce the concept of Spatial Modeling. We’ll also show you how to quickly combine PHASE’s basic building blocks to start building an integrated audio experience for your app or game.","tags":[],"title":"Discover geometry-aware audio with the Physical Audio Spatialization Engine (PHASE)","url":"\/documentation\/wwdc21-10079-discover-geometryaware-audio-with-the-physical-audio-spatialization-engine-phase\/"},{"category":"","section":"documentation","slug":"wwdc21-10078-ar-quick-look-meet-object-capture","summary":"Discover simple ways to bring your Object Capture assets to AR Quick Look while optimizing for visual quality and file size. Explore ways you can integrate AR Quick Look and Object Capture to help create entirely new experiences.","tags":[],"title":"AR Quick Look, meet Object Capture","url":"\/documentation\/wwdc21-10078-ar-quick-look-meet-object-capture\/"},{"category":"","section":"documentation","slug":"wwdc21-10077-create-3d-workflows-with-usd","summary":"Discover the flexibility, versatility and power of Pixar’s Universal Scene Description (USD) for your 3D workflows. Learn how you can use the USD file format in your professional workflows for macOS: Scan 3D models of your real-world objects using Object Capture, utilize the potential of third-party digital content creation tools, and build high-quality rendered sequences.","tags":[],"title":"Create 3D workflows with USD","url":"\/documentation\/wwdc21-10077-create-3d-workflows-with-usd\/"},{"category":"","section":"documentation","slug":"wwdc21-10076-create-3d-models-with-object-capture","summary":"Object Capture provides a quick and easy way to create lifelike 3D models of real-world objects using just a few images. Learn how you can get started and bring your assets to life with Photogrammetry for macOS. And discover best practices with object selection and image capture to help you achieve the highest-quality results.","tags":[],"title":"Create 3D models with Object Capture","url":"\/documentation\/wwdc21-10076-create-3d-models-with-object-capture\/"},{"category":"","section":"documentation","slug":"wwdc21-10075-explore-advanced-rendering-with-realitykit-2","summary":"Create stunning visuals for your augmented reality experiences with cutting-edge rendering advancements in RealityKit. Learn the art of writing custom shaders, draw real-time dynamic meshes, and explore creative post-processing effects to help you stylize your AR scene.","tags":[],"title":"Explore advanced rendering with RealityKit 2","url":"\/documentation\/wwdc21-10075-explore-advanced-rendering-with-realitykit-2\/"},{"category":"","section":"documentation","slug":"wwdc21-10074-dive-into-realitykit-2","summary":"Creating engaging AR experiences has never been easier with RealityKit 2. Explore the latest enhancements to the RealityKit framework and take a deep dive into this underwater sample project. We’ll take you through the improved Entity Component System, streamlined animation pipeline, and the plug-and-play character controller with enhancements to face mesh and audio.","tags":[],"title":"Dive into RealityKit 2","url":"\/documentation\/wwdc21-10074-dive-into-realitykit-2\/"},{"category":"","section":"documentation","slug":"wwdc21-10073-explore-arkit-5","summary":"Build the next generation of augmented reality apps with ARKit 5. Explore how you can use Location Anchors in additional regions and more easily onboard people into your location-based AR experience. Learn more about Face Tracking and Motion Capture. And discover best practices for placing your AR content in the real world. We’ll also show you how you can integrate App Clip Codes into your AR app for easy discovery and precise positioning of your virtual content.","tags":[],"title":"Explore ARKit 5","url":"\/documentation\/wwdc21-10073-explore-arkit-5\/"},{"category":"","section":"documentation","slug":"wwdc21-10069-build-a-research-and-care-app-part-2-schedule-tasks","summary":"Learn how ResearchKit and CareKit can work together to take the tedium out of paper surveys. Continue coding along with us and explore how you can make it easier than ever to schedule surveys for your study participants. You’ll also learn advanced techniques for crafting evolving regiments in CareKit and see how ResearchKit’s active tasks can help capture important measurements out of clinic.","tags":[],"title":"Build a research and care app, part 2: Schedule tasks","url":"\/documentation\/wwdc21-10069-build-a-research-and-care-app-part-2-schedule-tasks\/"},{"category":"","section":"documentation","slug":"wwdc21-10068-build-a-research-and-care-app-part-1-setup-onboarding","summary":"Learn how ResearchKit and CareKit can work together to take the tedium out of paper surveys. Code along with us and build a working care pilot app. Explore best practices for onboarding and consent with ResearchKit, and find out how your app can require participants to sign consent documents by leveraging CareKit’s store and UI components.","tags":[],"title":"Build a research and care app, part 1: Setup onboarding","url":"\/documentation\/wwdc21-10068-build-a-research-and-care-app-part-1-setup-onboarding\/"},{"category":"","section":"documentation","slug":"wwdc21-10067-bring-recurring-leaderboards-to-your-game","summary":"Recurring leaderboards are a great way to encourage players to keep coming back to your game. Code along with us as we take you through how to set up a recurring leaderboard, both within App Store Connect and in your game itself.","tags":[],"title":"Bring Recurring Leaderboards to your game","url":"\/documentation\/wwdc21-10067-bring-recurring-leaderboards-to-your-game\/"},{"category":"","section":"documentation","slug":"wwdc21-10066-whats-new-in-game-center-widgets-friends-and-multiplayer-improvements","summary":"Power up your online gaming experience with GameKit and adopt features like multiplayer, leaderboards, and achievements in your game. We’ll take you through the latest improvements to Game Center, including player matching and multiplayer APIs, and explore how you can boost discovery of your game.","tags":[],"title":"What’s new in Game Center: Widgets, friends, and multiplayer improvements","url":"\/documentation\/wwdc21-10066-whats-new-in-game-center-widgets-friends-and-multiplayer-improvements\/"},{"category":"","section":"documentation","slug":"wwdc21-10064-meet-the-uikit-button-system","summary":"Every app uses Buttons. With iOS 15, you can adopt updated styles to create gorgeous buttons that fit effortlessly into your interface. We’ll explore features that make it easier to create different types of buttons, learn how to provide richer interactions, and discover how you can get great buttons when using Mac Catalyst.","tags":[],"title":"Meet the UIKit button system","url":"\/documentation\/wwdc21-10064-meet-the-uikit-button-system\/"},{"category":"","section":"documentation","slug":"wwdc21-10063-customize-and-resize-sheets-in-uikit","summary":"Discover how you can create a layered and customized sheet experience in UIKit. We’ll explore how you can build a non-modal experience in your app to allow interaction with content both in a sheet and behind the sheet at the same time. We’ll also take you through sheet size customization, revealing or hiding grabber controls, and adapting between popovers and customized sheets in your app.","tags":[],"title":"Customize and resize sheets in UIKit","url":"\/documentation\/wwdc21-10063-customize-and-resize-sheets-in-uikit\/"},{"category":"","section":"documentation","slug":"wwdc21-10062-swiftui-on-the-mac-build-the-fundamentals","summary":"Code along with us as we use SwiftUI to build a Mac app from start to finish. Discover four principles all great Mac apps have in common, and learn how to apply those principles in practice using SwiftUI. We’ll show you how to create a powerful, flexible sidebar experience and transform lists to tables within a detail view, then discuss best best practices for data organization. Next, we’ll explore the simple .searchable modifier and find out how to add support for the toolbar and search. And to close out part one, we’ll learn how to build a great multiple-window experience and provide menu bar support.","tags":[],"title":"SwiftUI on the Mac: Build the fundamentals","url":"\/documentation\/wwdc21-10062-swiftui-on-the-mac-build-the-fundamentals\/"},{"category":"","section":"documentation","slug":"wwdc21-10061-meet-textkit-2","summary":"Meet TextKit 2: Apple’s next-generation text engine, redesigned for improved correctness, safety, and performance. Discover how TextKit 2 can help you provide a better text experience for international audiences, create more diverse layouts by mixing text content with visual content, and ensure smooth scrolling performance. We’ll introduce the latest APIs, dive into some practical examples, and provide guidance for modernizing your apps.","tags":[],"title":"Meet TextKit 2","url":"\/documentation\/wwdc21-10061-meet-textkit-2\/"},{"category":"","section":"documentation","slug":"wwdc21-10059-whats-new-in-uikit","summary":"Discover the latest updates and improvements to UIKit and learn how to build better iPadOS, iOS, and Mac Catalyst apps. We’ll take you through UI refinements, productivity updates, and API enhancements, and help you explore performance improvements and security & privacy features.","tags":[],"title":"What’s new in UIKit","url":"\/documentation\/wwdc21-10059-whats-new-in-uikit\/"},{"category":"","section":"documentation","slug":"wwdc21-10058-meet-asyncsequence","summary":"Iterating over a sequence of values over time is now as easy as writing a “for” loop. Find out how the new AsyncSequence protocol enables a natural, simple syntax for iterating over anything from notifications to bytes being streamed from a server. We’ll also show you how to adapt existing code to provide asynchronous sequences of your own.","tags":[],"title":"Meet AsyncSequence","url":"\/documentation\/wwdc21-10058-meet-asyncsequence\/"},{"category":"","section":"documentation","slug":"wwdc21-10057-take-your-ipad-apps-to-the-next-level","summary":"Make even better iPad apps: Learn how you can adopt prominent scenes for uninterrupted, focused interactions. Help people stay engaged and fast with keyboard shortcuts and the keyboard shortcut interface. Explore how the latest in pointer enhancements can help your app boost productivity.","tags":[],"title":"Take your iPad apps to the next level","url":"\/documentation\/wwdc21-10057-take-your-ipad-apps-to-the-next-level\/"},{"category":"","section":"documentation","slug":"wwdc21-10056-qualities-of-great-ipad-and-iphone-apps-on-macs-with-m1","summary":"It’s easier than ever to offer your existing iPad and iPhone apps on Macs with M1. We’ll show you how to bring your app to macOS, and explore how the system automatically bridges various features of your app to work on the Mac. We’ll also provide guidance on best practices in your iPad app, combined with improvements in macOS Monterey — like Apple Pay support, improved AV handling, and shortcuts — to provide the fullest experience on Macs with M1.","tags":[],"title":"Qualities of great iPad and iPhone apps on Macs with M1","url":"\/documentation\/wwdc21-10056-qualities-of-great-ipad-and-iphone-apps-on-macs-with-m1\/"},{"category":"","section":"documentation","slug":"wwdc21-10054-whats-new-in-appkit","summary":"Explore the latest advancements in Mac app development with AppKit. We’ll show how you can enhance your app’s design with new control features and SF Symbols 3, build powerful text experiences using TextKit 2, and harness the latest Swift features in your app.","tags":[],"title":"What’s new in AppKit","url":"\/documentation\/wwdc21-10054-whats-new-in-appkit\/"},{"category":"","section":"documentation","slug":"wwdc21-10053-qualities-of-a-great-mac-catalyst-app","summary":"Discover best practices, tools, and techniques to help craft the best possible Mac Catalyst app. We’ll take you through key considerations when you bring your iPad app to macOS, explore detailed code examples for refining your interface and experience, and show you how to distribute your Mac app to everyone.","tags":[],"title":"Qualities of a great Mac Catalyst app","url":"\/documentation\/wwdc21-10053-qualities-of-a-great-mac-catalyst-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10052-whats-new-in-mac-catalyst","summary":"Discover the latest updates to Mac Catalyst and find out how you can make your app feel even more at home on macOS. Learn about a variety of new and enhanced UIKit APIs that let you customize your Mac Catalyst app to take advantage of behaviors unique to macOS.","tags":[],"title":"What’s new in Mac Catalyst","url":"\/documentation\/wwdc21-10052-whats-new-in-mac-catalyst\/"},{"category":"","section":"documentation","slug":"wwdc21-10049-add-intelligence-to-your-widgets","summary":"Discover how to you can add intelligence to your widgets in Smart Stacks. We’ll show you how to use the new Widget Suggestions API in tandem with Smart Rotate to create more valuable widget experiences for people throughout the day. Whether you inform the system of new, timely information or teach the system to learn common patterns, adopting these APIs can help people discover your widget and allows you to influence how the system surfaces content from your app around system spaces.","tags":[],"title":"Add intelligence to your widgets","url":"\/documentation\/wwdc21-10049-add-intelligence-to-your-widgets\/"},{"category":"","section":"documentation","slug":"wwdc21-10048-principles-of-great-widgets","summary":"Explore the foundations of great widgets by keeping them relevant and customizable. Learn how to keep widgets up to date with timeline entries and TimelineReloadPolicies. Discover how to adapt your widget to different presentation environments and physical location. And lastly, find out how to create customizable widgets that someone can personalize to their liking.","tags":[],"title":"Principles of great widgets","url":"\/documentation\/wwdc21-10048-principles-of-great-widgets\/"},{"category":"","section":"documentation","slug":"wwdc21-10047-whats-new-in-camera-capture","summary":"Learn how you can interact with Video Effects in Control Center including Center Stage, Portrait mode, and Mic modes. We’ll show you how to detect when these features have been enabled for your app and explore ways to adopt custom interfaces to make them controllable from within your app. Discover how to enable 10-bit HDR video capture and take advantage of minimum-focus-distance reporting for improved camera capture experiences. Explore support for IOSurface compression and delivering optimal performance in camera capture.","tags":[],"title":"What’s new in camera capture","url":"\/documentation\/wwdc21-10047-whats-new-in-camera-capture\/"},{"category":"","section":"documentation","slug":"wwdc21-10046-improve-access-to-photos-in-your-app","summary":"PHPicker is the simplest and most secure way to integrate the Photos library into your app — and it’s getting even better. Learn how to handle ordered selection of images in your app, as well as pre-selecting assets any time the picker is shown. And for apps that need to integrate more deeply with PhotoKit, discover how you can use PHCloudIdentifier to sync photo project content across devices, helping people easily transition their image work between iPhone, iPad, and Mac.","tags":[],"title":"Improve access to Photos in your app","url":"\/documentation\/wwdc21-10046-improve-access-to-photos-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10045-create-custom-audio-experiences-with-shazamkit","summary":"Bring custom audio matching to your app with ShazamKit. Discover how you can use Shazam’s exact audio matching to recognize audio against any source when you use custom catalogs on device.","tags":[],"title":"Create custom audio experiences with ShazamKit","url":"\/documentation\/wwdc21-10045-create-custom-audio-experiences-with-shazamkit\/"},{"category":"","section":"documentation","slug":"wwdc21-10044-explore-shazamkit","summary":"Take advantage of Shazam’s exact audio matching capabilities within your app when you use ShazamKit. Learn how you can harness the immense Shazam catalog to create all sorts of experiences, including quickly recognizing the exact song playing in the background of a video captured by your app, offering dynamic visual effects based on the music playing in a room, or even syncing with external audio to provide companion app experiences. We’ll also show you how you can build custom catalogs within ShazamKit to match with any audio source — all on device.","tags":[],"title":"Explore ShazamKit","url":"\/documentation\/wwdc21-10044-explore-shazamkit\/"},{"category":"","section":"documentation","slug":"wwdc21-10041-extract-document-data-using-vision","summary":"Discover how Vision can provide expert image recognition and analysis in your app to extract information from documents, recognize text in multiple languages, and identify barcodes. We’ll explore the latest updates to Text Recognition and Barcode Detection, show you how to bring all these tools together with Core ML, and help your app make greater sense of the world through images or the live camera.","tags":[],"title":"Extract document data using Vision","url":"\/documentation\/wwdc21-10041-extract-document-data-using-vision\/"},{"category":"","section":"documentation","slug":"wwdc21-10040-detect-people-faces-and-poses-using-vision","summary":"Discover the latest updates to the Vision framework to help your apps detect people, faces, and poses. Meet the Person Segmentation API, which helps your app separate people in images from their surroundings, and explore the latest contiguous metrics for tracking pitch, yaw, and the roll of the human head. And learn how these capabilities can be combined with other APIs like Core Image to deliver anything from simple virtual backgrounds to rich offline compositing in an image-editing app.","tags":[],"title":"Detect people, faces, and poses using Vision","url":"\/documentation\/wwdc21-10040-detect-people-faces-and-poses-using-vision\/"},{"category":"","section":"documentation","slug":"wwdc21-10039-classify-hand-poses-and-actions-with-create-ml","summary":"With Create ML, your app’s ability to understand the expressiveness of the human hand has never been easier. Discover how you can build off the support for Hand Pose Detection in Vision and train custom Hand Pose and Hand Action classifiers using the Create ML app and framework. Learn how simple it is to collect data, train a model, and integrate it with Vision, Camera, and ARKit to create a fun, entertaining app experience.","tags":[],"title":"Classify hand poses and actions with Create ML","url":"\/documentation\/wwdc21-10039-classify-hand-poses-and-actions-with-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc21-10038-tune-your-core-ml-models","summary":"Bring the power of machine learning directly to your apps with Core ML. Discover how you can take advantage of the CPU, GPU, and Neural Engine to provide maximum performance while remaining on device and protecting privacy. Explore MLShapedArray, which makes it easy to work with multi-dimensional data in Swift, and learn more about ML Package support in Core ML, which includes support for ML Programs. This modern, programmatic approach to machine learning provides typed execution and tremendous flexibility. We’ll also show you how to analyze performance of your models and tune the execution of each operation in a model using ML Programs.","tags":[],"title":"Tune your Core ML models","url":"\/documentation\/wwdc21-10038-tune-your-core-ml-models\/"},{"category":"","section":"documentation","slug":"wwdc21-10037-build-dynamic-ios-apps-with-the-create-ml-framework","summary":"Discover how your app can train Core ML models fully on device with the Create ML framework, enabling adaptive and customized app experiences, all while preserving data privacy. We’ll explore the types of models that can be created on-the-fly for image-based tasks like Style Transfer and Image Classification, audio tasks like custom Sound Classification, or tasks that build on a rich set of Text Classification, Tabular Data Classification, and Tabular Regressors. And we’ll take you through the many opportunities these models offer to make your app more personal and dynamic.","tags":[],"title":"Build dynamic iOS apps with the Create ML framework","url":"\/documentation\/wwdc21-10037-build-dynamic-ios-apps-with-the-create-ml-framework\/"},{"category":"","section":"documentation","slug":"wwdc21-10036-discover-builtin-sound-classification-in-soundanalysis","summary":"Explore how you can use the Sound Analysis framework in your app to detect and classify discrete sounds from any audio source — including live sounds from a microphone or from a video or audio file — and identify precisely in a moment where that sound occurs. Learn how the built-in sound classifier makes it easy for you to identify over 300 different types of sounds without the need for a custom trained model. This includes a variety of noises, ranging from human sounds, musical instruments, animals, and various items.","tags":[],"title":"Discover built-in sound classification in SoundAnalysis","url":"\/documentation\/wwdc21-10036-discover-builtin-sound-classification-in-soundanalysis\/"},{"category":"","section":"documentation","slug":"wwdc21-10033-meet-privacypreserving-ad-attribution","summary":"Discover how you can measure your ad campaigns in apps and on the web without compromising privacy. We’ll introduce you to Private Click Measurement and explore SKAdNetwork, which provides you with a more secure, private, and useful way to measure your app installs.","tags":[],"title":"Meet privacy-preserving ad attribution","url":"\/documentation\/wwdc21-10033-meet-privacypreserving-ad-attribution\/"},{"category":"","section":"documentation","slug":"wwdc21-10032-explore-wkwebview-additions","summary":"Explore the latest updates to WKWebView. We’ll show you how to use APIs to manipulate web content without JavaScript, explore delegates that can help with WebRTC and Downloads, and share how you can easily create a richer web experience within your app.","tags":[],"title":"Explore WKWebView additions","url":"\/documentation\/wwdc21-10032-explore-wkwebview-additions\/"},{"category":"","section":"documentation","slug":"wwdc21-10031-discover-web-inspector-improvements","summary":"Web Inspector provides the tools for you to understand and debug your web pages on macOS, iOS, and iPadOS. We’ll take you through the latest features and improvements to Web Inspector, including a new overlay for inspecting CSS Grid containers on your pages, even more configurable breakpoints to make debugging simpler, and the ability to create and edit Audits.","tags":[],"title":"Discover Web Inspector improvements","url":"\/documentation\/wwdc21-10031-discover-web-inspector-improvements\/"},{"category":"","section":"documentation","slug":"wwdc21-10030-develop-advanced-web-content","summary":"Develop in JavaScript, WebGL, or WebAssembly? Learn how the latest updates to Safari and WebKit — including language changes to class syntax — can help simplify your development process, enhance performance, and improve security. We’ll explore several web APIs that can help provide better interoperability and bring new capabilities to your web content.","tags":[],"title":"Develop advanced web content","url":"\/documentation\/wwdc21-10030-develop-advanced-web-content\/"},{"category":"","section":"documentation","slug":"wwdc21-10029-design-for-safari-15","summary":"Meet Safari 15: redesigned and ready to help people explore the web. Discover how you can approach designing websites and apps for Safari, and learn how to incorporate the tab bar in your designs. We’ll also take you through features like Live Text and accessibility best practices, explore the latest updates to CSS and Form Controls, and learn how to use the aspect-ratio property in CSS to create incredible websites.","tags":[],"title":"Design for Safari 15","url":"\/documentation\/wwdc21-10029-design-for-safari-15\/"},{"category":"","section":"documentation","slug":"wwdc21-10027-explore-safari-web-extension-improvements","summary":"Learn how you can extend Safari’s functionality with Safari Web Extensions. We’ll introduce you to the latest WebExtension APIs, explore non-persistent background page support — a particularly relevant topic if you’re developing for iOS — and discover how you can use the Declarative Net Request WebExtensions API to block content on the web. Finally, we’ll show you how to customize tabs in Safari 15.","tags":[],"title":"Explore Safari Web Extension improvements","url":"\/documentation\/wwdc21-10027-explore-safari-web-extension-improvements\/"},{"category":"","section":"documentation","slug":"wwdc21-10023-direct-and-reflect-focus-in-swiftui","summary":"With device input — as with all things in life — where you put focus matters. Discover how you can move focus in your app with SwiftUI, programmatically dismiss the keyboard, and build large navigation targets from small views. Together, these APIs can help you simplify your app’s interface and make it more powerful for people to find what they need.","tags":[],"title":"Direct and reflect focus in SwiftUI","url":"\/documentation\/wwdc21-10023-direct-and-reflect-focus-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc21-10022-demystify-swiftui","summary":"Peek behind the curtain into the core tenets of SwiftUI philosophy: Identity, Lifetime, and Dependencies. Find out about common patterns, learn the principles that drive the framework, and discover how you can use them to guarantee correctness and performance for your app.","tags":[],"title":"Demystify SwiftUI","url":"\/documentation\/wwdc21-10022-demystify-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc21-10021-add-rich-graphics-to-your-swiftui-app","summary":"Learn how you can bring your graphics to life with SwiftUI. We’ll begin by working with safe areas, including the keyboard safe area, and learn how to design beautiful, edge-to-edge graphics that won’t underlap the on-screen keyboard. We’ll also explore the materials and vibrancy you can use in SwiftUI to create easily customizable backgrounds and controls, and go over graphics APIs like drawingGroup and the all new canvas. With these tools, it’s simpler than ever to design fully interactive and interruptible animations and graphics in SwiftUI.","tags":[],"title":"Add rich graphics to your SwiftUI app","url":"\/documentation\/wwdc21-10021-add-rich-graphics-to-your-swiftui-app\/"},{"category":"","section":"documentation","slug":"wwdc21-10019-discover-concurrency-in-swiftui","summary":"Discover how you can use Swift’s concurrency features to build even better SwiftUI apps. We’ll show you how concurrent workflows interact with your ObservableObjects, and explore how you can use them directly in your SwiftUI views and models. Find out how to use await to make your app run smoothly on the SwiftUI runloop, and learn how to fetch remote images quickly with the AsyncImage API. And we’ll take you through the process of enabling additional asynchronous flows in your custom views.","tags":[],"title":"Discover concurrency in SwiftUI","url":"\/documentation\/wwdc21-10019-discover-concurrency-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc21-10018-whats-new-in-swiftui","summary":"There’s never been a better time to develop your apps with SwiftUI. Discover the latest updates to the UI framework — including lists, buttons, and text fields — and learn how these features can help you more fully adopt SwiftUI in your app. Find out how to create beautiful, visually-rich graphics using the canvas view, materials, and enhancements to symbols. Explore multi-column tables on macOS, refinements to focus and keyboard interaction, and the multi-platform search API. And we’ll show you how to take advantage of features like Swift concurrency, a brand new AttributedString, format styles, localization, and so much more.","tags":[],"title":"What’s new in SwiftUI","url":"\/documentation\/wwdc21-10018-whats-new-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc21-10017-bring-core-data-concurrency-to-swift-and-swiftui","summary":"Discover how Core Data is adopting the new concurrency capabilities of Swift 5.5, leading to more concise, efficient, and safe asynchronous code. We’ll show you how to update Core Data in your apps to work with concurrency, and detail the many other improvements throughout the framework that make working with Swift and SwiftUI more expressive and powerful.","tags":[],"title":"Bring Core Data concurrency to Swift and SwiftUI","url":"\/documentation\/wwdc21-10017-bring-core-data-concurrency-to-swift-and-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc21-10015-build-apps-that-share-data-through-cloudkit-and-core-data","summary":"Learn how to easily build apps that share data between multiple iCloud users with NSPersistentCloudKitContainer. Discover how to create informative experiences around shared data and learn about the CloudKit technologies that support these features in Core Data.","tags":[],"title":"Build apps that share data through CloudKit and Core Data","url":"\/documentation\/wwdc21-10015-build-apps-that-share-data-through-cloudkit-and-core-data\/"},{"category":"","section":"documentation","slug":"wwdc21-10013-build-light-and-fast-app-clips","summary":"App Clips give people the power to discover and download a small part of your app at a moment’s notice to complete tasks and transactions. Explore tips and best practices to help you create compact App Clips that emphasize modern features and elegant design. Learn how you can build reliable and secure App Clips to ensure that people can always access your experience when scanning a physical App Clip Code or viewing it through your website. And we’ll take you through specific strategies for testing an App Clip before releasing it to the world.","tags":[],"title":"Build light and fast App Clips","url":"\/documentation\/wwdc21-10013-build-light-and-fast-app-clips\/"},{"category":"","section":"documentation","slug":"wwdc21-10012-whats-new-in-app-clips","summary":"Discover how App Clips can elevate quick and focused experiences for specific tasks, the moment your customer needs them. We’ll take you through some of the latest improvements to App Clips, including launching an experience directly from an app, testing your App Clip locally, and creating App Clip Codes to make it easy to access your experience in the real world. We’ll also share some great examples of App Clips from our developer community that provide innovative ways to interact with people and beautiful designs.","tags":[],"title":"What’s new in App Clips","url":"\/documentation\/wwdc21-10012-whats-new-in-app-clips\/"},{"category":"","section":"documentation","slug":"wwdc21-10009-build-a-workout-app-for-apple-watch","summary":"Build a workout app from scratch using SwiftUI and HealthKit during this code along. Learn how to support the Always On state using timelines to update workout metrics. Follow best design practices for workout apps.","tags":[],"title":"Build a workout app for Apple Watch","url":"\/documentation\/wwdc21-10009-build-a-workout-app-for-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc21-10005-connect-bluetooth-devices-to-apple-watch","summary":"Discover how you can integrate data from Bluetooth accessories into Apple Watch apps and complications. Bluetooth devices can provide medical data, sports stats, and more to Apple Watch, and help people get more out of your software in the process. We’ll show you how to connect to these devices during Background App Refresh to display the most up-to-date information in your Apple Watch complications, provide an overview of Core Bluetooth on watchOS, and explore best practices for Bluetooth accessory design.","tags":[],"title":"Connect Bluetooth devices to Apple Watch","url":"\/documentation\/wwdc21-10005-connect-bluetooth-devices-to-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc21-10003-there-and-back-again-data-transfer-on-apple-watch","summary":"Advances in Apple Watch give you more ways to communicate to and from your app, and new audiences to consider. Learn what strategies are available for data communication and how to choose the right tool for the job. Compare and contrast the benefits of using technologies such as iCloud Keychain, Watch Connectivity, Core Data, and more.","tags":[],"title":"There and back again: Data transfer on Apple Watch","url":"\/documentation\/wwdc21-10003-there-and-back-again-data-transfer-on-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc21-10002-whats-new-in-watchos-8","summary":"watchOS 8 brings all-new opportunities to keep people up to date on their watch face. With new APIs for the Always-On Retina display and updating complications from Bluetooth devices and background delivery of HealthKit data, it’s never been easier to keep your app up to date. Learn about region-based user notifications to leverage location in your app. Explore all the new enhancements to SwiftUI and watchOS that will get you excited to build your next Watch app.","tags":[],"title":"What’s new in watchOS 8","url":"\/documentation\/wwdc21-10002-whats-new-in-watchos-8\/"},{"category":"","section":"documentation","slug":"wwdc21","summary":"Xcode 13, Swift 5.5, iOS 15, macOS 12 (Monterey), tvOS 15, watchOS 8. New APIs: `MusicKit`, `DocC`, `StoreKit 2`, and more.","tags":[],"title":"WWDC21","url":"\/documentation\/wwdc21\/"},{"category":"","section":"documentation","slug":"wwdc20-20022-the-winners-of-the-2020-apple-design-awards","summary":"Join us as we surprise the 2020 winners of the Apple Design Awards. The Apple Design Awards recognize excellence in design and innovation for apps and games across all of Apple’s platforms.","tags":[],"title":"The winners of the 2020 Apple Design Awards","url":"\/documentation\/wwdc20-20022-the-winners-of-the-2020-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc20-10970-a-conversation-with-lisa-jackson-and-former-attorney-general-eric-holder","summary":"Eric Holder was the 82nd Attorney General of the United States, having served from 2009 to 2015. The first Black American to hold the position, Holder’s six-year tenure also makes him one of the longest-serving occupants of the office. Currently a partner in Covington & Burling, he’s served in government for more than 30 years, including appointments by Presidents Obama, Clinton, and Reagan. Lisa Jackson, Apple’s vice president of Environment, Policy and Social Initiatives, will interview the former Attorney General on the topic of race in America. This wide-ranging discussion will touch on the fight for equal justice, how technology can empower people to change the world for the better, and ways to help in this moment.","tags":[],"title":"A conversation with Lisa Jackson and former Attorney General Eric Holder","url":"\/documentation\/wwdc20-10970-a-conversation-with-lisa-jackson-and-former-attorney-general-eric-holder\/"},{"category":"","section":"documentation","slug":"wwdc20-10969-a-conversation-with-the-cast-and-creators-of-mythic-quest-ravens-banquet","summary":"Ever wondered which is more fun — filming in a hot tub or filming in a VR suit? The cast and creators of the Apple TV+ hit show Mythic Quest: Raven’s Banquet answer questions from the Apple developer community. Join Rob McElhenney (executive producer\/co-creator and Ian Grimm), Charlotte Nicdao (Poppy), Imani Hakim (Dana), Danny Pudi (Brad), and Megan Ganz (executive producer\/co-creator) as they review one of their favorite scenes and answer submitted questions.","tags":[],"title":"A conversation with the cast and creators of Mythic Quest: Raven’s Banquet","url":"\/documentation\/wwdc20-10969-a-conversation-with-the-cast-and-creators-of-mythic-quest-ravens-banquet\/"},{"category":"","section":"documentation","slug":"wwdc20-10690-2020-apple-design-awards","summary":"The Apple Design Awards recognize excellence in design and innovation for apps and games across all of Apple’s platforms. Meet the 2020 winners.","tags":[],"title":"2020 Apple Design Awards","url":"\/documentation\/wwdc20-10690-2020-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc20-10687-triage-test-failures-with-xctissue","summary":"Put your test failures to work: Learn how to triage and diagnose uncaught issues in your app using the latest testing APIs in Xcode. We’ll show you how to help ease your testing workflow and put failures into context to help you deliver the best quality product.","tags":[],"title":"Triage test failures with XCTIssue","url":"\/documentation\/wwdc20-10687-triage-test-failures-with-xctissue\/"},{"category":"","section":"documentation","slug":"wwdc20-10686-explore-the-new-system-architecture-of-apple-silicon-macs","summary":"Discover how Macs with Apple silicon will deliver modern advantages using Apple’s System-on-Chip (SoC) architecture. Leveraging a unified memory architecture for CPU and GPU tasks, Mac apps will see amazing performance benefits from Apple silicon tuned frameworks such as Metal and Accelerate.  Learn about new features and changes coming to boot and security, and how these may affect your applications.","tags":[],"title":"Explore the new system architecture of Apple silicon Macs","url":"\/documentation\/wwdc20-10686-explore-the-new-system-architecture-of-apple-silicon-macs\/"},{"category":"","section":"documentation","slug":"wwdc20-10684-swans-quest-chapter-4-the-sequence-completes","summary":"Swift Playgrounds presents “Swan’s Quest,” an interactive adventure in four chapters for all ages. It’s time for the grand finale: You’ve honed your skills with tones, but in this chapter our Hero needs to sequence multi-part harmony.","tags":[],"title":"Swan’s Quest, Chapter 4: The sequence completes","url":"\/documentation\/wwdc20-10684-swans-quest-chapter-4-the-sequence-completes\/"},{"category":"","section":"documentation","slug":"wwdc20-10683-swans-quest-chapter-3-the-notable-scroll","summary":"Swift Playgrounds presents “Swan’s Quest,” an interactive adventure in four chapters for all ages. Calling all musicians! In this chapter, our Hero has found a mysterious scroll of music, and only you can help decode it. (Don’t worry if you can’t read music, our clever Lizard is standing by to assist. It’s sure to be a note-worthy experience.)","tags":[],"title":"Swan’s Quest, Chapter 3: The notable scroll","url":"\/documentation\/wwdc20-10683-swans-quest-chapter-3-the-notable-scroll\/"},{"category":"","section":"documentation","slug":"wwdc20-10682-swans-quest-chapter-2-a-time-for-tones","summary":"Swift Playgrounds presents “Swan’s Quest,” an interactive adventure in four chapters for all ages. In this chapter, our Hero needs your help decoding the Swan’s scroll. Call forth the best of your audio abilities on this one — you’re going to need them.","tags":[],"title":"Swan’s Quest, Chapter 2: A time for tones","url":"\/documentation\/wwdc20-10682-swans-quest-chapter-2-a-time-for-tones\/"},{"category":"","section":"documentation","slug":"wwdc20-10681-swans-quest-chapter-1-voices-in-the-dark","summary":"Swift Playgrounds presents “Swan’s Quest,” an interactive adventure in four chapters for all ages. In this chapter, our Hero must navigate a dark cave — and the only way to light the torches is to make them accessible.","tags":[],"title":"Swan’s Quest, Chapter 1: Voices in the dark","url":"\/documentation\/wwdc20-10681-swans-quest-chapter-1-voices-in-the-dark\/"},{"category":"","section":"documentation","slug":"wwdc20-10680-refine-objectivec-frameworks-for-swift","summary":"Fine-tune your Objective-C headers to work beautifully in Swift. We’ll show you how to take an unwieldy Objective-C framework and transform it into an API that feels right at home. Learn about the suite of annotations you can use to provide richer type information, more idiomatic names, and better errors to Swift. And discover Objective-C conventions you might not have known about that are key to a well-behaved Swift API.","tags":[],"title":"Refine Objective-C frameworks for Swift","url":"\/documentation\/wwdc20-10680-refine-objectivec-frameworks-for-swift\/"},{"category":"","section":"documentation","slug":"wwdc20-10677-build-customized-ml-models-with-the-metal-performance-shaders-graph","summary":"Discover the Metal Performance Shaders (MPS) Graph, which extends Metal’s Compute capabilities to multi-dimensional Tensors. MPS Graph builds on the highly tuned library of data parallel primitives that are vital to machine learning and leverages the tremendous power of the GPU. Explore how MPS Graph can help express sophisticated and dynamic neural network training architectures and optimize across them to get acceleration on the GPU.","tags":[],"title":"Build customized ML models with the Metal Performance Shaders Graph","url":"\/documentation\/wwdc20-10677-build-customized-ml-models-with-the-metal-performance-shaders-graph\/"},{"category":"","section":"documentation","slug":"wwdc20-10676-build-trust-through-better-privacy","summary":"Privacy is a more important issue than ever. Learn about Apple’s privacy pillars, our approach to privacy, and how to adopt the latest features on our platforms that can help you earn customer trust, create more personal experiences, and improve engagement. Explore the transparency iOS provides when your app is recording using the microphone or camera, control over location with approximate location, tracking transparency and permissions, and much more.","tags":[],"title":"Build trust through better privacy","url":"\/documentation\/wwdc20-10676-build-trust-through-better-privacy\/"},{"category":"","section":"documentation","slug":"wwdc20-10673-explore-computer-vision-apis","summary":"Learn how to bring Computer Vision intelligence to your app when you combine the power of Core Image, Vision, and Core ML. Go beyond machine learning alone and gain a deeper understanding of images and video. Discover new APIs in Core Image and Vision to bring Computer Vision to your application like new thresholding filters as well as Contour Detection and Optical Flow. And consider ways to use Core Image for preprocessing and visualization of these results.","tags":[],"title":"Explore Computer Vision APIs","url":"\/documentation\/wwdc20-10673-explore-computer-vision-apis\/"},{"category":"","section":"documentation","slug":"wwdc20-10672-whats-new-in-classkit","summary":"The ClassKit framework helps you surface educational activities within your app to teachers through the Schoolwork app. Discover how to provide a richer assignment experience for students and teachers through enhanced metadata properties and progress reporting. We’ll also show you how the new ClassKit Catalog APIs decouple management of your content from that of your app and improve overall discoverability.","tags":[],"title":"What’s new in ClassKit","url":"\/documentation\/wwdc20-10672-whats-new-in-classkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10671-architecting-for-subscriptions","summary":"Learn how you can build simple entitlement logic to enhance the customer experience. We’ll dive deep into key concepts and provide guidance for architecting your systems to accurately entitle service. You’ll learn best practices for subscription features and how to craft the best customer experience throughout the subscription lifecycle.","tags":[],"title":"Architecting for subscriptions","url":"\/documentation\/wwdc20-10671-architecting-for-subscriptions\/"},{"category":"","section":"documentation","slug":"wwdc20-10670-meet-face-id-and-touch-id-for-the-web","summary":"Face ID and Touch ID provide a frictionless experience when logging in — and now you can use them on your websites in Safari with the Web Authentication API. Discover how to add this convenient and secure login alternative to your website.","tags":[],"title":"Meet Face ID and Touch ID for the web","url":"\/documentation\/wwdc20-10670-meet-face-id-and-touch-id-for-the-web\/"},{"category":"","section":"documentation","slug":"wwdc20-10669-handling-fhir-without-getting-burned","summary":"Learn how FHIRModels creates native data models for all FHIR resources, provides data validation to enforce resource integrity, and prevents the creation of structurally invalid resources — across multiple versions of the FHIR specification. Whether you’re working with clinical data obtained from HealthKit or direct from a clinical system, FHIRModels makes FHIR easy to handle.","tags":[],"title":"Handling FHIR without getting burned","url":"\/documentation\/wwdc20-10669-handling-fhir-without-getting-burned\/"},{"category":"","section":"documentation","slug":"wwdc20-10668-meet-nearby-interaction","summary":"The Nearby Interaction framework streams distance and direction between opted-in Apple devices containing the U1 chip. Discover how this powerful combination of hardware and software allow you to create intuitive spatial interactions based on the relative position of two or more devices. We’ll walk you through this session-based API and show you how to deliver entirely new interactive experiences — all with privacy in mind.","tags":[],"title":"Meet Nearby Interaction","url":"\/documentation\/wwdc20-10668-meet-nearby-interaction\/"},{"category":"","section":"documentation","slug":"wwdc20-10667-custom-app-distribution-with-apple-business-manager","summary":"Apple Business Manager is the best way to manage and deploy business apps to your employees and customers. Whether you’re a developer, business owner, or IT administrator, we’ll showcase the benefits of Custom apps for each role and provide guidance on each step in the process — from app creation to distribution.","tags":[],"title":"Custom app distribution with Apple Business Manager","url":"\/documentation\/wwdc20-10667-custom-app-distribution-with-apple-business-manager\/"},{"category":"","section":"documentation","slug":"wwdc20-10666-onetap-account-security-upgrades","summary":"When you adopt the Account Authentication Modification Extension, you can provide people with fast, easy account security upgrades to use Sign in with Apple and strong passwords in the iCloud Keychain Password Manager. We’ll show you how to add these upgrade flows to your app with the Account Authentication Modification Extension, the AuthenticationServices Framework API, and best practices required for a smooth password transition.","tags":[],"title":"One-tap account security upgrades","url":"\/documentation\/wwdc20-10666-onetap-account-security-upgrades\/"},{"category":"","section":"documentation","slug":"wwdc20-10665-meet-safari-web-extensions","summary":"When you create a Safari Web Extension, you can help people get common online tasks done more quickly and efficiently. We’ll show you how to build a new Safari Web Extension and host it on the App Store, as well as how to use the safari-web-extension-converter tool to migrate existing extensions from other web browsers like Chrome, Firefox, or Edge with very little effort.","tags":[],"title":"Meet Safari Web Extensions","url":"\/documentation\/wwdc20-10665-meet-safari-web-extensions\/"},{"category":"","section":"documentation","slug":"wwdc20-10664-getting-started-with-healthkit","summary":"HealthKit helps you build world-class health and fitness apps by centralizing health data from third-party apps, iPhone, Apple Watch, and external health devices. Discover how you can manage authorization and privacy around Health data, read and write data to the shared Health Store, and use HealthKit’s built-in queries to fetch data and calculate statistics for that data.","tags":[],"title":"Getting started with HealthKit","url":"\/documentation\/wwdc20-10664-getting-started-with-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10663-whats-new-for-web-developers","summary":"Explore the latest features and improvements for Safari and WebKit. We’ll walk you through updated web APIs, CSS and media features, JavaScript syntax, and more to help you build great experiences for people when they use your website, home screen web apps, or embedded WebKit views.","tags":[],"title":"What’s new for web developers","url":"\/documentation\/wwdc20-10663-whats-new-for-web-developers\/"},{"category":"","section":"documentation","slug":"wwdc20-10662-whats-new-in-wallet-and-apple-pay","summary":"Apple Pay makes it simple to pay for goods and services in your app and on your website. Discover how you can integrate API updates like context-specific button types, contact data formatting, and cross-platform support to make the service more effective for you and people using it. And, if you’re building app clips, adopting Apple Pay can help you unlock new commerce experiences.","tags":[],"title":"What’s new in Wallet and Apple Pay","url":"\/documentation\/wwdc20-10662-whats-new-in-wallet-and-apple-pay\/"},{"category":"","section":"documentation","slug":"wwdc20-10661-whats-new-with-inapp-purchase","summary":"Create a great in-app purchase experience for your iPhone, iPad, Mac, and Apple Watch apps. Discover how to handle refunds, integrate new App Store server notifications, and find out how to use receipts and server notifications to manage subscriber status. We’ll also walk you through the latest updates in StoreKit, including in-app purchases on Apple Watch, Family Sharing, SKOverlay, SKAdNetwork, and more.","tags":[],"title":"What’s new with in-app purchase","url":"\/documentation\/wwdc20-10661-whats-new-with-inapp-purchase\/"},{"category":"","section":"documentation","slug":"wwdc20-10660-whats-new-in-location","summary":"Location technologies are core to delivering context-based services within your app. Discover how the latest privacy controls in Core Location add a whole new dimension to determining position and what that means for your app. We’ll walk you through best practices for implementing these latest location updates and show you how they’re designed to ensure more people get an experience they’re going to love.","tags":[],"title":"What’s new in location","url":"\/documentation\/wwdc20-10660-whats-new-in-location\/"},{"category":"","section":"documentation","slug":"wwdc20-10659-introducing-storekit-testing-in-xcode","summary":"Discover StoreKit Testing in Xcode — a local environment for testing your in-app purchases without needing to connect to App Store servers. We’ll show you how to set up a test environment, create a StoreKit configuration file, and prepare to validate receipts locally. We’ll also explain how to test a variety of in-app purchase scenarios and automate those tests with the StoreKitTest framework, and cover the latest improvements to testing in the sandbox environment.","tags":[],"title":"Introducing StoreKit Testing in Xcode","url":"\/documentation\/wwdc20-10659-introducing-storekit-testing-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc20-10658-whats-new-in-education","summary":"For over 40 years, Apple has been working with educators to create technologies for students, teachers, and school administrators and help them share in a rich and meaningful learning experience. Explore the breadth of Apple’s education technologies, including classroom management apps and tools and developer frameworks for assessment and curriculum integration — and discover how your app can have a critical role in them all.","tags":[],"title":"What’s new in education","url":"\/documentation\/wwdc20-10658-whats-new-in-education\/"},{"category":"","section":"documentation","slug":"wwdc20-10657-make-apps-smarter-with-natural-language","summary":"Explore how you can leverage the Natural Language framework to better analyze and understand text. Learn how to draw meaning from text using the framework’s built-in word and sentence embeddings, and how to create your own custom embeddings for specific needs.","tags":[],"title":"Make apps smarter with Natural Language","url":"\/documentation\/wwdc20-10657-make-apps-smarter-with-natural-language\/"},{"category":"","section":"documentation","slug":"wwdc20-10656-beyond-counting-steps","summary":"Move beyond step counting in your app and give people a much richer understanding of their mobility. We’ll detail how you can take advantage of mobility metrics in iOS and watchOS to measure movement in more distinct and actionable ways. Learn about the latest HealthKit APIs for accessing mobility data, strategies for meaningful data aggregation, and how to interpret results for people using your app.","tags":[],"title":"Beyond counting steps","url":"\/documentation\/wwdc20-10656-beyond-counting-steps\/"},{"category":"","section":"documentation","slug":"wwdc20-10655-discover-how-to-download-and-play-hls-offline","summary":"Discover how to play HLS audio or video without an internet connection in your app by downloading HLS content for offline consumption using AVFoundation. Explore best practices for working with your HLS content while offline, learn how to use FairPlay Streaming to protect your offline audio and video, and hear updates on our media download policies.","tags":[],"title":"Discover how to download and play HLS offline","url":"\/documentation\/wwdc20-10655-discover-how-to-download-and-play-hls-offline\/"},{"category":"","section":"documentation","slug":"wwdc20-10654-create-swift-playgrounds-content-for-ipad-and-mac","summary":"Learn how to create Swift Playgrounds books that work fluidly across both Mac and iPad and help people of all ages explore the fun of coding in Swift. We’ll walk you through how to customize content for each platform while considering platform settings, and help you take advantage of them in your playgrounds while still providing a smooth cross-platform experience.","tags":[],"title":"Create Swift Playgrounds content for iPad and Mac","url":"\/documentation\/wwdc20-10654-create-swift-playgrounds-content-for-ipad-and-mac\/"},{"category":"","section":"documentation","slug":"wwdc20-10653-detect-body-and-hand-pose-with-vision","summary":"Explore how the Vision framework can help your app detect body and hand poses in photos and video. With pose detection, your app can analyze the poses, movements, and gestures of people to offer new video editing possibilities, or to perform action classification when paired with an action classifier built in Create ML. And we’ll show you how you can bring gesture recognition into your app through hand pose, delivering a whole new form of interaction.","tags":[],"title":"Detect Body and Hand Pose with Vision","url":"\/documentation\/wwdc20-10653-detect-body-and-hand-pose-with-vision\/"},{"category":"","section":"documentation","slug":"wwdc20-10652-meet-the-new-photos-picker","summary":"Let people select photos and videos to use in your app without requiring full Photo Library access. Discover how the PHPicker API for iOS and Mac Catalyst ensures privacy while providing your app the features you need.","tags":[],"title":"Meet the new Photos picker","url":"\/documentation\/wwdc20-10652-meet-the-new-photos-picker\/"},{"category":"","section":"documentation","slug":"wwdc20-10651-whats-new-in-app-store-connect","summary":"Discover the latest improvements to App Store Connect, your suite of tools to upload, submit, and manage apps on the App Store. Learn about enhancements to the App Store Connect API, in-app purchase and subscriptions, Game Center, and more.","tags":[],"title":"What’s new in App Store Connect","url":"\/documentation\/wwdc20-10651-whats-new-in-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc20-10650-sync-a-core-data-store-with-the-cloudkit-public-database","summary":"Discover how Core Data can help you adopt the CloudKit public database in your app with as little as one line of code. Learn how to easily manage the flow of data through your app and in and out of CloudKit. We’ll show you how to combine the complementary power of Core Data and the CloudKit public database to allow people to access — and contribute to — data, such as high scores or application templates.","tags":[],"title":"Sync a Core Data store with the CloudKit public database","url":"\/documentation\/wwdc20-10650-sync-a-core-data-store-with-the-cloudkit-public-database\/"},{"category":"","section":"documentation","slug":"wwdc20-10649-add-custom-views-and-modifiers-to-the-xcode-library","summary":"The Xcode Library is an easy way for you to discover available SwiftUI views and drag and drop them to the Xcode Previews canvas, enabling rich visual editing of your app. We’ll show you how to extend the content of the Xcode Library with your own views and modifiers, optimizing for reusability and discoverability within your app or Swift packages.","tags":[],"title":"Add custom views and modifiers to the Xcode Library","url":"\/documentation\/wwdc20-10649-add-custom-views-and-modifiers-to-the-xcode-library\/"},{"category":"","section":"documentation","slug":"wwdc20-10648-unsafe-swift","summary":"What exactly makes code “unsafe”? Join the Swift team as we take a look at the programming language’s safety precautions — and when you might need to reach for unsafe operations. We’ll take a look at APIs that can cause unexpected states if not used correctly, and how you can write code more specifically to avoid undefined behavior. Learn how to work with C APIs that use pointers and the steps to take when you want to use Swift’s unsafe pointer APIs.","tags":[],"title":"Unsafe Swift","url":"\/documentation\/wwdc20-10648-unsafe-swift\/"},{"category":"","section":"documentation","slug":"wwdc20-10647-become-a-simulator-expert","summary":"Simulator runs your iOS, iPadOS, tvOS, or watchOS apps directly on your Mac — no separate device required. We’ll give you a tour of the app’s latest tools and features and show you how to sharpen your Simulator skills. Discover how to test pointer and trackpad support, adjust Simulator preferences, and use command line tools like simctl to help you simulate push notifications in a development environment.","tags":[],"title":"Become a Simulator expert","url":"\/documentation\/wwdc20-10647-become-a-simulator-expert\/"},{"category":"","section":"documentation","slug":"wwdc20-10646-whats-new-in-web-inspector","summary":"The Web Inspector makes introspection and debugging simpler than ever. Discover how you can use debugger stepping, editing cookies, and overriding network loaded resources to provide you with powerful development capabilities and help you create faster, more efficient websites.","tags":[],"title":"What’s new in Web Inspector","url":"\/documentation\/wwdc20-10646-whats-new-in-web-inspector\/"},{"category":"","section":"documentation","slug":"wwdc20-10645-support-multiple-users-in-your-tvos-app","summary":"Share your living room — not your Apple TV apps. When you support profiles within your app, you can customize your experience for each person who uses Apple TV within the same house. Discover how the “Runs as Current User” feature lets someone interact with your app, download local content, and log into iCloud or Game Center, all without affecting their family or housemates. We’ll show you how to implement this capability in your app, save recent data before switching profiles, handle notifications, and safeguard privacy.","tags":[],"title":"Support multiple users in your tvOS app","url":"\/documentation\/wwdc20-10645-support-multiple-users-in-your-tvos-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10644-use-swift-on-aws-lambda-with-xcode","summary":"Serverless functions are increasingly becoming popular for running event-driven or otherwise ad-hoc compute tasks in the cloud, allowing developers to more easily scale and control compute costs. Discover how to use the new Swift AWS Lambda Runtime package to build serverless functions in Swift, debug locally using Xcode, and deploy these functions to the AWS Lambda platform. We’ll show you how Swift shines on AWS Lambda thanks to its low memory footprint, deterministic performance, and quick start time.","tags":[],"title":"Use Swift on AWS Lambda with Xcode","url":"\/documentation\/wwdc20-10644-use-swift-on-aws-lambda-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc20-10643-build-a-swiftui-view-in-swift-playgrounds","summary":"Easily prototype and play around with SwiftUI views when you use them with Swift Playgrounds. We’ll show you how to build a SwiftUI view in a Xcode-compatible playground, and explore tools to help you easily edit and preview your code.","tags":[],"title":"Build a SwiftUI view in Swift Playgrounds","url":"\/documentation\/wwdc20-10643-build-a-swiftui-view-in-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc20-10642-build-image-and-video-style-transfer-models-in-create-ml","summary":"Bring stylized effects to your photos and videos with Style Transfer in Create ML. Discover how you can train models in minutes that make it easy to bring creative visual features to your app. Learn about the training process and the options you have for controlling the results. And we’ll explore the real-time performance of these models by demonstrating three of them simultaneously in ARKit.","tags":[],"title":"Build Image and Video Style Transfer models in Create ML","url":"\/documentation\/wwdc20-10642-build-image-and-video-style-transfer-models-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc20-10641-handle-the-limited-photos-library-in-your-app","summary":"Access the photos and videos you need for your app while preserving privacy. With the new Limited Photos Library feature, people can directly control which photos and videos an app can access to protect their private content. We’ll explore how this feature may affect your app, and take you through alternatives like PHPicker.","tags":[],"title":"Handle the Limited Photos Library in your app","url":"\/documentation\/wwdc20-10641-handle-the-limited-photos-library-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10640-design-for-the-ipados-pointer","summary":"Bring the power of the pointer to your iPad app: We’ll show you how Apple’s design team approached designing the iPadOS pointer to complement touch input, and how you can customize and refine pointer interactions in your app to make workflows more efficient and gratifying. Discover how the pointer’s adaptive precision enables people to quickly and confidently target interface elements regardless of their size. We’ll also share some best practices on adapting the pointer to complement your app’s unique needs including how to select pointer effects and design pointer shapes, integrate trackpad gestures, and keyboard modifiers.","tags":[],"title":"Design for the iPadOS pointer","url":"\/documentation\/wwdc20-10640-design-for-the-ipados-pointer\/"},{"category":"","section":"documentation","slug":"wwdc20-10639-whats-new-in-managing-apple-devices","summary":"We’ve made significant strides in bringing crucial device management features to macOS. Discover how these features can help you manage your all your devices using the same tools and technologies. Get details on changes coming this year and how they will impact your deployment workflows, as well as some new management capabilities you can use to secure iOS and iPadOS devices in your organization.","tags":[],"title":"What’s new in managing Apple devices","url":"\/documentation\/wwdc20-10639-whats-new-in-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc20-10636-whats-new-in-streaming-audio-for-apple-watch","summary":"Deliver a smooth streaming audio experience straight to the wrist. We’ll talk about some of the new things for building great streaming apps unique to Apple Watch. Learn how to integrate more audio formats, deliver streams more efficiently through new codecs, and add encrypted content to expand your app’s media library.","tags":[],"title":"What’s new in streaming audio for Apple Watch","url":"\/documentation\/wwdc20-10636-whats-new-in-streaming-audio-for-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc20-10635-accelerate-your-app-with-carplay","summary":"CarPlay is the smarter, safer way for people to use iPhone in the car. We’ll show you how to build great apps for the car screen, and introduce you to developing CarPlay apps in categories like EV charging, parking, and quick food ordering. We’ll also share how existing audio and communication apps can take advantage of improvements to the CarPlay framework to create a more flexible UI.","tags":[],"title":"Accelerate your app with CarPlay","url":"\/documentation\/wwdc20-10635-accelerate-your-app-with-carplay\/"},{"category":"","section":"documentation","slug":"wwdc20-10634-discover-search-suggestions-for-apple-tv","summary":"Searching your tvOS app just got even better. Get ready to explore the new simplified search interface and learn how to integrate it into your app with UISearchController. Support your global audience with the addition of new international keyboards and languages. Discover how to add search suggestions to your interface and update results with suggestions on the fly. And we’ll share some of our favorite tips for adding a great search experience to Apple TV.","tags":[],"title":"Discover search suggestions for Apple TV","url":"\/documentation\/wwdc20-10634-discover-search-suggestions-for-apple-tv\/"},{"category":"","section":"documentation","slug":"wwdc20-10633-capture-and-stream-apps-on-the-mac-with-replaykit","summary":"Learn how you can integrate ReplayKit into your Mac apps and games to easily share screen recordings or broadcast live audio and visuals online. We’ll show you how to capture screen content, audio, and microphone input inside your Mac apps, and even broadcast your video to a live audience.","tags":[],"title":"Capture and stream apps on the Mac with ReplayKit","url":"\/documentation\/wwdc20-10633-capture-and-stream-apps-on-the-mac-with-replaykit\/"},{"category":"","section":"documentation","slug":"wwdc20-10632-optimize-metal-performance-for-apple-silicon-macs","summary":"Apple silicon Macs are a transformative new platform for graphics-intensive apps — and we’re going to show you how to fire up the GPU to create blazingly fast apps and games.","tags":[],"title":"Optimize Metal Performance for Apple silicon Macs","url":"\/documentation\/wwdc20-10632-optimize-metal-performance-for-apple-silicon-macs\/"},{"category":"","section":"documentation","slug":"wwdc20-10631-bring-your-metal-app-to-apple-silicon-macs","summary":"Meet the Tile Based Deferred Rendering (TBDR) GPU architecture for Apple silicon Macs — the heart of your Metal app or game’s graphics performance. Learn how you can translate or port your graphics-intensive app over to Apple silicon, and how to take advantage of TBDR and Metal when building natively for the platform. We’ll look at how TBDR compares with the Immediate Mode Rendering pipeline of older Macs, go through common issues you may face when bringing an app or game over, and explore how to offer incredible performance when building with the native SDK.","tags":[],"title":"Bring your Metal app to Apple silicon Macs","url":"\/documentation\/wwdc20-10631-bring-your-metal-app-to-apple-silicon-macs\/"},{"category":"","section":"documentation","slug":"wwdc20-10621-support-performanceintensive-apps-and-games","summary":"iOS and iPadOS provide powerful capabilities to help developers deliver breakthrough apps and games across all device generations. In certain instances, however, demanding apps with exceptional performance requirements may only be able to provide the best experience on devices with an A12 Bionic chip or higher.","tags":[],"title":"Support performance-intensive apps and games","url":"\/documentation\/wwdc20-10621-support-performanceintensive-apps-and-games\/"},{"category":"","section":"documentation","slug":"wwdc20-10619-tap-into-game-center-leaderboards-achievements-and-multiplayer","summary":"Level up your Game Center integration and enable players to compare scores on leaderboards, earn valuable achievements, and engage with other players. Organize special events like weekly championships, daily showdowns, or 1-hour competitions using recurring leaderboards. Create up to 100 unique achievements for your game. And we’ll show you how to set up real-time or turn-based multiplayer matches for your Game Center players.","tags":[],"title":"Tap into Game Center: Leaderboards, Achievements, and Multiplayer","url":"\/documentation\/wwdc20-10619-tap-into-game-center-leaderboards-achievements-and-multiplayer\/"},{"category":"","section":"documentation","slug":"wwdc20-10618-tap-into-game-center-dashboard-access-point-and-profile","summary":"Apple’s social gaming network is ready to play. We’ll walk you through the latest updates to Game Center, starting with its in-game interface and all-new player experience. Learn how to integrate GameKit into your app and authenticate players effectively, and discover the Access Point, which brings players into the in-game dashboard. From there, we’ll explore player profiles and their options for privacy.","tags":[],"title":"Tap into Game Center: Dashboard, Access Point, and Profile","url":"\/documentation\/wwdc20-10618-tap-into-game-center-dashboard-access-point-and-profile\/"},{"category":"","section":"documentation","slug":"wwdc20-10617-bring-keyboard-and-mouse-gaming-to-ipad","summary":"Level up your iPad games and add in keyboard, mouse, and trackpad controls. Discover how to use the Game Controller framework to augment your existing titles, bring over games from other platforms, or dream up entirely new interaction experiences. Learn how to integrate keyboard and “delta” mouse coordinate events for player motion, and disable pointer system gestures like the Dock or Control Center to take full advantage of full screen gameplay.","tags":[],"title":"Bring keyboard and mouse gaming to iPad","url":"\/documentation\/wwdc20-10617-bring-keyboard-and-mouse-gaming-to-ipad\/"},{"category":"","section":"documentation","slug":"wwdc20-10616-debug-gpuside-errors-in-metal","summary":"Track down even the trickiest GPU-side programming errors with enhanced reporting in Xcode 12. While Metal’s API validation layer can catch most problems in a project, GPU errors can cause a host of difficult-to-debug issues.","tags":[],"title":"Debug GPU-side errors in Metal","url":"\/documentation\/wwdc20-10616-debug-gpuside-errors-in-metal\/"},{"category":"","section":"documentation","slug":"wwdc20-10615-build-gpu-binaries-with-metal","summary":"Power up your shader pipeline with enhancements to the Metal shader compilation model — all leading to a dramatic reduction in Pipeline State Object (PSO) loading time, especially upon first launch. Learn about explicit PSO caching and sharing of GPU binaries using Metal binary archives and dynamic libraries. And we’ll detail the toolchain to create libraries and improve your shader compilation workflow.","tags":[],"title":"Build GPU binaries with Metal","url":"\/documentation\/wwdc20-10615-build-gpu-binaries-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc20-10614-advancements-in-game-controllers","summary":"Let’s rumble! Discover how you can bring third-party game controllers and custom haptics into your games on iPhone, iPad, Mac, and Apple TV. We’ll show you how to add support for the latest controllers — including Xbox’s Elite Wireless Controller Series 2 and Adaptive Controller — and map your game’s controls accordingly. Learn how you can use the Game Controller framework in tandem with Core Haptics to enable rumble feedback. And find out how you can take your gaming experience to the next level with custom button mapping, nonstandard inputs, and control over specialty features like motion sensors, lights, and battery level.","tags":[],"title":"Advancements in Game Controllers","url":"\/documentation\/wwdc20-10614-advancements-in-game-controllers\/"},{"category":"","section":"documentation","slug":"wwdc20-10613-whats-new-in-usd","summary":"Discover proposed schema and structure updates to the Universal Scene Description (USD) standard. Learn how you can use Reality Composer to build AR content with interactive properties like anchoring, physics, behaviors, 3D text, and spatial audio that exports to USDZ. And, discover streamlined workflows that help you bring newly-created objects into your app.","tags":[],"title":"What’s new in USD","url":"\/documentation\/wwdc20-10613-whats-new-in-usd\/"},{"category":"","section":"documentation","slug":"wwdc20-10612-whats-new-in-realitykit","summary":"RealityKit is Apple’s rendering, animation, physics, and audio engine built from the ground up for augmented reality: It reimagines the traditional 3D renderer to make it easy for developers to prototype and produce high-quality AR experiences. Learn how to effectively implement each of the latest improvements to RealityKit in your app. Discover features like video textures, scene understanding using the LiDAR scanner on iPad Pro, Location Anchors, face tracking, and improved debugging tools.","tags":[],"title":"What’s new in RealityKit","url":"\/documentation\/wwdc20-10612-whats-new-in-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc20-10611-explore-arkit-4","summary":"ARKit 4 enables you to build the next generation of augmented reality apps to transform how people connect with the world around them. We’ll walk you through the latest improvements to Apple’s augmented reality platform, including how to use Location Anchors to connect virtual objects with a real-world longitude, latitude, and altitude. Discover how to harness the LiDAR Scanner on iPad Pro and obtain a depth map of your environment. And learn how to track faces in AR on more devices, including the iPad Air (3rd generation), iPad mini (5th generation), and all devices with the A12 Bionic chip or later that have a front-facing camera.","tags":[],"title":"Explore ARKit 4","url":"\/documentation\/wwdc20-10611-explore-arkit-4\/"},{"category":"","section":"documentation","slug":"wwdc20-10605-gain-insights-into-your-metal-app-with-xcode-12","summary":"Learn how to locate graphics issues in minutes with Metal’s debugging and performance optimization tools in Xcode 12. We’ll show you how to diagnose problems quickly using Metal Debugger. Discover the new summary view, which suggests ways to improve memory usage, bandwidth, performance, and implementation of the Metal API.","tags":[],"title":"Gain insights into your Metal app with Xcode 12","url":"\/documentation\/wwdc20-10605-gain-insights-into-your-metal-app-with-xcode-12\/"},{"category":"","section":"documentation","slug":"wwdc20-10604-shop-online-with-ar-quick-look","summary":"AR Quick Look adds a new dimension to online shopping: We’ll show you how to easily showcase your products in augmented reality for a “try before you buy” experience. Discover how to display a product banner in AR Quick Look, integrate Apple Pay, or display custom actions like “add to cart”.","tags":[],"title":"Shop online with AR Quick Look","url":"\/documentation\/wwdc20-10604-shop-online-with-ar-quick-look\/"},{"category":"","section":"documentation","slug":"wwdc20-10603-optimize-metal-apps-and-games-with-gpu-counters","summary":"GPU counters can help you precisely measure GPU utilization to pinpoint bottlenecks and optimize workloads for your Metal apps and games. We’ll walk you through the tools available in the Metal System Trace instrument and Metal Debugger in Xcode 12 to profile your graphics workload, and show you how to use collected data to discover underused and overworked stages of your GPU pipeline. Discover how you can act on that data to improve your app’s capabilities.","tags":[],"title":"Optimize Metal apps and games with GPU counters","url":"\/documentation\/wwdc20-10603-optimize-metal-apps-and-games-with-gpu-counters\/"},{"category":"","section":"documentation","slug":"wwdc20-10602-harness-apple-gpus-with-metal","summary":"Create visually stunning, high-performance apps and games when you combine the power of Apple GPUs with Metal, the modern foundation for GPU-accelerated graphics on Apple platforms. Discover the architecture and capabilities of the Apple GPU and how Metal harnesses its tile-based deferred rendering (TBDR) architecture to achieve measurable performance gains in apps and games. In this session, we’ll discuss the efficiency of Apple GPUs and show how TBDR applies to an array of modern rendering techniques.","tags":[],"title":"Harness Apple GPUs with Metal","url":"\/documentation\/wwdc20-10602-harness-apple-gpus-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc20-10601-the-artists-ar-toolkit","summary":"Reality Converter and Reality Composer make preparing augmented reality assets for your iOS or iPadOS app easier than ever. Discover how you can convert existing 3D assets into USDZ, bring them into Reality Composer to create AR experiences, and integrate with an existing Xcode project or export to AR Quick Look. We’ll detail how to work with assets in a variety of popular 3D formats, build and test your AR scenes, and integrate with your artist’s workflow.","tags":[],"title":"The artist’s AR toolkit","url":"\/documentation\/wwdc20-10601-the-artists-ar-toolkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10232-adapt-ad-insertion-to-lowlatency-hls","summary":"Find out how to integrate advertising into your Low-Latency HLS streams through server-side ad insertion. We’ll show you how to segment your ad content, and examine how ad insertion works with LL-HLS features such as Blocking Playlist Reload and Blocking Preload Hints.","tags":[],"title":"Adapt ad insertion to Low-Latency HLS","url":"\/documentation\/wwdc20-10232-adapt-ad-insertion-to-lowlatency-hls\/"},{"category":"","section":"documentation","slug":"wwdc20-10231-reduce-latency-with-hls-blocking-playlist-reload","summary":"Blocking Playlist Reload is a required component of Low-Latency HLS that improves segment discovery time in live streams and addresses the common problem of stale playlists when delivering through an HTTP cache. Learn how to use Blocking Playlist Reload to reduce streaming latency and improve CDN performance for both low-latency and regular live HLS streams.","tags":[],"title":"Reduce latency with HLS Blocking Playlist Reload","url":"\/documentation\/wwdc20-10231-reduce-latency-with-hls-blocking-playlist-reload\/"},{"category":"","section":"documentation","slug":"wwdc20-10230-optimize-live-streams-with-hls-playlist-delta-updates","summary":"Discover Playlist Delta Updates, an HLS feature that optimizes the delivery of live streams with large playback windows and lots of metadata. We’ll show you how Playlist Delta Updates can reduce overheard when producing live streams, provide higher-quality variants for people with slower connections, and integrate advertising.","tags":[],"title":"Optimize live streams with HLS Playlist Delta Updates","url":"\/documentation\/wwdc20-10230-optimize-live-streams-with-hls-playlist-delta-updates\/"},{"category":"","section":"documentation","slug":"wwdc20-10229-discover-hls-blocking-preload-hints","summary":"Learn how to implement Blocking Preload Hints for Low-Latency HLS to reduce delivery latency and improve the reliability of your video and audio streams. Discover how to integrate LL-HLS with CMAF Chunk delivery and unify your delivery across streaming formats.","tags":[],"title":"Discover HLS Blocking Preload Hints","url":"\/documentation\/wwdc20-10229-discover-hls-blocking-preload-hints\/"},{"category":"","section":"documentation","slug":"wwdc20-10228-whats-new-in-lowlatency-hls","summary":"Apple has added Low-Latency extensions to the HTTP Live Streaming protocol that combine the quality and scalability of HLS with a stream delay of two seconds or less. Learn about the most recent developments in LL-HLS and how it allows you to make your video delivery competitive with broadcast and improve social media integration.","tags":[],"title":"What’s new in Low-Latency HLS","url":"\/documentation\/wwdc20-10228-whats-new-in-lowlatency-hls\/"},{"category":"","section":"documentation","slug":"wwdc20-10226-record-stereo-audio-with-avaudiosession","summary":"Stereo recording is a powerful way to deliver immersive sound to listeners, fans, and family — and your app can use the built-in microphones on iPhone or iPad to record it. Discover how AVAudioSession can help you capture stereo audio from a mobile device, address the new special consideration called “input orientation,” and learn how to adopt this API in your app to provide a better recording experience.","tags":[],"title":"Record stereo audio with AVAudioSession","url":"\/documentation\/wwdc20-10226-record-stereo-audio-with-avaudiosession\/"},{"category":"","section":"documentation","slug":"wwdc20-10225-improve-stream-authoring-with-hls-tools","summary":"Deliver live and on-demand audio and video to iPhone, iPad, Apple Watch, Mac, PC, and Apple TV with HTTP Live Streaming (HLS). Learn about tools and features to help improve the authoring of your HLS streams and provide low-latency delivery and better audio performance to people watching or listening to your content. We’ll also walk you through creating Low-Latency HLS test streams, integrating audio codecs, and creating master playlists.","tags":[],"title":"Improve stream authoring with HLS Tools","url":"\/documentation\/wwdc20-10225-improve-stream-authoring-with-hls-tools\/"},{"category":"","section":"documentation","slug":"wwdc20-10224-meet-audio-workgroups","summary":"Fine-tune your audio app or plug-in for Apple silicon Macs: We’ll show you how to register your realtime threads using Audio Workgroups and make your app sing. Learn more about the power efficiency of System on a Chip (SoC) and how you can take advantage of new APIs to improve the speed and sound of your apps and plug-ins.","tags":[],"title":"Meet Audio Workgroups","url":"\/documentation\/wwdc20-10224-meet-audio-workgroups\/"},{"category":"","section":"documentation","slug":"wwdc20-10223-deploy-apple-devices-using-zerotouch","summary":"Discover how Apple’s system administrators remotely deploy Apple devices to their teams, ensuring a zero-touch deployment. Learn how to configure the setup experience, control and manage devices effectively, and discover practices around security and management.","tags":[],"title":"Deploy Apple devices using zero-touch","url":"\/documentation\/wwdc20-10223-deploy-apple-devices-using-zerotouch\/"},{"category":"","section":"documentation","slug":"wwdc20-10222-create-custom-apps-for-employees","summary":"Build enterprise apps for your employees to help them solve problems and streamline everyday tasks. See how to build custom apps designed for your workforce. Learn how to identify great mobile use cases, have your employees drive the design process, use key Apple frameworks, and rapidly iterate with Xcode.","tags":[],"title":"Create custom apps for employees","url":"\/documentation\/wwdc20-10222-create-custom-apps-for-employees\/"},{"category":"","section":"documentation","slug":"wwdc20-10221-get-your-test-results-faster","summary":"Improve your testing suite to speed up your feedback loop and get fixes in faster. Learn more about the latest improvements to testing in Xcode, including how to leverage test plans, Xcodebuild updates, and APIs to eliminate never-ending and badly-behaved tests. We’ll explore Test Timeouts and Execution Time Allowances in XCTest, examine device parallelization, and detail recommended practices for balancing performance with clear fault localization.","tags":[],"title":"Get your test results faster","url":"\/documentation\/wwdc20-10221-get-your-test-results-faster\/"},{"category":"","section":"documentation","slug":"wwdc20-10220-handle-interruptions-and-alerts-in-ui-tests","summary":"Learn how to anticipate potential interruptions to your app’s interface and build smart tests to identify them. UI interruptions often appear indeterminately, typically during onboarding or first launch, which can make them hard to track down. Learn how to understand interruptions, write stronger tests with UI interruption handlers, and manage expected alerts.","tags":[],"title":"Handle interruptions and alerts in UI tests","url":"\/documentation\/wwdc20-10220-handle-interruptions-and-alerts-in-ui-tests\/"},{"category":"","section":"documentation","slug":"wwdc20-10219-build-localizationfriendly-layouts-using-xcode","summary":"Localizing your app is a wonderful way to share your work with a worldwide audience and make it relevant to more cultures and languages. We’ll show you how you can prepare for localization before ever translating a word by building thoughtful layouts for your app. Learn how to structure your UI in Xcode, identify common issues prevalent with more verbose and right-to-left languages, and easily adapt your interfaces to provide a great experience for everyone.","tags":[],"title":"Build localization-friendly layouts using Xcode","url":"\/documentation\/wwdc20-10219-build-localizationfriendly-layouts-using-xcode\/"},{"category":"","section":"documentation","slug":"wwdc20-10217-explore-numerical-computing-in-swift","summary":"Meet Swift Numerics: a new Swift package for computational mathematics. Take a tour of the protocols and types available in the package and find out how you can use them to write generic code. We’ll also show you how and when to use the new Float16 type to improve performance and reduce memory usage.","tags":[],"title":"Explore numerical computing in Swift","url":"\/documentation\/wwdc20-10217-explore-numerical-computing-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc20-10216-whats-new-in-researchkit","summary":"ResearchKit continues to simplify how developers build research and care apps. Explore how the latest ResearchKit updates expand the boundaries of data researchers can collect. Learn about features like enhanced onboarding, extended options for surveys, and new active tasks. Discover how Apple has partnered with the research community to leverage this framework, helping developers build game-changing apps that empower care teams and the research community.","tags":[],"title":"What’s new in ResearchKit","url":"\/documentation\/wwdc20-10216-whats-new-in-researchkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10214-port-your-mac-app-to-apple-silicon","summary":"Your porting questions, answered: Learn how to recompile your macOS app for Apple silicon Macs and build universal apps that launch faster, have better performance, and support the future of the platform. We’ll show you how Xcode makes it simple to build a universal macOS binary and go through running, debugging, and testing your app. Learn what changes to low-level code you might need to make, find out how to handle in-process and out-of-process plug-ins, and discover some useful tips for working with universal apps.","tags":[],"title":"Port your Mac app to Apple silicon","url":"\/documentation\/wwdc20-10214-port-your-mac-app-to-apple-silicon\/"},{"category":"","section":"documentation","slug":"wwdc20-10210-modernize-pci-and-scsi-drivers-with-driverkit","summary":"Keep code out of the kernel and give your customers a more secure and reliable experience with accessories using DriverKit. Discover how to create low-level drivers that support PCI devices or SCSI controllers. And find out how you can achieve great performance with DriverKit on macOS Big Sur.","tags":[],"title":"Modernize PCI and SCSI drivers with DriverKit","url":"\/documentation\/wwdc20-10210-modernize-pci-and-scsi-drivers-with-driverkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10209-whats-new-in-core-nfc","summary":"Core NFC helps you scan and write to NFC tags in your apps, helping people get more from objects like parking meters, scooter rentals, car charging stations, and more. Learn about Core NFC’s support for the ISO15693 protocol and new tag capabilities, and find out more about syntax improvements for Swift.","tags":[],"title":"What’s new in Core NFC","url":"\/documentation\/wwdc20-10209-whats-new-in-core-nfc\/"},{"category":"","section":"documentation","slug":"wwdc20-10207-sf-symbols-2","summary":"SF Symbols make it easy to adopt high-quality, Apple-designed symbols created to look great with San Francisco, the system font for all Apple platforms. Discover how you can use SF Symbols in AppKit, UIKit, and SwiftUI. Learn how to work with SF Symbols in common design tools and how to use them in code. And we’ll walk you through the latest updates, including additions to the repertoire, alignment improvements, changes with right-to-left localization, and multicolor symbols.","tags":[],"title":"SF Symbols 2","url":"\/documentation\/wwdc20-10207-sf-symbols-2\/"},{"category":"","section":"documentation","slug":"wwdc20-10206-designed-for-ipad","summary":"Discover the building blocks for designing a great iPad app: Learn how to minimize use of modal interfaces and leverage the new sidebar to increase efficiency by streamlining navigation and facilitating powerful drag and drop interactions. See how to take advantage of iPad’s versatile interaction opportunities by supporting multitouch, pencil, keyboard, and trackpad. And create adaptive layouts that respond to all size classes and orientation to support a great multitasking experience. These techniques will not only improve your iPad app — they’ll make it easier to create a Mac Catalyst app that truly feels right at home on macOS.","tags":[],"title":"Designed for iPad","url":"\/documentation\/wwdc20-10206-designed-for-ipad\/"},{"category":"","section":"documentation","slug":"wwdc20-10205-design-with-ios-pickers-menus-and-actions","summary":"Create iPhone and iPad apps that look great and help people move quickly and directly to the information they need. Discover how you can integrate menus into your app for quick access to actions and settings, and learn where and when you should use them in your app. We’ll also walk you through the new Date Picker and Color Picker controls, and show you how to integrate them into your app.","tags":[],"title":"Design with iOS pickers, menus and actions","url":"\/documentation\/wwdc20-10205-design-with-ios-pickers-menus-and-actions\/"},{"category":"","section":"documentation","slug":"wwdc20-10204-create-great-enterprise-apps-a-chat-with-boxs-aaron-levie","summary":"Discover how organizations like Box are adapting to changing conditions in the business world and remote work. Listen to Apple’s Vice President of Cloud Services Mike Abbott and Box CEO and co-founder Aaron Levie chat about the modern working environment, how cloud-based apps are helping people transition to collaborating remotely, and techniques that enterprise developers can use to help their organization innovate in challenging situations.","tags":[],"title":"Create great enterprise apps: A chat with Box’s Aaron Levie","url":"\/documentation\/wwdc20-10204-create-great-enterprise-apps-a-chat-with-boxs-aaron-levie\/"},{"category":"","section":"documentation","slug":"wwdc20-10200-design-for-intelligence-meet-people-where-they-are","summary":"Understand what motivates people to use your app — and how you can use system intelligence to help them and achieve your own goals as a developer. We’ll take a look at a typical person’s journey to better understand how an app can become a key part of their routine — and why some apps just don’t stick. Learn how you can provide the right kind of value at the right time to help them in their everyday tasks, and how your app and the system can evolve alongside them.","tags":[],"title":"Design for intelligence: Meet people where they are","url":"\/documentation\/wwdc20-10200-design-for-intelligence-meet-people-where-they-are\/"},{"category":"","section":"documentation","slug":"wwdc20-102-platforms-state-of-the-union","summary":"Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc20-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc20-10197-broaden-your-reach-with-siri-event-suggestions","summary":"Whether you’re hosting event information in your app, on the web, or in an email, Siri Event Suggestions can help people keep track of their commitments — without compromising their privacy. We’ll show you how to set up your reservations so that they automatically show up in the Calendar app and how to work with the Siri Event Suggestions APIs for iOS and Markup for web and email.","tags":[],"title":"Broaden your reach with Siri Event Suggestions","url":"\/documentation\/wwdc20-10197-broaden-your-reach-with-siri-event-suggestions\/"},{"category":"","section":"documentation","slug":"wwdc20-10194-add-configuration-and-intelligence-to-your-widgets","summary":"Widgets are at their best when they show up on someone’s Home screen or in the Today View at the right time and provide actionable, relevant information. We’ll show you how to build configurable widgets to let people create a personalized Home screen experience, and that take advantage of system intelligence to help people get what they want, when they want it. Learn how to customize your widget’s configuration interface, and how to appear within Siri Suggestions or at the top of a widget Smart Stack based on user behavior or by letting the system know when there’s new, timely information.","tags":[],"title":"Add configuration and intelligence to your widgets","url":"\/documentation\/wwdc20-10194-add-configuration-and-intelligence-to-your-widgets\/"},{"category":"","section":"documentation","slug":"wwdc20-10190-create-quick-interactions-with-shortcuts-on-watchos","summary":"Shortcuts are a natural fit on Apple Watch, allowing people to get things done with just a tap — even from a complication. Bring your app’s intents to the wrist: We’ll help you optimize your shortcuts performance, understand how intents can be routed from watchOS to iOS, explore the latest interaction and presentation interfaces, and examine how the Shortcuts app manages shortcuts and intents for Apple Watch.","tags":[],"title":"Create quick interactions with Shortcuts on watchOS","url":"\/documentation\/wwdc20-10190-create-quick-interactions-with-shortcuts-on-watchos\/"},{"category":"","section":"documentation","slug":"wwdc20-10189-secure-your-app-threat-modeling-and-antipatterns","summary":"It’s more important than ever to consider vulnerabilities and potential threats and recognize where you should apply safeguards in your app. Understand how to identify potential risks through threat modeling and how to avoid common anti-patterns. Learn coding techniques and how to take advantage of platform-supplied protections to help you mitigate risk and protect people while they’re using your app.","tags":[],"title":"Secure your app: threat modeling and anti-patterns","url":"\/documentation\/wwdc20-10189-secure-your-app-threat-modeling-and-antipatterns\/"},{"category":"","section":"documentation","slug":"wwdc20-10188-discover-wkwebview-enhancements","summary":"WKWebView is the best way to present rich, interactive web content right within your app. Explore new APIs that help you convert apps using WebViews or UIWebViews while adding entirely new capabilities. Learn about better ways to handle JavaScript, fine tune the rendering process, export web content, and more.","tags":[],"title":"Discover WKWebView enhancements","url":"\/documentation\/wwdc20-10188-discover-wkwebview-enhancements\/"},{"category":"","section":"documentation","slug":"wwdc20-10185-visually-edit-swiftui-views","summary":"Help your apps be the best versions of themselves: Discover how you can leverage Xcode Previews and SwiftUI to quickly iterate upon and improve your app. Find out how you can use the Previews canvas to build your app from the ground up, and view your interface in different environments like Light or Dark mode or with accessibility features like Dynamic Type enabled.","tags":[],"title":"Visually edit SwiftUI views","url":"\/documentation\/wwdc20-10185-visually-edit-swiftui-views\/"},{"category":"","section":"documentation","slug":"wwdc20-10184-synchronize-health-data-with-healthkit","summary":"HealthKit provides you the tools to smartly manage health data anywhere, whether across multiple HealthKit-enabled devices such as iPhone and Apple Watch or with an external server to share data across a care team. In this session, we’ll dive into managing data versions via HealthKit’s built-in sync identifier metadata, how to detect changes in health data using an HKAnchoredObjectQuery, and cover best practices for ensuring you’re always working with the right data everywhere.","tags":[],"title":"Synchronize health data with HealthKit","url":"\/documentation\/wwdc20-10184-synchronize-health-data-with-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10182-whats-new-in-healthkit","summary":"HealthKit is an essential framework that integrates first- and third-party health and fitness data to help people manage their personal health information. Learn about HealthKit’s latest updates, which provide read access to electrocardiograms on Apple Watch and log and track over a dozen new symptoms and their severity. We’ll also go through the latest mobility data types like walking speed and step length to help people monitor and understand their mobility over time.","tags":[],"title":"What’s new in HealthKit","url":"\/documentation\/wwdc20-10182-whats-new-in-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10176-master-picture-in-picture-on-tvos","summary":"Picture in Picture is coming to Apple TV: With simultaneous video playback and the ability to swap between full screen content and Picture in Picture, you’ve never had more multitasking flexibility within your tvOS app. Discover how you can add AVPictureInPictureController to your project, leverage familiar APIs to create custom playback interfaces, and implement the best playback experience possible for people using your app. We’ll also show you how to migrate away from the “swipe up” gesture to activate customOverlayViewController, as AVPlayerViewController now uses that gesture in tvOS 14.","tags":[],"title":"Master Picture in Picture on tvOS","url":"\/documentation\/wwdc20-10176-master-picture-in-picture-on-tvos\/"},{"category":"","section":"documentation","slug":"wwdc20-10175-the-details-of-ui-typography","summary":"Learn how to achieve exceptional typography in your app’s user interface that enhances legibility, accessibility, and consistency across Apple platforms. Get up to speed on the latest advancements to the San Francisco font family including the move to variable fonts for accommodating optical sizes and weights. We’ll also share tips about how to get the most out of systems fonts, support dynamic type with custom fonts.","tags":[],"title":"The details of UI typography","url":"\/documentation\/wwdc20-10175-the-details-of-ui-typography\/"},{"category":"","section":"documentation","slug":"wwdc20-10174-explore-app-clips","summary":"Help people experience the right parts of your app at the exact moment they need them. We’ll explain how to design and build an App Clip — a small part of your app that focuses on a specific task — and make it easily discoverable. Learn how to focus your App Clip on short and fast interactions and identify contextually-relevant situations where you can surface it, like a search in Maps or at a real-world location through QR codes, NFC, or App Clip codes. Find out a few key differences between apps and App Clips, and explore how App Clips interact with their corresponding apps.","tags":[],"title":"Explore App Clips","url":"\/documentation\/wwdc20-10174-explore-app-clips\/"},{"category":"","section":"documentation","slug":"wwdc20-10173-get-the-most-out-of-sign-in-with-apple","summary":"Sign in with Apple makes it easy for people to sign in to your apps and websites with the Apple ID they already have. Fully integrate Sign in with Apple into your app using secure requests, and by handling state changes and server notifications. We’ll also introduce new APIs that allow you to let existing users switch to Sign in with Apple quickly and easily.","tags":[],"title":"Get the most out of Sign in with Apple","url":"\/documentation\/wwdc20-10173-get-the-most-out-of-sign-in-with-apple\/"},{"category":"","section":"documentation","slug":"wwdc20-10172-design-great-app-clips","summary":"App Clips offer fast, convenient ways for people to perform everyday tasks without needing to download or navigate your full app. We’ll show you how to identify key elements from your iOS app that make up a great App Clip, design a smooth flow, work with notifications, and provide messaging guidance when encouraging people to download your full app.","tags":[],"title":"Design great App Clips","url":"\/documentation\/wwdc20-10172-design-great-app-clips\/"},{"category":"","section":"documentation","slug":"wwdc20-10171-whats-new-in-watchos-design","summary":"Great watchOS apps are simple and direct. Actions should be discoverable, predictable and relevant. This session covers effective strategies for displaying actions in your watchOS app, whether they are primary buttons that begin core tasks, or contextual actions that might be less commonly used but are still important to offer.","tags":[],"title":"What’s new in watchOS design","url":"\/documentation\/wwdc20-10171-whats-new-in-watchos-design\/"},{"category":"","section":"documentation","slug":"wwdc20-10170-whats-new-in-swift","summary":"Join us for an update on Swift. Discover the latest advancements in runtime performance, along with improvements to the developer experience that make your code faster to read, edit, and debug. Find out how to take advantage of new language features like multiple trailing closures. Learn about new libraries available in the SDK, and explore the growing number of APIs available as Swift Packages.","tags":[],"title":"What’s new in Swift","url":"\/documentation\/wwdc20-10170-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc20-10169-swift-packages-resources-and-localization","summary":"Bring your resources along for the ride when you organize and share code using Swift packages. Discover how to include assets like images and storyboards in a package and how to access them from code. And learn how to add localized strings to make your code accessible to people around the world.","tags":[],"title":"Swift packages: Resources and localization","url":"\/documentation\/wwdc20-10169-swift-packages-resources-and-localization\/"},{"category":"","section":"documentation","slug":"wwdc20-10168-explore-logging-in-swift","summary":"Meet the latest generation of Swift unified logging APIs. Learn how to log events and errors in your app while preserving privacy. Take advantage of powerful yet readable options for formatting data — all without sacrificing performance. And we’ll show you how you can gather and process log messages to help you understand and debug unexpected behavior in your apps.","tags":[],"title":"Explore logging in Swift","url":"\/documentation\/wwdc20-10168-explore-logging-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc20-10167-safely-manage-pointers-in-swift","summary":"Come with us as we delve into unsafe pointer types in Swift. Discover the requirements for each type and how to use it correctly. We’ll discuss typed pointers, drop down to raw pointers, and finally circumvent pointer type safety entirely by binding memory.","tags":[],"title":"Safely manage pointers in Swift","url":"\/documentation\/wwdc20-10167-safely-manage-pointers-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc20-10165-embrace-swift-type-inference","summary":"Swift uses type inference to help you write clean, concise code without compromising type safety. We’ll show you how the compiler seeks out clues in your code to solve the type inference puzzle. Discover what happens when the compiler can’t come to a solution, and find out how Xcode 12 integrates error tracking to help you understand and fix mistakes at compile time.","tags":[],"title":"Embrace Swift type inference","url":"\/documentation\/wwdc20-10165-embrace-swift-type-inference\/"},{"category":"","section":"documentation","slug":"wwdc20-10164-xctskip-your-tests","summary":"Get the test results that matter — and skip the ones that don’t. Discover how you can implement XCTSkip to conditionally avoid tests at runtime. We’ll take you through how to return this new test result and better document tests beyond pass and fail within your test bundle.","tags":[],"title":"XCTSkip your tests","url":"\/documentation\/wwdc20-10164-xctskip-your-tests\/"},{"category":"","section":"documentation","slug":"wwdc20-10163-advancements-in-the-objectivec-runtime","summary":"Dive into the microscopic world of low-level bits and bytes that underlie every Objective-C and Swift class. Find out how recent changes to internal data structures, method lists, and tagged pointers provide better performance and lower memory usage. We’ll demonstrate how to recognize and fix crashes in code that depend on internal details, and show you how to keep your code unaffected by changes to the runtime.","tags":[],"title":"Advancements in the Objective-C runtime","url":"\/documentation\/wwdc20-10163-advancements-in-the-objectivec-runtime\/"},{"category":"","section":"documentation","slug":"wwdc20-10162-design-for-location-privacy","summary":"When someone uses iPhone or iPad, they have control over how their location is shared with the apps they use — including sharing an approximate location rather than precise coordinates. This creates a more private experience across their device, and it impacts all apps that rely on location data or use it to supplement certain elements of their experience.","tags":[],"title":"Design for location privacy","url":"\/documentation\/wwdc20-10162-design-for-location-privacy\/"},{"category":"","section":"documentation","slug":"wwdc20-10160-formatters-make-data-humanfriendly","summary":"Save yourself time and frustration: When you display data in your app — including dates, times, measurements, names, lists, numbers, or strings — learn how to format it correctly and provide a great experience. We’ll walk you through the Formatter APIs as well as how SwiftUI works with stringsdict, and show you how they can help do the heavy lifting of formatting data. Learn about best practices and how to avoid common mistakes.","tags":[],"title":"Formatters: Make data human-friendly","url":"\/documentation\/wwdc20-10160-formatters-make-data-humanfriendly\/"},{"category":"","section":"documentation","slug":"wwdc20-10159-build-an-endpoint-security-app","summary":"System Extensions improve the reliability and security of macOS. Learn about the modern replacement for Kernel Authorization KPIs and discover tips for making a great security product with the Endpoint Security framework.","tags":[],"title":"Build an Endpoint Security app","url":"\/documentation\/wwdc20-10159-build-an-endpoint-security-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10158-deliver-a-better-hls-audio-experience","summary":"Discover techniques for streaming high-quality audio to bandwidth-limited networks and new audio codec support. We’ll share some best practices for supporting the xHE-AAC, FLAC, and Apple Lossless Audio audio codecs, including limited support for multichannel AAC.","tags":[],"title":"Deliver a better HLS audio experience","url":"\/documentation\/wwdc20-10158-deliver-a-better-hls-audio-experience\/"},{"category":"","section":"documentation","slug":"wwdc20-10156-control-training-in-create-ml-with-swift","summary":"With the Create ML framework you have more power than ever to easily develop models and automate workflows. We’ll show you how to explore and interact with your machine learning models while you train them, helping you get a better model quickly. Discover how training control in Create ML can customize your training workflow with checkpointing APIs to pause, save, resume, and extend your training process. And find out how you can monitor your progress programmatically using Combine APIs.","tags":[],"title":"Control training in Create ML with Swift","url":"\/documentation\/wwdc20-10156-control-training-in-create-ml-with-swift\/"},{"category":"","section":"documentation","slug":"wwdc20-10153-get-models-on-device-using-core-ml-converters","summary":"With Core ML you can bring incredible machine learning models to your app and run them entirely on-device. And when you use Core ML Converters, you can incorporate almost any trained model from TensorFlow or PyTorch and take full advantage of the GPU, CPU, and Neural Engine. Discover everything you need to begin converting existing models from other ML platforms and explore how to create custom operations that extend the capabilities of your models.","tags":[],"title":"Get models on device using Core ML Converters","url":"\/documentation\/wwdc20-10153-get-models-on-device-using-core-ml-converters\/"},{"category":"","section":"documentation","slug":"wwdc20-10152-use-model-deployment-and-security-with-core-ml","summary":"Discover how to deploy Core ML models outside of your app binary, giving you greater flexibility and control when bringing machine learning features to your app. And learn how Core ML Model Deployment enables you to deliver revised models to your app without requiring an app update. We’ll also walk you through how you can protect custom machine learning models through encryption, and preview your model performance in Xcode.","tags":[],"title":"Use model deployment and security with Core ML","url":"\/documentation\/wwdc20-10152-use-model-deployment-and-security-with-core-ml\/"},{"category":"","section":"documentation","slug":"wwdc20-10151-whats-new-in-carekit","summary":"Build feature-rich research and care apps with CareKit: Learn about the latest advancements to our health framework, including new views for its modular architecture, improvements to the data store, and tighter integration with other frameworks on iOS. And discover how the open-source community continues to leverage CareKit to allow developers to push the boundaries of digital health — all while preserving privacy.","tags":[],"title":"What’s new in CareKit","url":"\/documentation\/wwdc20-10151-whats-new-in-carekit\/"},{"category":"","section":"documentation","slug":"wwdc20-10149-structure-your-app-for-swiftui-previews","summary":"When you use SwiftUI previews during development, you can quickly create apps that are more flexible and maintainable. Discover ways to improve the preview experience by making small tweaks to your project. Find out how to preview multiple files at once, how to manage data flow for previews, and how to use sample data while previewing. We’ll also give you strategies for defining view inputs to make them more previewable and testable.","tags":[],"title":"Structure your app for SwiftUI previews","url":"\/documentation\/wwdc20-10149-structure-your-app-for-swiftui-previews\/"},{"category":"","section":"documentation","slug":"wwdc20-10148-inspect-modify-and-construct-pencilkit-drawings","summary":"Make Apple Pencil an even more useful tool for drawing and writing within your app. With PencilKit, you can delve into the strokes, inks, paths, and points that comprise a drawing, use these to build features that use recognition, and modify drawings in response to input. Discover how you can dynamically generate shapes and drawings and learn more about APIs like PKDrawings and PKStrokes.","tags":[],"title":"Inspect, modify, and construct PencilKit drawings","url":"\/documentation\/wwdc20-10148-inspect-modify-and-construct-pencilkit-drawings\/"},{"category":"","section":"documentation","slug":"wwdc20-10147-distribute-binary-frameworks-as-swift-packages","summary":"Discover how you can add third-party frameworks to your app and keep them up to date using Swift packages in Xcode. We’ll show you how to author packages that reference frameworks, explain binary targets and how to specify them in your package manifest file, and demonstrate how to compute checksums so that your clients always get the exact binary you expect.","tags":[],"title":"Distribute binary frameworks as Swift packages","url":"\/documentation\/wwdc20-10147-distribute-binary-frameworks-as-swift-packages\/"},{"category":"","section":"documentation","slug":"wwdc20-10146-configure-and-link-your-app-clips","summary":"App Clips are small parts of an app that offer a streamlined, direct experience and help people get what they need at the right time. Learn how you can invoke an App Clip through real-world experiences like App Clip Codes, NFC, and QR codes, or have them appear digitally through apps like Maps or Safari. We’ll show you how to handle links in your App Clip and demonstrate how to set up your associated domains. And discover how you can configure App Clip experiences in App Store Connect, add App Clip banners to your website, and thoroughly test your App Clips through TestFlight.","tags":[],"title":"Configure and link your App Clips","url":"\/documentation\/wwdc20-10146-configure-and-link-your-app-clips\/"},{"category":"","section":"documentation","slug":"wwdc20-10145-design-for-game-center","summary":"Get your game’s interface ready for Game Center. We’ll show you how to deliver personalized touches to the GameKit interface that provide a rich experience for players, with features like achievements, leaderboards, and multiplayer gaming. Learn how to customize your game’s access point, design collectible card-style achievements and multiple leaderboards, and adapt your interface for all platforms and orientations.","tags":[],"title":"Design for Game Center","url":"\/documentation\/wwdc20-10145-design-for-game-center\/"},{"category":"","section":"documentation","slug":"wwdc20-10143-whats-new-in-mac-catalyst","summary":"Discover the latest updates to Mac Catalyst and find out how you can bring your iPadOS app to the Mac. Explore enhancements to the application lifecycle, integrate new extensions into your apps, and learn how the new look and feel of macOS impacts Mac Catalyst apps. Get a taste of the new Optimized for Mac mode. And learn more about all the improvements — including framework availability and beautiful new designs — that make bringing your iPad app to the Mac easier than ever.","tags":[],"title":"What’s new in Mac Catalyst","url":"\/documentation\/wwdc20-10143-whats-new-in-mac-catalyst\/"},{"category":"","section":"documentation","slug":"wwdc20-10142-build-scalable-enterprise-app-suites","summary":"Learn how to build focused enterprise apps that work well together. In this session, we’ll introduce you to Apple Retail’s suite of enterprise apps, which help employees interact with customers, track operations, manage stores, and stay connected. Discover how Apple Retail created a unified set of apps by adopting Swift Packages and testing for app scalability. And explore how managing apps in production with configurations can help tailor app suites to different regions and locations.","tags":[],"title":"Build scalable enterprise app suites","url":"\/documentation\/wwdc20-10142-build-scalable-enterprise-app-suites\/"},{"category":"","section":"documentation","slug":"wwdc20-10140-build-locationaware-enterprise-apps","summary":"Develop location-aware enterprise apps for your business and personalize your employee’s everyday experience. Learn how Apple built the Caffe Macs app for its on-campus cafeterias using iBeacons and Location Services and how you can apply these tools and frameworks to your own apps, while preserving employee privacy. From there, discover how you can use localization to deliver a great experience for your international employees.","tags":[],"title":"Build location-aware enterprise apps","url":"\/documentation\/wwdc20-10140-build-locationaware-enterprise-apps\/"},{"category":"","section":"documentation","slug":"wwdc20-10139-leverage-enterprise-identity-and-authentication","summary":"Empower your organization with the right tools while protecting privacy and security. Discover Apple’s identity management tools for enterprise, and how they can help you create a smoother experience for users when signing in to devices, apps and websites. We’ll show you how to take advantage of Federated Authentication and Single Sign-on extensions, including changes to Apple’s built-in Kerberos extension. And explore our other platform tools for enterprise users, including macOS account types and Shared iPad for Business.","tags":[],"title":"Leverage enterprise identity and authentication","url":"\/documentation\/wwdc20-10139-leverage-enterprise-identity-and-authentication\/"},{"category":"","section":"documentation","slug":"wwdc20-10138-discover-appleseed-for-it-and-managed-software-updates","summary":"With AppleSeed for IT, you can help your school or business test pre-release versions of Apple software and provide valuable feedback directly to Apple. We’ll guide you through getting started in AppleSeed for IT and provide insight on how to file great feedback collaboratively within your organization using the new Teams feature in Feedback Assistant. You’ll also learn more about Managed Software Updates in macOS Big Sur, including how to delay major updates or security and system files for employees’ machines while you certify the release on their systems.","tags":[],"title":"Discover AppleSeed for IT and Managed Software Updates","url":"\/documentation\/wwdc20-10138-discover-appleseed-for-it-and-managed-software-updates\/"},{"category":"","section":"documentation","slug":"wwdc20-10120-streamline-your-app-clip","summary":"App Clips are best when they provide an “in the moment” experience for people using them, like ordering your favorite refreshing beverage or paying for parking. We’ll share guidelines and best practices for building focused and consistent App Clips, show you how to streamline transaction experiences by taking advantage of technologies like App Clip notifications and location confirmation, and explore how you can help people move from your App Clip over to your full app.","tags":[],"title":"Streamline your App Clip","url":"\/documentation\/wwdc20-10120-streamline-your-app-clip\/"},{"category":"","section":"documentation","slug":"wwdc20-10119-introduction-to-swiftui","summary":"Explore the world of declarative-style programming: Discover how to build a fully-functioning SwiftUI app from scratch as we explain the benefits of writing declarative code and how SwiftUI and Xcode can combine forces to help you build great apps, faster.","tags":[],"title":"Introduction to SwiftUI","url":"\/documentation\/wwdc20-10119-introduction-to-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc20-10118-create-app-clips-for-other-businesses","summary":"Create App Clips for table reservations, food ordering, and more on behalf of brands, businesses, or services that appear within your app. We’ll show you how you can deliver customized experiences for each business, offering them a unique look, invocation card, and icon — all within a single App Clips binary. Learn best practices for uploading unique metadata, handling links, routing notifications, and keeping track of session states. And discover different types of icons in the context of App Clips, where they appear, and how to customize them.","tags":[],"title":"Create App Clips for other businesses","url":"\/documentation\/wwdc20-10118-create-app-clips-for-other-businesses\/"},{"category":"","section":"documentation","slug":"wwdc20-10117-accessibility-design-for-mac-catalyst","summary":"Make your Mac Catalyst app accessible to all — and bring those improvements back to your iPad app. Discover how a great accessible iPad app automatically becomes a great accessible Mac app when adding support for Mac Catalyst. Learn how to further augment your experience with support for mouse and keyboard actions and accessibility element grouping and navigation. And explore how to use new Accessibility Inspector features to test your app and iterate to create a truly great experience for everyone.","tags":[],"title":"Accessibility design for Mac Catalyst","url":"\/documentation\/wwdc20-10117-accessibility-design-for-mac-catalyst\/"},{"category":"","section":"documentation","slug":"wwdc20-10116-voiceover-efficiency-with-custom-rotors","summary":"Discover how you can integrate custom rotors and help people who use VoiceOver navigate complex situations within your app. Learn how custom rotors can help people explore even the most intricate interfaces, explore how to implement a custom rotor, and find out how rotors can improve navigation for someone who relies on VoiceOver.","tags":[],"title":"VoiceOver efficiency with custom rotors","url":"\/documentation\/wwdc20-10116-voiceover-efficiency-with-custom-rotors\/"},{"category":"","section":"documentation","slug":"wwdc20-10115-autofill-everywhere","summary":"Discover how to implement AutoFill in your app and help people enter their information into fields easily, privately, and securely. Learn how to help the system to give better suggestions that tailor to your app’s functionality: offer smart location suggestions within a navigation app, for example, or provide a private way to input contact information into fields from the QuickType bar.","tags":[],"title":"AutoFill everywhere","url":"\/documentation\/wwdc20-10115-autofill-everywhere\/"},{"category":"","section":"documentation","slug":"wwdc20-10114-ipad-and-iphone-apps-on-apple-silicon-macs","summary":"Apple silicon Macs can run many iPad and iPhone apps as-is, and these apps will be made available to users on the Mac through the Mac App Store. Discover how iPad and iPhone apps run on Apple silicon Macs, and the factors that make your apps come across better. Learn how to test your app for the Mac, and hear about your options for distribution of your apps.","tags":[],"title":"iPad and iPhone apps on Apple silicon Macs","url":"\/documentation\/wwdc20-10114-ipad-and-iphone-apps-on-apple-silicon-macs\/"},{"category":"","section":"documentation","slug":"wwdc20-10113-build-local-push-connectivity-for-restricted-networks","summary":"Leverage local push connectivity and deliver notifications from your application server to devices on networks without an internet connection. Learn how to construct notifications for apps running in restricted network environments, helping people communicate with the same reliability and experience they would expect when connected to the internet. We’ll explore the technical details for this technology, when you might want to use it, and how to implement it in your app.","tags":[],"title":"Build local push connectivity for restricted networks","url":"\/documentation\/wwdc20-10113-build-local-push-connectivity-for-restricted-networks\/"},{"category":"","section":"documentation","slug":"wwdc20-10111-boost-performance-and-security-with-modern-networking","summary":"Speed up your app and make it more nimble, private and secure with modern networking APIs. Learn about networking protocols like IPv6, HTTP\/2, TLS 1.3 and Encrypted DNS, and how incorporating these within your app and server can provide faster performance and reduce both your power consumption and thermal impact. In addition, discover how adopting the latest security protocols can help you better protect privacy within your app.","tags":[],"title":"Boost performance and security with modern networking","url":"\/documentation\/wwdc20-10111-boost-performance-and-security-with-modern-networking\/"},{"category":"","section":"documentation","slug":"wwdc20-10110-support-local-network-privacy-in-your-app","summary":"Local network privacy provides added transparency when apps connect to devices on a person’s home network. If your app interacts with devices using Bonjour or other local networking protocols, you must add support for local network privacy permissions in iOS 14. Learn more about the new permission flow and follow along as we guide you through the necessary steps to update your app. We’ll also provide you with some best practices to help you create a frictionless privacy experience.","tags":[],"title":"Support local network privacy in your app","url":"\/documentation\/wwdc20-10110-support-local-network-privacy-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10109-support-hardware-keyboards-in-your-app","summary":"When people use hardware keyboards with your app, they’re not only getting a more tactile and familiar typing experience — they can quickly navigate or use keyboard shortcuts, too. Discover how you can best support hardware keyboards for your iPadOS and Mac Catalyst apps: We’ll demystify the responder chain and show you best practices for implementing custom keyboard shortcuts. Learn how easy it is to get up and running with common system keyboard shortcuts, use modifier flags with gesture recognizers, and leverage the raw keyboard event API to respond to key down and key up events.","tags":[],"title":"Support hardware keyboards in your app","url":"\/documentation\/wwdc20-10109-support-hardware-keyboards-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10107-whats-new-in-pencilkit","summary":"PencilKit helps power creativity, writing, drawing, and animation in your iPad apps. Explore the latest improvements to our drawing and annotation framework, and discover how you can take advantage of APIs like PKToolPicker, PKCanvasView, and PKStroke to support new features in illustration and writing apps.","tags":[],"title":"What’s new in PencilKit","url":"\/documentation\/wwdc20-10107-whats-new-in-pencilkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10106-meet-scribble-for-ipad","summary":"Scribble offers a lightweight, ergonomic, and enjoyable way of entering text on iPad with Apple Pencil. Discover how people can take advantage of Scribble and handwritten text in apps that use standard text input controls or that implement a custom text editing experience. You’ll learn how it integrates into TextKit, and when you’ll need to adopt the new UIScribbleInteraction and UIIndirectScribbleInteraction APIs to provide a delightful and consistent experience with Scribble in your app.","tags":[],"title":"Meet Scribble for iPad","url":"\/documentation\/wwdc20-10106-meet-scribble-for-ipad\/"},{"category":"","section":"documentation","slug":"wwdc20-10105-build-for-ipad","summary":"Learn how to improve iPad apps to leverage the increased screen size and additional features of iPadOS, and help people accomplish more with their devices. Discover how you can build detailed multi-column layouts and integrate lists into your app with little adjustment to your existing code. We’ll also explore reducing modality within your views to make it easier to navigate your interface with fewer taps and touches.","tags":[],"title":"Build for iPad","url":"\/documentation\/wwdc20-10105-build-for-ipad\/"},{"category":"","section":"documentation","slug":"wwdc20-10104-adopt-the-new-look-of-macos","summary":"Make over your Mac apps: Discover how you can embrace the new design of macOS Big Sur and adopt its visual hierarchy, design patterns, and behaviors. We’ll explore the latest updates to AppKit around structural items and common controls, and show you how you can adapt more customized interfaces with just a bit of adoption work. And find out how you can incorporate custom accent colors and symbols to further personalize your app.","tags":[],"title":"Adopt the new look of macOS","url":"\/documentation\/wwdc20-10104-adopt-the-new-look-of-macos\/"},{"category":"","section":"documentation","slug":"wwdc20-10103-design-great-widgets","summary":"Widgets elevate timely information from your app to primary locations on iPhone, iPad and Mac. Discover the keys to designing glanceable widgets, developing a strong widget idea, and clearly communicating with content, color, sizing, layout, and typography.","tags":[],"title":"Design great widgets","url":"\/documentation\/wwdc20-10103-design-great-widgets\/"},{"category":"","section":"documentation","slug":"wwdc20-10100-meet-watch-face-sharing","summary":"Show off your watchOS app’s complications and create a watch face worth sharing. Learn how to share watch faces inside your watchOS and iOS apps or host them on the web for anyone to find and download. We’ll also explore best practices for using watch face preview images, and show you how to create a smooth installation experience.","tags":[],"title":"Meet Watch Face Sharing","url":"\/documentation\/wwdc20-10100-meet-watch-face-sharing\/"},{"category":"","section":"documentation","slug":"wwdc20-101-keynote","summary":"The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities to continue creating the most innovative apps in the world. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.","tags":[],"title":"Keynote","url":"\/documentation\/wwdc20-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc20-10099-explore-the-action-and-vision-app","summary":"It’s now easy to create an app for fitness or sports coaching that takes advantage of machine learning — and to prove it, we built our own. Learn how we designed the Action & Vision app using Object Detection and Action Classification in Create ML along with the new Body Pose Estimation, Trajectory Detection, and Contour Detection features in the Vision framework. Explore how you can create an immersive application for gameplay or training from setup to analysis and feedback. And follow along in Xcode with a full sample project.","tags":[],"title":"Explore the Action & Vision app","url":"\/documentation\/wwdc20-10099-explore-the-action-and-vision-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10098-whats-new-in-universal-links","summary":"Universal Links help people access your content, whether or not they have your app installed. Get the details on the latest updates for the Universal Links API, including support for Apple Watch and SwiftUI. Learn how you can reduce the size and complexity of your app-site-association file with enhanced pattern matching features like wildcards, substitution variables, and Unicode support. And discover how cached associated domains data will improve the initial launch experience for people using your app.","tags":[],"title":"What’s new in Universal Links","url":"\/documentation\/wwdc20-10098-whats-new-in-universal-links\/"},{"category":"","section":"documentation","slug":"wwdc20-10097-advances-in-uicollectionview","summary":"Learn about new features of UICollectionView that make it easier to use and unlock powerful new functionality. We’ll show you how to use section snapshots with your diffable data source to create outlines that can expand and collapse, and introduce you to building lists with compositional layout to create UITableView-like interfaces with a collection view. And discover modern techniques for dequeuing cells and configuring their content and styling.","tags":[],"title":"Advances in UICollectionView","url":"\/documentation\/wwdc20-10097-advances-in-uicollectionview\/"},{"category":"","section":"documentation","slug":"wwdc20-10096-explore-packages-and-projects-with-xcode-playgrounds","summary":"Xcode Playgrounds helps developers explore Swift and framework APIs and provides a scratchpad for rapid experimentation. Learn how Xcode Playgrounds utilizes Xcode’s modern build system, provides improved support for resources, and integrates into your projects, frameworks, and Swift packages to improve your documentation and development workflow.","tags":[],"title":"Explore Packages and Projects with Xcode Playgrounds","url":"\/documentation\/wwdc20-10096-explore-packages-and-projects-with-xcode-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc20-10095-the-push-notifications-primer","summary":"Help people get the most out of your app with push notifications for important events and updates — and by delivering up-to-date data in the background, so that it is ready when they open your app. Discover how you can use notifications and alert people to timely and relevant information. Learn the differences between alert and background notifications, how to adopt them in your apps, and avoid mistakes by using the right APIs for the job.","tags":[],"title":"The Push Notifications primer","url":"\/documentation\/wwdc20-10095-the-push-notifications-primer\/"},{"category":"","section":"documentation","slug":"wwdc20-10094-handle-trackpad-and-mouse-input","summary":"Provide a more versatile experience when you optimize your iPad or Mac Catalyst app for indirect input from trackpads and mice. Discover how to make your app responsive to new events from these devices. Learn how to work with pointer movement, enable pointer locking, handle scroll input and trackpad gestures, and accept or reject events on your gesture recognizers. We’ll also show you how to implement advanced features like changing gesture behaviors with keyboard modifiers or pointing device buttons to delight pro users and bring a richer experience to your app.","tags":[],"title":"Handle trackpad and mouse input","url":"\/documentation\/wwdc20-10094-handle-trackpad-and-mouse-input\/"},{"category":"","section":"documentation","slug":"wwdc20-10093-build-for-the-ipados-pointer","summary":"Help people who use iPad with a Magic Keyboard, mouse, trackpad or other input device get the most out of your app. We’ll show you how to add customizations to the pointer on iPad using pointer interaction APIs, create pointer effects for your buttons and custom views, and change the pointer shape in specific areas of your app to highlight them.","tags":[],"title":"Build for the iPadOS pointer","url":"\/documentation\/wwdc20-10093-build-for-the-ipados-pointer\/"},{"category":"","section":"documentation","slug":"wwdc20-10091-write-tests-to-fail","summary":"Plan for failure: Design great tests to help you find and diagnose even the toughest bugs. Learn how to improve your automated tests with XCTest to find hidden issues in even the best code. We’ll explain how to prepare your tests for failure to make triaging issues easier, letting you solve interface issues and deliver fixes quickly.","tags":[],"title":"Write tests to fail","url":"\/documentation\/wwdc20-10091-write-tests-to-fail\/"},{"category":"","section":"documentation","slug":"wwdc20-10090-decode-prores-with-avfoundation-and-videotoolbox","summary":"Make decoding and displaying ProRes content easier in your Mac app: Learn how to implement an optimal graphics pipeline by leveraging AVFoundation and VideoToolbox’s decoding capabilities. We’ll share best practices and performance considerations for your app, show you how to integrate Afterburner cards into your pipeline, and walk through how you can display decoded frames using Metal.","tags":[],"title":"Decode ProRes with AVFoundation and VideoToolbox","url":"\/documentation\/wwdc20-10090-decode-prores-with-avfoundation-and-videotoolbox\/"},{"category":"","section":"documentation","slug":"wwdc20-10089-discover-core-image-debugging-techniques","summary":"Find and fix rendering and optimization issues in your Core Image pipeline with Xcode environment variable. Discover how you can set the environment variable for visualizing your Core Image graphs. You’ll learn how to generate Core Image graphs and how to interpret them to discover memory, color, and performance issues and better improve and optimize your Core Image pipeline.","tags":[],"title":"Discover Core Image debugging techniques","url":"\/documentation\/wwdc20-10089-discover-core-image-debugging-techniques\/"},{"category":"","section":"documentation","slug":"wwdc20-10088-design-for-intelligence-discover-new-opportunities","summary":"Learn how extensibility is key to surfacing the most important features of your app into new entry points of the operating system. And discover how — by breaking out of the constraints of a monolithic container — your app can see increased engagement through suggestions on the lock screen, in Calendar, and by enabling voice interactions.","tags":[],"title":"Design for intelligence: Discover new opportunities","url":"\/documentation\/wwdc20-10088-design-for-intelligence-discover-new-opportunities\/"},{"category":"","section":"documentation","slug":"wwdc20-10087-design-for-intelligence-make-friends-with-the-system","summary":"The building blocks of the intelligent system are simple: Define, learn, execute. Discover how you can use intents to define your app’s key features, create donations to help the system learn and make predictions about the future, and implement extensibility to ensure your app is ready to execute at just the right moment. Learn from teams at Apple about how their technologies use intents and donations in different ways, all for the same goal: to make the everyday easier.","tags":[],"title":"Design for intelligence: Make friends with “The System”","url":"\/documentation\/wwdc20-10087-design-for-intelligence-make-friends-with-the-system\/"},{"category":"","section":"documentation","slug":"wwdc20-10086-design-for-intelligence-apps-evolved","summary":"Intelligence is a core part of building a great modern app. App extensions, Siri suggestions, voice, widgets, App Clips — we’ve designed all of these features to help make everyday tasks easier for people who use our platforms. Learn about the origins of the intelligent system experience, and find out how integrating intelligently with the system can help make your app more convenient, relevant, and intuitive, making your features the focus.","tags":[],"title":"Design for intelligence: Apps, evolved","url":"\/documentation\/wwdc20-10086-design-for-intelligence-apps-evolved\/"},{"category":"","section":"documentation","slug":"wwdc20-10084-feature-your-actions-in-the-shortcuts-app","summary":"Learn foolproof ways to surface your app’s actions in the Shortcuts app — and help people quickly set up powerful, personalized shortcuts using system intelligence. We’ll detail how to configure your intents to appear in the new Automation Suggestions, explore how the system surfaces your app’s actions for people based on their everyday app usage, and show you how you can make sure your app appears in all the right places within the Shortcuts app.","tags":[],"title":"Feature your actions in the Shortcuts app","url":"\/documentation\/wwdc20-10084-feature-your-actions-in-the-shortcuts-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10083-integrate-your-app-with-wind-down","summary":"Discover how you can help people get ready for a good night’s sleep by surfacing your app’s actions for Wind Down Shortcuts, part of the new Sleep experience. Learn more about how Wind Down works. Find out how you can build intents that expose features in your app like guided meditations, soothing audio stories, or many other categories. And explore how you can surface those features on someone’s device before bedtime.","tags":[],"title":"Integrate your app with Wind Down","url":"\/documentation\/wwdc20-10083-integrate-your-app-with-wind-down\/"},{"category":"","section":"documentation","slug":"wwdc20-10081-whats-new-in-metrickit","summary":"Quickly detect power and performance regressions and troubleshoot app issues when you adopt MetricKit. Discover the latest trackable metrics for your app, including CPU instructions, animation hitches, and exit reasons. And learn about diagnostics in MetricKit that can help you troubleshoot hangs, crashes, and disk writes.","tags":[],"title":"What’s new in MetricKit","url":"\/documentation\/wwdc20-10081-whats-new-in-metrickit\/"},{"category":"","section":"documentation","slug":"wwdc20-10078-why-is-my-app-getting-killed","summary":"Put on your detective’s hat: It’s time to track down those unruly app terminations. We’ll outline the six major reasons apps terminate in the background, and show you how you can use MetricKit to to help you identify key statistics to drive down the rate of terminations. Learn how to prevent problems and recover gracefully from inevitable jetsams, identify any underlying issues, and take actionable measures to fix them. And discover the importance of implementing state restoration to make terminations less jarring — especially where text entry or playback is concerned.","tags":[],"title":"Why is my app getting killed?","url":"\/documentation\/wwdc20-10078-why-is-my-app-getting-killed\/"},{"category":"","section":"documentation","slug":"wwdc20-10077-eliminate-animation-hitches-with-xctest","summary":"Animations can dramatically enhance the user experience of your app, provide a sense of direct manipulation, and help people to better understand the results of their actions. Animation hitches can break that experience. Discover how to use XCTest to detect interruptions to smooth scrolling and animations, and learn how to catch regressions before they affect the people relying on your app.","tags":[],"title":"Eliminate animation hitches with XCTest","url":"\/documentation\/wwdc20-10077-eliminate-animation-hitches-with-xctest\/"},{"category":"","section":"documentation","slug":"wwdc20-10076-diagnose-performance-issues-with-the-xcode-organizer","summary":"Analyze aggregated power and performance data from multiple versions of your app with just a few clicks. We’ll introduce you to the latest version of the Xcode Organizer and its interactive interface, where you can easily compare and contrast app metrics across releases. Explore disk write diagnostics and scroll hitch metrics, and learn how you can use these to offer better performance, reduce battery consumption, and improve device health for people using your app.","tags":[],"title":"Diagnose performance issues with the Xcode Organizer","url":"\/documentation\/wwdc20-10076-diagnose-performance-issues-with-the-xcode-organizer\/"},{"category":"","section":"documentation","slug":"wwdc20-10074-decipher-and-deal-with-common-siri-errors","summary":"“Sorry, there was a problem with the app…”","tags":[],"title":"Decipher and deal with common Siri errors","url":"\/documentation\/wwdc20-10074-decipher-and-deal-with-common-siri-errors\/"},{"category":"","section":"documentation","slug":"wwdc20-10073-empower-your-intents","summary":"When you create an intent for your app, you can help people accomplish tasks quickly by using it as part of a shortcut or when asking Siri. Learn how to adopt Siri more easily than ever when you use SiriKit’s in-app intent handling, and how to improve Siri performance with existing Intents app extensions. We’ll also show you how to leverage features in SiriKit to improve the experience of using your actions — like including images and subtitles for a rich conversational experience. And find out how to fine tune support for intents in your codebase to make your life as a developer easier.","tags":[],"title":"Empower your intents","url":"\/documentation\/wwdc20-10073-empower-your-intents\/"},{"category":"","section":"documentation","slug":"wwdc20-10071-evaluate-and-optimize-voice-interaction-for-your-app","summary":"Optimize your app for Siri and give people a more natural way to interact with the features of your app. We’ll compare the different Siri technologies and help you identify the right one for you and your needs, show you how to get started with building for conversational interactions, and explore best practices for making your integration truly excel.","tags":[],"title":"Evaluate and optimize voice interaction for your app","url":"\/documentation\/wwdc20-10071-evaluate-and-optimize-voice-interaction-for-your-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10068-whats-new-in-sirikit-and-shortcuts","summary":"Get a quick overview of everything new in Siri and Shortcuts to help people get more out of your app: We’ll demonstrate how you can design visually rich conversations, feel at home with the operating system by designing for the new compact Siri UI, and provide an overview of all the ways we’ve made it even easier for people to organize and set up actions from your apps.","tags":[],"title":"What’s new in SiriKit and Shortcuts","url":"\/documentation\/wwdc20-10068-whats-new-in-sirikit-and-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc20-10063-background-execution-demystified","summary":"Are you mystified about why and when your app gets background processing time? No need for a crystal ball! We’ll show you how to tackle the seven major factors that impact background runtime, and how you can integrate background modes that help your app come back to the foreground faster, run more smoothly, and reduce battery drain.","tags":[],"title":"Background execution demystified","url":"\/documentation\/wwdc20-10063-background-execution-demystified\/"},{"category":"","section":"documentation","slug":"wwdc20-10061-expand-your-sirikit-media-intents-to-more-platforms","summary":"Discover how you can enable Siri summoning for your music or audio app using SiriKit Media Intents. We’ll walk you through how to add Siri support to your music, podcast, or other audio service on more of our platforms, including HomePod and Apple TV, so people can start listening by just asking Siri. And learn about new APIs that let you support alternative results, helping people listen more quickly without leaving the Siri interface.","tags":[],"title":"Expand your SiriKit Media Intents to more platforms","url":"\/documentation\/wwdc20-10061-expand-your-sirikit-media-intents-to-more-platforms\/"},{"category":"","section":"documentation","slug":"wwdc20-10060-design-high-quality-siri-media-interactions","summary":"Demystify the art of designing Siri experiences for your music and audio apps: We’ll show you how to think about crafting great interactions and how you can provide custom vocabulary so that Siri can respond with more accuracy and personality. We’ll also explain how you can debug common errors and test your intents using the same methods Apple’s own Siri team employs.","tags":[],"title":"Design high quality Siri media interactions","url":"\/documentation\/wwdc20-10060-design-high-quality-siri-media-interactions\/"},{"category":"","section":"documentation","slug":"wwdc20-10057-identify-trends-with-the-power-and-performance-api","summary":"Track your app’s performance metrics in custom team dashboards, bug reporting systems, and other custom workflows with the Power and Performance Metrics and Diagnostics API. Explore how you can access the same data that drives the Power and Performance analysis tools in Xcode to quickly identify trends and regressions. Learn how to leverage diagnostic signatures and logs — including call stack trees — to prioritize and debug issues. And discover how you can integrate this API with your development team’s existing tools to troubleshoot issues quickly, offering better overall performance for people who use your app.","tags":[],"title":"Identify trends with the Power and Performance API","url":"\/documentation\/wwdc20-10057-identify-trends-with-the-power-and-performance-api\/"},{"category":"","section":"documentation","slug":"wwdc20-10056-optimize-the-interface-of-your-mac-catalyst-app","summary":"Discover how to tailor your Mac Catalyst app so that it looks and feels even more at home on the Mac by using the new “Optimize Interface for Mac” option in Xcode. Explore new layout and appearance options for Catalyst apps, and learn how they can provide you with graphical performance gains, sharper text, and an interface designed specifically for Apple’s desktops and laptops. We’ll show you how to take advantage of these options and provide best practices for organizing your code when developing for multiple platforms.","tags":[],"title":"Optimize the interface of your Mac Catalyst app","url":"\/documentation\/wwdc20-10056-optimize-the-interface-of-your-mac-catalyst-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10052-build-with-ios-pickers-menus-and-actions","summary":"Build iPhone and iPad apps with fluid interfaces and easily-accessible contextual information. We’ll show you how to integrate the latest UIKit controls into your app to best take advantage of menus, date pickers, page controls, and segmented controllers. Learn how to adopt Menus throughly your user interface, and explore how UIAction can help unify your event handling.","tags":[],"title":"Build with iOS pickers, menus and actions","url":"\/documentation\/wwdc20-10052-build-with-ios-pickers-menus-and-actions\/"},{"category":"","section":"documentation","slug":"wwdc20-10049-keep-your-complications-up-to-date","summary":"Time is of the essence: Discover how your Apple Watch complications can provide relevant information throughout the day and help people get the information they need, when they need it. Learn best practices for capitalizing on your app’s runtime opportunities, incorporating APIs like background app refresh and URLSession, and implementing well-timed push notifications.","tags":[],"title":"Keep your complications up to date","url":"\/documentation\/wwdc20-10049-keep-your-complications-up-to-date\/"},{"category":"","section":"documentation","slug":"wwdc20-10048-build-complications-in-swiftui","summary":"Spice up your graphic complications on Apple Watch using SwiftUI. We’ll teach you how to use custom SwiftUI views in complications on watch faces like Meridian and Infograph, look at some best practices when creating your complications, and show you how to preview your work in Xcode 12.","tags":[],"title":"Build complications in SwiftUI","url":"\/documentation\/wwdc20-10048-build-complications-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc20-10047-enable-encrypted-dns","summary":"When people access the web within your app, their privacy is paramount. Safeguard that information by leveraging encrypted DNS across our platforms to deliver private and secure connectivity within your app. Discover how you can use system DNS settings to connect to encrypted servers or enable encrypted DNS within an app using standard networking APIs.","tags":[],"title":"Enable encrypted DNS","url":"\/documentation\/wwdc20-10047-enable-encrypted-dns\/"},{"category":"","section":"documentation","slug":"wwdc20-10046-create-complications-for-apple-watch","summary":"When you add complications to a Watch app, people can access glanceable and up to date information directly from their watch face. We’ll show you how to create and build complications from the ground up and introduce you to Multiple Complications. Learn how to construct timelines, use families and templates, and discover best practices on crafting a thorough complication experience.","tags":[],"title":"Create complications for Apple Watch","url":"\/documentation\/wwdc20-10046-create-complications-for-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc20-10045-advances-in-diffable-data-sources","summary":"Diffable data sources dramatically simplify the work involved in managing and updating collection and table views to create dynamic and responsive experiences in your apps. Discover how you can use section snapshots to efficiently build lists and outline collection views for iOS and iPadOS and provide support for implementing the sidebar in an iPad app. We’ll also show you how to simplify cell reordering using UICollectionViewDiffableDataSource to help you streamline your code and build app interfaces more quickly.","tags":[],"title":"Advances in diffable data sources","url":"\/documentation\/wwdc20-10045-advances-in-diffable-data-sources\/"},{"category":"","section":"documentation","slug":"wwdc20-10043-build-an-action-classifier-with-create-ml","summary":"Discover how to build Action Classification models in Create ML. With a custom action classifier, your app can recognize and understand body movements in real-time from videos or through a camera. We’ll show you how to use samples to easily train a Core ML model to identify human actions like jumping jacks, squats, and dance moves. Learn how this is powered by the Body Pose estimation features of the Vision Framework. Get inspired to create apps that can provide coaching for fitness routines, deliver feedback on athletic form, and more.","tags":[],"title":"Build an Action Classifier with Create ML","url":"\/documentation\/wwdc20-10043-build-an-action-classifier-with-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc20-10042-build-swiftui-apps-for-tvos","summary":"Add a new dimension to your tvOS app with SwiftUI. We’ll show you how to build layouts powered by SwiftUI and customize your interface with custom buttons, provide more functionality in your app with a context menu, check if views are focused, and manage default focus.","tags":[],"title":"Build SwiftUI apps for tvOS","url":"\/documentation\/wwdc20-10042-build-swiftui-apps-for-tvos\/"},{"category":"","section":"documentation","slug":"wwdc20-10041-whats-new-in-swiftui","summary":"SwiftUI can help you build better and more powerful apps for iPhone, iPad, Mac, Apple Watch, and Apple TV.  Learn more about the latest refinements to SwiftUI, including interface improvements like outlines, grids, and toolbars. Take advantage of SwiftUI’s enhanced support across Apple frameworks to enable features like Sign In with Apple. Discover new visual effects, as well as new controls and styles. And find out how the new app and scene APIs enable you to create apps entirely in SwiftUI, as well as custom complications and all new widgets.","tags":[],"title":"What’s new in SwiftUI","url":"\/documentation\/wwdc20-10041-whats-new-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc20-10040-data-essentials-in-swiftui","summary":"Data is a complex part of any app, but SwiftUI makes it easy to ensure a smooth, data-driven experience from prototyping to production. Discover @State and @Binding, two powerful tools that can preserve and seamlessly update your Source of Truth. We’ll also show you how ObservableObject lets you connect your views to your data model. Learn about some tricky challenges and cool new ways to solve them — directly from the experts!","tags":[],"title":"Data Essentials in SwiftUI","url":"\/documentation\/wwdc20-10040-data-essentials-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc20-10039-build-documentbased-apps-in-swiftui","summary":"Learn how to build a document-based app entirely in SwiftUI! We’ll walk you through the DocumentGroup API and how it composes with your App and Scenes, allowing you to add out-of-the-box support for document management — such as document browsing and standard commands — no heavy lifting required. You’ll learn to set up Universal Type Identifiers as well as gain understanding into what makes a top-notch document-based app.","tags":[],"title":"Build document-based apps in SwiftUI","url":"\/documentation\/wwdc20-10039-build-documentbased-apps-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc20-10037-app-essentials-in-swiftui","summary":"Thanks to the new App protocol, SwiftUI now supports building entire apps! See how Apps, Scenes, and Views fit together. Learn how easy it is to implement the features people expect from a best-in-class product while saving time and reducing complexity. Easily add expected functionality to your interface using the new commands modifier, and explore the ins and outs of the new WindowGroup API.","tags":[],"title":"App essentials in SwiftUI","url":"\/documentation\/wwdc20-10037-app-essentials-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc20-10036-widgets-codealong-part-3-advancing-timelines","summary":"Take your widget to the next level as we embark upon the third and final stage of the widgets code-along. Pick up where you left off in Part 2 or start with the Part 3 starter project to go warp speed ahead. We’ll explore advanced concepts for widgets, timelines, and configuration. Learn how to load in-process and background URLs and link directly to content within your app. And discover how to create multiple widgets that explore different features within your app, as well as making your widget dynamically configurable.","tags":[],"title":"Widgets Code-along, part 3: Advancing timelines","url":"\/documentation\/wwdc20-10036-widgets-codealong-part-3-advancing-timelines\/"},{"category":"","section":"documentation","slug":"wwdc20-10035-widgets-codealong-part-2-alternate-timelines","summary":"Our code-along continues as we help our widget rewrite the future and travel into an alternate timeline. Continue where you left off from Part 1, or traverse time and space and begin with the Part 2 starter project to jump right into the action. Find out how you can integrate system intelligence into your widgets to help them dynamically change at different points during the day and surface the most relevant information. Explore core timeline concepts, support multiple widget families, and learn how to make your widget configurable.","tags":[],"title":"Widgets Code-along, part 2: Alternate timelines","url":"\/documentation\/wwdc20-10035-widgets-codealong-part-2-alternate-timelines\/"},{"category":"","section":"documentation","slug":"wwdc20-10034-widgets-codealong-part-1-the-adventure-begins","summary":"Take your app on a most wondrous adventure to the home and Today screens of iPhone, iPad, and Mac. Grab the starter project and code along with us! We will guide you through the process of creating a widget for your app from start to finish so that you can provide people with beautiful views and glanceable information in an easily-accessible place. Discover how to create a widget project, learn fundamental concepts for widgets and their structure, configure the widget and its provider, and start exploring timeline concepts.","tags":[],"title":"Widgets Code-along, part 1: The adventure begins","url":"\/documentation\/wwdc20-10034-widgets-codealong-part-1-the-adventure-begins\/"},{"category":"","section":"documentation","slug":"wwdc20-10033-build-swiftui-views-for-widgets","summary":"Widgets are bite-sized pieces of information from your app that someone can choose to place on their home screen or Today view. Discover the process of building the views for a widget from scratch using SwiftUI. Brush up on the syntax that you’ll need for widget-specific construction and learn how to incorporate those commands and customize your widget’s interface for a great glanceable experience.","tags":[],"title":"Build SwiftUI views for widgets","url":"\/documentation\/wwdc20-10033-build-swiftui-views-for-widgets\/"},{"category":"","section":"documentation","slug":"wwdc20-10031-stacks-grids-and-outlines-in-swiftui","summary":"Display detailed data in your SwiftUI apps more quickly and efficiently with improved stacks and new list and outline views. Now available on iOS and iPadOS for the first time, outlines are a new multi-platform tool for expressing hierarchical data that work alongside stacks and lists. Learn how to use new and improved tools in SwiftUI to display more content on screen when using table views, create smooth-scrolling and responsive stacks, and build out list views for content that needs more than a vStack can provide. Take your layout options even further with the new grid view, as well as disclosure groups.","tags":[],"title":"Stacks, Grids, and Outlines in SwiftUI","url":"\/documentation\/wwdc20-10031-stacks-grids-and-outlines-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc20-10028-meet-widgetkit","summary":"Meet WidgetKit: the best way to bring your app’s most useful information directly to the home screen. We’ll show you what makes a great widget and take a look at WidgetKit’s features and functionality. Learn how to get started creating a widget, and find out how WidgetKit leverages the power of SwiftUI to provide a stateless experience. Discover how to harness your existing proactive technologies to make sure your widget surfaces relevant material. And create a Timeline that ensures your content is always fresh.","tags":[],"title":"Meet WidgetKit","url":"\/documentation\/wwdc20-10028-meet-widgetkit\/"},{"category":"","section":"documentation","slug":"wwdc20-10027-modern-cell-configuration","summary":"Discover new techniques for configuring collection view and table view cells to quickly build dynamic interfaces in your app. Explore configuration types you can use to easily populate cells with content and apply common styles. Take advantage of powerful APIs to customize the appearance of cells for different states. Find out about patterns and best practices that simplify your code, eliminate bugs, and improve performance.","tags":[],"title":"Modern cell configuration","url":"\/documentation\/wwdc20-10027-modern-cell-configuration\/"},{"category":"","section":"documentation","slug":"wwdc20-10026-lists-in-uicollectionview","summary":"Learn how to build lists and sidebars in your app with UICollectionView. Replace table view appearance while taking advantage of the full flexibility of compositional layout. Explore modular layout options and find out how they can unlock more design options for your apps than ever before. Find out how to combine table view-like lists with custom compositional layouts inside of a single UICollectionView. Discover how to work with lists, create richer cells, and customize your layout to create a well-designed presentation of information within your app.","tags":[],"title":"Lists in UICollectionView","url":"\/documentation\/wwdc20-10026-lists-in-uicollectionview\/"},{"category":"","section":"documentation","slug":"wwdc20-10022-create-a-seamless-speech-experience-in-your-apps","summary":"Augment your app’s accessibility experience with speech synthesis: Discover the best times and places to add speech APIs so that everyone who uses your app can benefit. Learn how to use AVSpeechSynthesizer to complement assistive technologies like VoiceOver, and when to implement alternative APIs. And we’ll show you how to route audio to the appropriate source and create apps that integrate speech seamlessly for all who need or want it.","tags":[],"title":"Create a seamless speech experience in your apps","url":"\/documentation\/wwdc20-10022-create-a-seamless-speech-experience-in-your-apps\/"},{"category":"","section":"documentation","slug":"wwdc20-10021-build-metalbased-core-image-kernels-with-xcode","summary":"Learn how to integrate and load Core Image kernels written in the Metal Shading Language into your application, and discover how you can apply these image filters to create unique effects. Explore how to use Xcode rules and naming conventions for Core Image kernels written in Metal Shading Language. We’ll explain how to best use Core Image APIs effectively and optimally with Metal and the Metal Shading Language.","tags":[],"title":"Build Metal-based Core Image kernels with Xcode","url":"\/documentation\/wwdc20-10021-build-metalbased-core-image-kernels-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc20-10020-make-your-app-visually-accessible","summary":"When you design with accessibility in mind, you empower everyone to use your app. Discover how to create an adaptive interface for your app that takes a thoughtful approach to color, provides readable text, and accommodates other visual settings to maintain a great experience throughout.","tags":[],"title":"Make your app visually accessible","url":"\/documentation\/wwdc20-10020-make-your-app-visually-accessible\/"},{"category":"","section":"documentation","slug":"wwdc20-10019-app-accessibility-for-switch-control","summary":"Switch Control is a powerful accessibility technology for anyone with very limited mobility. The feature is available natively on iOS, and you can create an even better Switch Control experience in your app with tips, tricks, and a few APIs. We’ll walk you through how people use Switch Control, as well as provide best practices for supporting it in your app effectively.","tags":[],"title":"App accessibility for Switch Control","url":"\/documentation\/wwdc20-10019-app-accessibility-for-switch-control\/"},{"category":"","section":"documentation","slug":"wwdc20-10017-core-data-sundries-and-maxims","summary":"Core Data is the central way to durably and persistently store information from your app — and we’re going to show you how to refine that implementation for even faster data ingest and fetching. Discover how you can improve data capture with batch insert, tailor fetch requests to your data needs, and react to notifications about changes in the persistent store.","tags":[],"title":"Core Data: Sundries and maxims","url":"\/documentation\/wwdc20-10017-core-data-sundries-and-maxims\/"},{"category":"","section":"documentation","slug":"wwdc20-10013-get-to-know-metal-function-pointers","summary":"Metal is a low-level, low-overhead hardware-accelerated graphics framework and shader application programming interface for producing stunning visual effects in applications. Discover how to make your shaders written in Metal Shading Language more programmable and extensible by using function pointers. Learn how to take advantage of this new feature for dynamic flow control in Metal shaders. Discover how to use function pointers to specify custom intersection functions in your ray tracing application. We’ll explain how function pointers allow several compilations models so you can balance GPU pipeline size against runtime performance.","tags":[],"title":"Get to know Metal function pointers","url":"\/documentation\/wwdc20-10013-get-to-know-metal-function-pointers\/"},{"category":"","section":"documentation","slug":"wwdc20-10012-discover-ray-tracing-with-metal","summary":"Achieve photorealistic 3D scenes in your apps and games through ray tracing — a core part of the Metal graphics framework and Shading Language. Discover the fundamentals of the Metal ray tracing API and Shading Language extensions for ray tracing, find out how to use them in your graphics apps and games, and learn how to take control of your kernels and combine them into a single compute kernel for optimal performance.","tags":[],"title":"Discover ray tracing with Metal","url":"\/documentation\/wwdc20-10012-discover-ray-tracing-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc20-10011-author-fragmented-mpeg4-content-with-avassetwriter","summary":"Transform your audio and video content into fragmented MPEG-4 files for a faster and smoother HLS streaming experience. Learn how to work with the fragmented MPEG-4 format, generate fragmented content from a movie, and set up AVAssetWriter to create fragments for HLS output.","tags":[],"title":"Author fragmented MPEG-4 content with AVAssetWriter","url":"\/documentation\/wwdc20-10011-author-fragmented-mpeg4-content-with-avassetwriter\/"},{"category":"","section":"documentation","slug":"wwdc20-10010-export-hdr-media-in-your-app-with-avfoundation","summary":"Discover how to author and export high dynamic range (HDR) content in your app using AVFoundation. Learn about high dynamic range and how you can take advantage of it in your app. We’ll show you how to implement feature sets that allow people to export HDR content, go over supported HDR formats, review current restrictions, and explore the Apple platforms that support HDR export.","tags":[],"title":"Export HDR media in your app with AVFoundation","url":"\/documentation\/wwdc20-10010-export-hdr-media-in-your-app-with-avfoundation\/"},{"category":"","section":"documentation","slug":"wwdc20-10009-edit-and-play-back-hdr-video-with-avfoundation","summary":"Find out how you can support HDR editing and playback in your macOS app, and how you can determine if a specific hardware configuration is eligible for HDR playback. We’ll show you how to use AVMutableVideoComposition with the built-in compositor and easily edit HDR content, explain how you can use Core Image’s built-in image filters to create your own AVMutableVideoComposition, and demonstrate how to create and use a custom compositor to enable HDR editing.","tags":[],"title":"Edit and play back HDR video with AVFoundation","url":"\/documentation\/wwdc20-10009-edit-and-play-back-hdr-video-with-avfoundation\/"},{"category":"","section":"documentation","slug":"wwdc20-10008-optimize-the-core-image-pipeline-for-your-video-app","summary":"Explore how you can harness the processing power of Core Image and optimize video performance within your app. We’ll show you how to build your Core Image pipeline for applying effects to your video in your apps: Discover how to reduce your app’s memory footprint when using CIContext, and learn best practices for using AVPlayView or MTKView view classes for video playback with Core Image filters. Additionally, find out why you should write your own custom kernels in the Metal Shading Language, and learn performance tips for optimal usage of Metal command queues in your Core Image pipeline.","tags":[],"title":"Optimize the Core Image pipeline for your video app","url":"\/documentation\/wwdc20-10008-optimize-the-core-image-pipeline-for-your-video-app\/"},{"category":"","section":"documentation","slug":"wwdc20-10006-introducing-car-keys","summary":"You can now store car keys on iPhone or Apple Watch. You no longer have to bring your key fob to unlock and start your car. And with digital keys, it’s easy to share them with family or friends, and manage keys remotely.","tags":[],"title":"Introducing Car Keys","url":"\/documentation\/wwdc20-10006-introducing-car-keys\/"},{"category":"","section":"documentation","slug":"wwdc20-10005-whats-new-in-assessment","summary":"It’s now easier than ever to deliver academic tests on the Mac. Learn how education developers can leverage the Automatic Assessment Configuration framework for iPhone, iPad, and Mac to deliver tests and assess students across all devices. And discover how developers can enable restricted features within tests and exams on iOS to accommodate student needs or suit the test content.","tags":[],"title":"What’s new in assessment","url":"\/documentation\/wwdc20-10005-whats-new-in-assessment\/"},{"category":"","section":"documentation","slug":"wwdc20-10004-expanding-automation-with-the-app-store-connect-api","summary":"Make routine tasks in App Store Connect a thing of the past when you automate your workflow with the App Store Connect API. Learn how you can manage more about your presence on the App Store with the App Metadata API, or use the new Power and Performance Metrics and Diagnostics API to access the same aggregate data that drives the Power and Performance analysis tools in Xcode. Whether you’re managing team members and provisioning profiles, adding or removing beta testers, or downloading your sales and financial reports, this comprehensive API makes automation of these processes a snap.","tags":[],"title":"Expanding automation with the App Store Connect API","url":"\/documentation\/wwdc20-10004-expanding-automation-with-the-app-store-connect-api\/"},{"category":"","section":"documentation","slug":"wwdc20","summary":"Xcode 12, Swift 5.3, iOS 14, macOS 11 (Big Sur), tvOS 14, watchOS 7. New APIs: `WidgetKit`, `StoreKit Testing`, and more.","tags":[],"title":"WWDC20","url":"\/documentation\/wwdc20\/"},{"category":"","section":"documentation","slug":"wwdc19-901-whats-new-in-core-bluetooth","summary":"Learn how to adopt privacy-enhancing changes in Core Bluetooth. Discover new possibilities with LE 2Mbps, advertising extensions, BR\/EDR, and dual-mode devices. Understand how to debug your Core Bluetooth communication with the improvements to PacketLogger.","tags":[],"title":"What’s New in Core Bluetooth","url":"\/documentation\/wwdc19-901-whats-new-in-core-bluetooth\/"},{"category":"","section":"documentation","slug":"wwdc19-810-designing-audiohaptic-experiences","summary":"Learn essential sound and haptic design principles and concepts for creating meaningful and delightful experiences that engage a wider range of human senses. Discover how to combine audio and haptics, using the Taptic Engine, to add a new level of realism and improve feedback in your app or game.","tags":[],"title":"Designing Audio-Haptic Experiences","url":"\/documentation\/wwdc19-810-designing-audiohaptic-experiences\/"},{"category":"","section":"documentation","slug":"wwdc19-809-designing-ipad-apps-for-mac","summary":"Discover how you can create a great Mac experience with your iPad app. Learn about essential techniques for adapting your iPad app’s layout and architecture for Mac, considerations for type and color, and how you can take advantage of macOS interfaces such as the menu bar, sidebar and window toolbar.","tags":[],"title":"Designing iPad Apps for Mac","url":"\/documentation\/wwdc19-809-designing-ipad-apps-for-mac\/"},{"category":"","section":"documentation","slug":"wwdc19-808-whats-new-in-ios-design","summary":"Discover how to update your app’s interface for Dark Mode to create beautiful and accessible apps. And learn how refinements to modal sheets and the new contextual menu UI can help improve usability and lead to more powerful and efficient workflows.","tags":[],"title":"What’s New in iOS Design","url":"\/documentation\/wwdc19-808-whats-new-in-ios-design\/"},{"category":"","section":"documentation","slug":"wwdc19-806-designing-great-shortcuts","summary":"Shortcuts allow people to access information and actions on the go or in the Shortcuts app. The best shortcuts take careful design planning to hone in on what can help expedite a person’s workflow with your app. Gain insights as to what makes a great shortcut and how to design the experience to be useful, beautiful, and responsive. See examples of how to map out the Siri dialog flow when using parameters to make your shortcuts flexible and helpful.","tags":[],"title":"Designing Great Shortcuts","url":"\/documentation\/wwdc19-806-designing-great-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc19-805-building-great-shortcuts","summary":"Shortcuts enable people to quickly and easily accomplish actions or get things done hands-free using Siri and the Shortcuts app. Join us for a tour of where shortcuts can appear, how you can customize the experience, and how your app’s shortcuts can be used with variables and actions from other apps.","tags":[],"title":"Building Great Shortcuts","url":"\/documentation\/wwdc19-805-building-great-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc19-803-designing-great-ml-experiences","summary":"Machine learning enables new experiences that understand what we say, suggest things that we may love, and allow us to express ourselves in new, rich ways. Machine learning can make existing experiences better by automating mundane tasks and improving the accuracy and speed of interactions. Learn how to incorporate ML experiences into your apps, and gain practical approaches to designing user interfaces that feel effortlessly helpful.","tags":[],"title":"Designing Great ML Experiences","url":"\/documentation\/wwdc19-803-designing-great-ml-experiences\/"},{"category":"","section":"documentation","slug":"wwdc19-802-designing-award-winning-apps-and-games","summary":"Through stories, interviews, and artifacts we will uncover valuable design processes, techniques, and best practices of Apple Design Award winning apps and games.","tags":[],"title":"Designing Award Winning Apps and Games","url":"\/documentation\/wwdc19-802-designing-award-winning-apps-and-games\/"},{"category":"","section":"documentation","slug":"wwdc19-723-advances-in-foundation","summary":"The Foundation framework provides a base layer of functionality for apps and frameworks that’s used throughout the macOS, iOS, watchOS, and tvOS SDKs. Hear about valuable enhancements to Foundation collections, performance, internationalization features, and Swift integration.","tags":[],"title":"Advances in Foundation","url":"\/documentation\/wwdc19-723-advances-in-foundation\/"},{"category":"","section":"documentation","slug":"wwdc19-722-introducing-combine","summary":"Combine is a unified declarative framework for processing values over time. Learn how it can simplify asynchronous code like networking, key value observing, notifications and callbacks.","tags":[],"title":"Introducing Combine","url":"\/documentation\/wwdc19-722-introducing-combine\/"},{"category":"","section":"documentation","slug":"wwdc19-721-combine-in-practice","summary":"Expand your knowledge of Combine, Apple’s new unified, declarative framework for processing values over time. Learn about how to correctly handle errors, schedule work and integrate Combine into your app today.","tags":[],"title":"Combine in Practice","url":"\/documentation\/wwdc19-721-combine-in-practice\/"},{"category":"","section":"documentation","slug":"wwdc19-720-whats-new-in-safari-extensions","summary":"Safari Extensions surface your app’s unique capabilities within Safari. Discover how the latest features such as content blocking notifications and user interface management and control innovations for pages, tabs, and popovers make your Safari App Extensions and Content Blockers even more powerful. Learn about the latest APIs and best practices for communicating between your extension and your app.","tags":[],"title":"What’s New in Safari Extensions","url":"\/documentation\/wwdc19-720-whats-new-in-safari-extensions\/"},{"category":"","section":"documentation","slug":"wwdc19-719-whats-new-in-file-management-and-quick-look","summary":"Your iOS app can now access files stored on external devices via USB and SMB. Understand best practices for creating a document-based app that reads, writes, and manages files on physical media or networked storage. Learn about enhancements to Quick Look on iOS and macOS that help you access and display file thumbnails.","tags":[],"title":"What’s New in File Management and Quick Look","url":"\/documentation\/wwdc19-719-whats-new-in-file-management-and-quick-look\/"},{"category":"","section":"documentation","slug":"wwdc19-718-introducing-accelerate-for-swift","summary":"Accelerate framework provides hundreds of computational functions that are highly optimized to the system architecture your device is running on. Learn how to access all of these powerful functions directly in Swift. Understand how the power of vector programming can deliver incredible performance to your iOS, macOS, tvOS, and watchOS apps.","tags":[],"title":"Introducing Accelerate for Swift","url":"\/documentation\/wwdc19-718-introducing-accelerate-for-swift\/"},{"category":"","section":"documentation","slug":"wwdc19-717-whats-new-in-universal-links","summary":"Universal Links allow your users to intelligently follow links to content inside your app or to your website. Learn how the latest enhancements in Universal Links give your users the most integrated mobile and desktop experience, even when your app isn’t installed on their device.","tags":[],"title":"What’s New in Universal Links","url":"\/documentation\/wwdc19-717-whats-new-in-universal-links\/"},{"category":"","section":"documentation","slug":"wwdc19-716-streaming-audio-on-watchos-6","summary":"Streaming audio on Apple Watch allows customers to enjoy your content wherever they go without their iPhone. Learn about the streaming APIs brought over from iOS to allow watchOS apps to create independent audio consumption experiences. Find out how to set up your audio session for streaming and explore best practices to provide the best experience for people moving between different network conditions.","tags":[],"title":"Streaming Audio on watchOS 6","url":"\/documentation\/wwdc19-716-streaming-audio-on-watchos-6\/"},{"category":"","section":"documentation","slug":"wwdc19-715-core-nfc-enhancements","summary":"Learn how easy it is to add support for NFC in your app and take advantage of the newest capabilities such as NDEF writing and support for widely adopted native tag protocols.","tags":[],"title":"Core NFC Enhancements","url":"\/documentation\/wwdc19-715-core-nfc-enhancements\/"},{"category":"","section":"documentation","slug":"wwdc19-714-network-extensions-for-the-modern-mac","summary":"Learn about powerful new APIs in macOS that you can use to create apps that extend and customize the networking capabilities of macOS without using kernel extensions.","tags":[],"title":"Network Extensions for the Modern Mac","url":"\/documentation\/wwdc19-714-network-extensions-for-the-modern-mac\/"},{"category":"","section":"documentation","slug":"wwdc19-713-advances-in-networking-part-2","summary":"Take your networking apps to the next level with advances in Bonjour, custom message framing handlers, and the latest in security. You’ll also learn how to understand your networking performance by collecting metrics, and how best to use the modern networking frameworks on Apple platforms.","tags":[],"title":"Advances in Networking, Part 2","url":"\/documentation\/wwdc19-713-advances-in-networking-part-2\/"},{"category":"","section":"documentation","slug":"wwdc19-712-advances-in-networking-part-1","summary":"Keep up with new and evolving networking protocols and standards by leveraging the modern networking frameworks on all Apple platforms and following best practices for efficiency and performance. In this session, learn about Low Data Mode, Combine in URLSession, WebSocket, and improvements to network mobility.","tags":[],"title":"Advances in Networking, Part 1","url":"\/documentation\/wwdc19-712-advances-in-networking-part-1\/"},{"category":"","section":"documentation","slug":"wwdc19-710-whats-new-in-apple-file-systems","summary":"Learn about what’s new in file system technology, including changes to file system layout and imaging technologies. If you are affected by the new Read Only System Volume, this is a session you will not want to miss.","tags":[],"title":"What’s New in Apple File Systems","url":"\/documentation\/wwdc19-710-whats-new-in-apple-file-systems\/"},{"category":"","section":"documentation","slug":"wwdc19-709-cryptography-and-your-apps","summary":"System frameworks encrypt both data at rest and data in transit in a transparent way for you. This functionality is available by simply setting an attribute. However you may want to do more to protect your users’ data. CryptoKit is a new Swift framework that makes it easier and safer than ever to perform cryptographic operations, whether you simply need to compute a hash or are implementing a more advanced authentication protocol.","tags":[],"title":"Cryptography and Your Apps","url":"\/documentation\/wwdc19-709-cryptography-and-your-apps\/"},{"category":"","section":"documentation","slug":"wwdc19-708-designing-for-privacy","summary":"Privacy is a more important issue than ever for your users. Learn about new features and privacy engineering techniques that can help you earn customer trust, create more personal experiences, and improve user engagement.","tags":[],"title":"Designing for Privacy","url":"\/documentation\/wwdc19-708-designing-for-privacy\/"},{"category":"","section":"documentation","slug":"wwdc19-707-advances-in-app-background-execution","summary":"Background execution is a powerful tool your app can leverage to provide a great user experience. Learn about best practices to follow when running in the background, especially if you use VoIP or silent pushes, and an all-new scheduling API that enables long running processing and maintenance tasks.","tags":[],"title":"Advances in App Background Execution","url":"\/documentation\/wwdc19-707-advances-in-app-background-execution\/"},{"category":"","section":"documentation","slug":"wwdc19-706-introducing-sign-in-with-apple","summary":"Sign In with Apple is the fast, easy way for people to sign in to apps using the Apple IDs they already have. Learn how easy it is to add a Sign In with Apple button to your app or website to acquire new customers and benefit from the built-in security, antifraud, and privacy that Sign In with Apple provides.","tags":[],"title":"Introducing Sign In with Apple","url":"\/documentation\/wwdc19-706-introducing-sign-in-with-apple\/"},{"category":"","section":"documentation","slug":"wwdc19-705-whats-new-in-core-location","summary":"Location technologies are core to delivering context-based services within your app. Discover how the latest features in the Core Location Framework lay the groundwork for advanced ranging capabilities and delivers more options for you to clearly communicate your location needs to your users, and allow them to provide more granular access authorization to your app.","tags":[],"title":"What’s New in Core Location","url":"\/documentation\/wwdc19-705-whats-new-in-core-location\/"},{"category":"","section":"documentation","slug":"wwdc19-704-core-ml-3-framework","summary":"Core ML 3 now enables support for advanced model types that were never before available in on-device machine learning. Learn how model personalization brings amazing personalization opportunities to your app. Gain a deeper understanding of strategies for linking models and improvements to Core ML tools used for conversion of existing models.","tags":[],"title":"Core ML 3 Framework","url":"\/documentation\/wwdc19-704-core-ml-3-framework\/"},{"category":"","section":"documentation","slug":"wwdc19-703-all-about-notarization","summary":"Notarization is all about identifying and blocking malicious Mac software prior to distribution, without requiring App Review or the Mac App Store.  Introduced last year and already widely adopted by Mac app developers, this is your opportunity to take an in depth tour of Notarization workflows and find out what’s new with the Notarization service.","tags":[],"title":"All About Notarization","url":"\/documentation\/wwdc19-703-all-about-notarization\/"},{"category":"","section":"documentation","slug":"wwdc19-702-system-extensions-and-driverkit","summary":"One of the next steps in modernizing and improving the security and reliability of macOS is to provide a better architecture for kernel extensions and drivers.  Learn how to make this transition with System Extensions and DriverKit.","tags":[],"title":"System Extensions and DriverKit","url":"\/documentation\/wwdc19-702-system-extensions-and-driverkit\/"},{"category":"","section":"documentation","slug":"wwdc19-701-advances-in-macos-security","summary":"We are on a journey to continuously improve macOS security, with a particular focus on preventing malware and protecting user data. Join us on the next step and learn more about what’s new in Gatekeeper—for keeping malware out of macOS—as well as new protections that help keep users’ data and activity under their control.","tags":[],"title":"Advances in macOS Security","url":"\/documentation\/wwdc19-701-advances-in-macos-security\/"},{"category":"","section":"documentation","slug":"wwdc19-616-supporting-new-game-controllers","summary":"With iOS 13, macOS Catalina, and tvOS 13, the Game Controller framework adds support for several well-known console game controllers. Get briefed about the newly-added controllers and understand how their inputs are delivered. Learn recommended best practices for handling optional buttons, and understand the right approach for support on macOS.","tags":[],"title":"Supporting New Game Controllers","url":"\/documentation\/wwdc19-616-supporting-new-game-controllers\/"},{"category":"","section":"documentation","slug":"wwdc19-615-game-center-player-identifiers","summary":"Game Center now supports persistent player identifiers scoped to individual games or to a developer team ID. Understand how scoped identifiers enhance player privacy and see how to transition your apps and games onto the recommended API.","tags":[],"title":"Game Center Player Identifiers","url":"\/documentation\/wwdc19-615-game-center-player-identifiers\/"},{"category":"","section":"documentation","slug":"wwdc19-614-metal-for-machine-learning","summary":"Metal Performance Shaders (MPS) includes a highly tuned library of data parallel primitives vital to machine learning and leveraging the tremendous power of the GPU. With iOS 13 and macOS Catalina, MPS improves performance, enables more neural networks, and is now even easier to use. Learn more about these advances in MPS and gain a practical understanding of how to implement innovative techniques such as Style Transfer.","tags":[],"title":"Metal for Machine Learning","url":"\/documentation\/wwdc19-614-metal-for-machine-learning\/"},{"category":"","section":"documentation","slug":"wwdc19-613-ray-tracing-with-metal","summary":"Metal Performance Shaders (MPS) harness the massive parallelism of the GPU to dramatically accelerate calculations at the heart of modern ray tracing and ray casting techniques. Understand how MPS accelerates calculations for dynamic scenes, and dive into practical examples for implementing soft shadows, ambient occlusion, and global illumination. Learn how to enable hybrid rendering applications, and explore new techniques to extend your app across multiple GPUs.","tags":[],"title":"Ray Tracing with Metal","url":"\/documentation\/wwdc19-613-ray-tracing-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc19-612-advances-in-ar-quick-look","summary":"AR Quick Look is a built-in viewer for experiencing high-quality content in 3D and AR. See how integration with Reality Composer enables rich, interactive experiences to be displayed and shared more easily than ever before. Explore rendering improvements and multiple object viewing, then dive into the practical application of AR Quick Look in retail, education, and more.","tags":[],"title":"Advances in AR Quick Look","url":"\/documentation\/wwdc19-612-advances-in-ar-quick-look\/"},{"category":"","section":"documentation","slug":"wwdc19-611-bringing-opengl-apps-to-metal","summary":"Metal is the modern foundation for GPU-accelerated graphics and compute on Apple platforms, superseding OpenGL, OpenGL ES, and OpenCL. Get introduced to the architecture and feature set of Metal and learn a step-by-step approach for transitioning OpenGL-based apps to the Metal API.","tags":[],"title":"Bringing OpenGL Apps to Metal","url":"\/documentation\/wwdc19-611-bringing-opengl-apps-to-metal\/"},{"category":"","section":"documentation","slug":"wwdc19-610-building-collaborative-ar-experiences","summary":"With iOS 13, ARKit and RealityKit enable apps to establish shared AR experiences faster and easier than ever. Understand how collaborative sessions allow multiple devices to build a combined world map and share AR anchors and updates in real-time. Learn how to incorporate collaborative sessions into ARKit-based apps, then roll into SwiftStrike, an engaging and immersive multiplayer AR game built using RealityKit and Swift.","tags":[],"title":"Building Collaborative AR Experiences","url":"\/documentation\/wwdc19-610-building-collaborative-ar-experiences\/"},{"category":"","section":"documentation","slug":"wwdc19-609-building-ar-experiences-with-reality-composer","summary":"Reality Composer is a tool that lets anyone quickly prototype and build AR scenes ready to integrate into apps or experience with AR Quick Look. Walk through the powerful and intuitive capabilities of Reality Composer and discover hundreds of ready-to-use virtual objects in its built-in AR library. See how easy it is to build animations and interactions to enrich your 3D content, and get details about integrating Reality files right into your apps.","tags":[],"title":"Building AR Experiences with Reality Composer","url":"\/documentation\/wwdc19-609-building-ar-experiences-with-reality-composer\/"},{"category":"","section":"documentation","slug":"wwdc19-608-metal-for-pro-apps","summary":"Metal is the platform-optimized graphics and compute framework at the heart of GPU acceleration on Apple platforms. Learn key aspects of the Metal architecture that support the techniques for modern high-performance pro applications and workflows. Learn how to leverage Metal capabilities to optimize performance and maintain a steady frame rate in video editing pipelines. Understand how to leverage CPU and GPU parallelism, and dive into best practices for efficient data throughput.","tags":[],"title":"Metal for Pro Apps","url":"\/documentation\/wwdc19-608-metal-for-pro-apps\/"},{"category":"","section":"documentation","slug":"wwdc19-607-bringing-people-into-ar","summary":"ARKit 3 enables a revolutionary capability for robust integration of real people into AR scenes. Learn how apps can use live motion capture to animate virtual characters or be applied to 2D and 3D simulation. See how People Occlusion enables even more immersive AR experiences by enabling virtual content to pass behind people in the real world.","tags":[],"title":"Bringing People into AR","url":"\/documentation\/wwdc19-607-bringing-people-into-ar\/"},{"category":"","section":"documentation","slug":"wwdc19-606-delivering-optimized-metal-apps-and-games","summary":"Optimizing performance, memory, and bandwidth are important considerations for resource-intensive Metal apps and games. Learn key best practices to streamline your rendering and attain high frame rates. Understand powerful tools that can help you pinpoint expensive or unexpected GPU work. Dive into GPU capabilities that can yield performance gains and get expert guidance about using memory efficiently.","tags":[],"title":"Delivering Optimized Metal Apps and Games","url":"\/documentation\/wwdc19-606-delivering-optimized-metal-apps-and-games\/"},{"category":"","section":"documentation","slug":"wwdc19-605-building-apps-with-realitykit","summary":"Gain a practical understanding of RealityKit capabilities by developing a game using its easy-to-learn API. Learn the recommended approach for loading assets, building a scene, applying animations, and handling game input. See how entities and components express the powerful elements of RealityKit while providing flexibility for customization. Find out how to take advantage of built-in networking and get details about extending the game into an immersive muliti-player experience.","tags":[],"title":"Building Apps with RealityKit","url":"\/documentation\/wwdc19-605-building-apps-with-realitykit\/"},{"category":"","section":"documentation","slug":"wwdc19-604-introducing-arkit-3","summary":"ARKit is the groundbreaking augmented reality (AR) platform for iOS that can transform how people connect with the world around them. Explore the state-of-the-art capabilities of ARKit 3 and discover the innovative foundation it provides for RealityKit. Learn how ARKit makes AR even more immersive through understanding of body position and movement for motion capture and people occlusion. Check out additions for multiple face tracking, collaborative session building, a coaching UI for on-boarding, and much more.","tags":[],"title":"Introducing ARKit 3","url":"\/documentation\/wwdc19-604-introducing-arkit-3\/"},{"category":"","section":"documentation","slug":"wwdc19-603-introducing-realitykit-and-reality-composer","summary":"Architected for AR, RealityKit provides developers access to world-class capabilities for rendering, animation, physics, and spatial audio. See how RealityKit reimagines the traditional 3D engine to make AR development faster and easier for developers than ever before. Understand the building blocks of developing RealityKit based apps and games, and learn about prototyping and producing content for AR experiences with Reality Composer.","tags":[],"title":"Introducing RealityKit and Reality Composer","url":"\/documentation\/wwdc19-603-introducing-realitykit-and-reality-composer\/"},{"category":"","section":"documentation","slug":"wwdc19-602-working-with-usd","summary":"Universal Scene Description (USD) enables the robust description of 3D scenes and empowers engineers and artists to seamlessly collaborate across the creative workflow. Get introduced to the powerful capabilities of USD and explore its incredible scalability. Gain a deeper understanding of how USD assets are created and learn about delivering usdz content for use with ARKit and RealityKit.","tags":[],"title":"Working with USD","url":"\/documentation\/wwdc19-602-working-with-usd\/"},{"category":"","section":"documentation","slug":"wwdc19-601-modern-rendering-with-metal","summary":"Metal is the GPU-accelerated graphics and compute framework that helps developers build everything from pro apps to console-style games. Learn how to apply Metal features to implement modern graphics techniques including deferred and tiled-forward rendering. See how GPU-driven capabilities enable Metal to schedule work for itself, allowing complete scenes and compute workloads to be built and executed with little to no CPU interaction. Understand how GPU Families make it easier for you to build apps that scale across Apple platforms, and explore how Metal lets your apps and games realize entirely new levels of performance and capability.","tags":[],"title":"Modern Rendering with Metal","url":"\/documentation\/wwdc19-601-modern-rendering-with-metal\/"},{"category":"","section":"documentation","slug":"wwdc19-520-introducing-core-haptics","summary":"Core Haptics lets you design fully customized haptic patterns with synchronized audio. See examples of how haptics and audio enables you to create a greater sense of immersion in your app or game. Learn how to create, play back, and share content, and where Core Haptics fits in with other audio and vibration APIs.","tags":[],"title":"Introducing Core Haptics","url":"\/documentation\/wwdc19-520-introducing-core-haptics\/"},{"category":"","section":"documentation","slug":"wwdc19-518-whats-new-for-web-developers","summary":"WebKit provides a rich set of classes designed to load, display, and manage web content in your app. Discover how to integrate your web content into powerful platform features including Dark Mode, new presentation features in Share Sheet, JavaScript payment APIs for Apple Pay, and more.","tags":[],"title":"What’s New for Web Developers","url":"\/documentation\/wwdc19-518-whats-new-for-web-developers\/"},{"category":"","section":"documentation","slug":"wwdc19-516-whats-new-in-authentication","summary":"Secure sign-in and authentication is a key feature of a secure account-based app design. Learn how you can improve your app’s login experiences through an overview of the available authentications services and details on specific technologies such as Sign In with Apple ID, Password AutoFill for iPad Apps for Mac, advances in OAuth and WebAuthentication, and a new API for streamlined password sign-in.","tags":[],"title":"What’s New in Authentication","url":"\/documentation\/wwdc19-516-whats-new-in-authentication\/"},{"category":"","section":"documentation","slug":"wwdc19-515-whats-new-in-safari","summary":"The latest version of Safari on macOS and iOS is packed with new capabilities that both web developers and their customers will love. Discover how to take advantage of new features including powerful new Safari Extensions APIs for window, tab, and popover management, content blocking notifications, and enhancements to make link following in your Mac apps and iPad Apps for Mac a great experience.","tags":[],"title":"What’s New in Safari","url":"\/documentation\/wwdc19-515-whats-new-in-safari\/"},{"category":"","section":"documentation","slug":"wwdc19-514-auditing-web-content-with-web-inspector","summary":"Discover a new way to ensure your web content meets team coding standards and that you can deliver better code even without reliance on automated test systems. Find out how to use the Audit tool in Web Inspector to quickly and easily audit your web content during development so important compliance details don’t slip by.","tags":[],"title":"Auditing Web Content with Web Inspector","url":"\/documentation\/wwdc19-514-auditing-web-content-with-web-inspector\/"},{"category":"","section":"documentation","slug":"wwdc19-513-understanding-cpu-usage-with-web-inspector","summary":"As a developer of web content, you play an important role in fulfilling customer expectations for a high performance web experience while minimizing power use across all their devices. Discover new insights on how you can improve the power efficiency of your webpages in Safari, or embedded web content in your apps, by using this powerful new tool in Web Inspector. Learn new strategies to help you deliver dynamic experiences that use less CPU and save battery life.","tags":[],"title":"Understanding CPU Usage with Web Inspector","url":"\/documentation\/wwdc19-513-understanding-cpu-usage-with-web-inspector\/"},{"category":"","section":"documentation","slug":"wwdc19-511-supporting-dark-mode-in-your-web-content","summary":"With system-wide Dark Mode support in iOS and macOS, you’ll want to make sure your web content is appropriately styled to reflect your users’  preference. Learn techniques to ensure your content looks its best when presented in Safari, embedded in other apps such as Mail, or when used in your apps. Discover the details and best practices for this new pillar in responsive web design.","tags":[],"title":"Supporting Dark Mode in Your Web Content","url":"\/documentation\/wwdc19-511-supporting-dark-mode-in-your-web-content\/"},{"category":"","section":"documentation","slug":"wwdc19-510-whats-new-in-avaudioengine","summary":"AVAudioEngine enables the realtime capture, processing, and playback of audio. Learn how to take advantage of enhancements to this powerful API, such as support for voice processing and spatial rendering mode selection, in your own audio app.","tags":[],"title":"What’s New in AVAudioEngine","url":"\/documentation\/wwdc19-510-whats-new-in-avaudioengine\/"},{"category":"","section":"documentation","slug":"wwdc19-509-auv3-extensions-user-presets","summary":"Audio Unit app extensions gives users a convenient way to create or modify audio in any iOS or macOS app that uses sound, including music production apps such as GarageBand or Logic Pro X. And now, with iOS 13, you can store user presets for your extensions that are accessible across applications.","tags":[],"title":"AUv3 Extensions User Presets","url":"\/documentation\/wwdc19-509-auv3-extensions-user-presets\/"},{"category":"","section":"documentation","slug":"wwdc19-508-modernizing-your-audio-app","summary":"Apple platforms provide a comprehensive set of audio frameworks and technologies that are essential to creating a rich app experience. Learn about which frameworks and APIs are recommended to ensure that your app is well positioned for the future.","tags":[],"title":"Modernizing Your Audio App","url":"\/documentation\/wwdc19-508-modernizing-your-audio-app\/"},{"category":"","section":"documentation","slug":"wwdc19-507-hls-authoring-for-airplay-2-video","summary":"AirPlay 2 Video lets you share video from Apple devices to popular smart TVs. Learn about the special considerations for seamless delivery of high quality video to these TVs, and how to utilize the validation tools to ensure your content is ready for primetime.","tags":[],"title":"HLS Authoring for AirPlay 2 Video","url":"\/documentation\/wwdc19-507-hls-authoring-for-airplay-2-video\/"},{"category":"","section":"documentation","slug":"wwdc19-506-hevc-video-with-alpha","summary":"With the addition of alpha channel support for HEVC video, you can now composite video over custom backgrounds in both your apps and on the web. Learn how to author compatible media, and the best practices for playback.","tags":[],"title":"HEVC Video with Alpha","url":"\/documentation\/wwdc19-506-hevc-video-with-alpha\/"},{"category":"","section":"documentation","slug":"wwdc19-503-delivering-intuitive-media-playback-with-avkit","summary":"AVKit is a high-level framework for building media user interfaces, complete with playback controls, chapter navigation, Picture-in-Picture, audio routing, support for subtitles and closed captioning, Siri and Now Playing integration, and support for keyboard, Touch Bar, and remote control. Learn best practices in how to integrate these technologies into your own apps on iOS, tvOS, and iPad apps on Mac.","tags":[],"title":"Delivering Intuitive Media Playback with AVKit","url":"\/documentation\/wwdc19-503-delivering-intuitive-media-playback-with-avkit\/"},{"category":"","section":"documentation","slug":"wwdc19-502-introducing-lowlatency-hls","summary":"Since its introduction in 2009, HTTP Live Streaming (HLS) has enabled the delivery of countless live and on‐demand audio and video streams globally. With the introduction of a new Low-Latency mode, latencies of less than two seconds are now achievable over public networks at scale, while still offering backwards compatibility to existing clients. Learn about how to develop and configure your content delivery systems to take advantage of this new technology.","tags":[],"title":"Introducing Low-Latency HLS","url":"\/documentation\/wwdc19-502-introducing-lowlatency-hls\/"},{"category":"","section":"documentation","slug":"wwdc19-501-reaching-the-big-screen-with-airplay-2","summary":"AirPlay lets you share videos, photos, music, and more from Apple devices to your Apple TV, favorite speakers, and popular smart TVs. Learn how to deliver the best possible experience for AirPlay video, including automatic route selection for long form content, remote control, now playing metadata, and video quality considerations.","tags":[],"title":"Reaching the Big Screen with AirPlay 2","url":"\/documentation\/wwdc19-501-reaching-the-big-screen-with-airplay-2\/"},{"category":"","section":"documentation","slug":"wwdc19-430-introducing-the-create-ml-app","summary":"Bringing the power of Core ML to your app begins with one challenge. How do you create your model? The new Create ML app provides an intuitive workflow for model creation. See how to train, evaluate, test, and preview your models quickly in this easy-to-use tool. Get started with one of the many available templates handling a number of powerful machine learning tasks. Learn more about the many features for continuous model improvement and experimentation.","tags":[],"title":"Introducing the Create ML App","url":"\/documentation\/wwdc19-430-introducing-the-create-ml-app\/"},{"category":"","section":"documentation","slug":"wwdc19-429-lldb-beyond-po","summary":"LLDB is a powerful tool for exploring and debugging your app at runtime. Discover the various ways to display values in your app, how to format custom data types, and how to extend LLDB using your own Python 3 scripts.","tags":[],"title":"LLDB: Beyond “po”","url":"\/documentation\/wwdc19-429-lldb-beyond-po\/"},{"category":"","section":"documentation","slug":"wwdc19-428-training-text-classifiers-in-create-ml","summary":"Create ML now enables you to create models for Natural Language that are built on state-of-the-art techniques. Learn how these models can be easily trained and tested with the Create ML app. Gain insight into the powerful new options for transfer learning, word embeddings, and text catalogs.","tags":[],"title":"Training Text Classifiers in Create ML","url":"\/documentation\/wwdc19-428-training-text-classifiers-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc19-427-training-recommendation-models-in-create-ml","summary":"Recommendation models for Core ML can enable a very personal experience for the customers using your app. They power suggestions for what music to play or what movie to see in the apps you use every day. Learn how you can easily create a custom Recommendation model from all sorts of data sources using the Create ML app. Gain a deeper understanding of how this kind of personalization is possible while maintaining user privacy. See an example of one of these recommenders in action.","tags":[],"title":"Training Recommendation Models in Create ML","url":"\/documentation\/wwdc19-427-training-recommendation-models-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc19-426-building-activity-classification-models-in-create-ml","summary":"Your iPhone and Apple Watch are loaded with a number of powerful sensors including an accelerometer and gyroscope. Activity Classifiers can be trained on data from these sensors to bring some magic to your app, such as knowing when someone is running or swinging a bat. Learn how the Create ML app makes it easy to train and evaluate one of these Core ML models. Gain a deeper understanding of how to collect the raw data needed for training. See the use of these models in action.","tags":[],"title":"Building Activity Classification Models in Create ML","url":"\/documentation\/wwdc19-426-building-activity-classification-models-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc19-425-training-sound-classification-models-in-create-ml","summary":"Learn how to quickly and easily create Core ML models capable of classifying the sounds heard in audio files and live audio streams. In addition to providing you the ability to train and evaluate these models, the Create ML app allows you to test the model performance in real-time using the microphone on your Mac. Leverage these on-device models in your app using the new Sound Analysis framework.","tags":[],"title":"Training Sound Classification Models in Create ML","url":"\/documentation\/wwdc19-425-training-sound-classification-models-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc19-424-training-object-detection-models-in-create-ml","summary":"Custom Core ML models for Object Detection offer you an opportunity to add some real magic to your app. Learn how the Create ML app in Xcode makes it easy to train and evaluate these models. See how you can test the model performance directly within the app by taking advantage of Continuity Camera. It’s never been easier to build and deploy great Object Detection models for Core ML.","tags":[],"title":"Training Object Detection Models in Create ML","url":"\/documentation\/wwdc19-424-training-object-detection-models-in-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc19-423-optimizing-app-launch","summary":"Slow app launches are frustrating. Learn about the new app launch instrument and discover how to make your app launch fast. Gain insights into what happens during app launch and how to minimize, prioritize, and optimize work at this critical time. Hear tips and tricks from the engineers making iOS apps launch fast.","tags":[],"title":"Optimizing App Launch","url":"\/documentation\/wwdc19-423-optimizing-app-launch\/"},{"category":"","section":"documentation","slug":"wwdc19-422-designing-for-adverse-network-and-temperature-conditions","summary":"World-class apps deliver a great user experience, even in the most strenuous environments. Learn how to use Xcode to simulate adverse network and temperature conditions. Put your app through its paces and get a firsthand view of how it performs. Hear about best practices that you can adopt to respond to challenging conditions.","tags":[],"title":"Designing for Adverse Network and Temperature Conditions","url":"\/documentation\/wwdc19-422-designing-for-adverse-network-and-temperature-conditions\/"},{"category":"","section":"documentation","slug":"wwdc19-421-modeling-in-custom-instruments","summary":"Custom instruments make it possible to profile your app your way, telling the story of what your app is doing at runtime. At the center of each custom instrument is a modeler. Find out how to build your own modelers that translate from signpost output to the data you want to show in your instrument. Learn how the Instruments rules engine works and how to optimize your instrument for maximum efficiency. This session builds on Creating Custom Instruments from WWDC 2018.","tags":[],"title":"Modeling in Custom Instruments","url":"\/documentation\/wwdc19-421-modeling-in-custom-instruments\/"},{"category":"","section":"documentation","slug":"wwdc19-420-drawing-classification-and-oneshot-object-detection-in-turi-create","summary":"Apple’s open source toolset, Turi Create, recently added tasks for Core ML model creation including Drawing Classification and One-Shot Object Detection. Learn how to quickly use these capabilities in your apps as well as new techniques for visualizing and evaluating the performance of your custom models.","tags":[],"title":"Drawing Classification and One-Shot Object Detection in Turi Create","url":"\/documentation\/wwdc19-420-drawing-classification-and-oneshot-object-detection-in-turi-create\/"},{"category":"","section":"documentation","slug":"wwdc19-419-optimizing-storage-in-your-app","summary":"How you store data in your app affects not only disk footprint, but also the performance of your app and the battery life of the device. Learn techniques for optimizing data serialization, working with images, and syncing to disk. Find out how to take advantage of features in SQLite to improve performance and safety.","tags":[],"title":"Optimizing Storage in Your App","url":"\/documentation\/wwdc19-419-optimizing-storage-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc19-418-getting-the-most-out-of-simulator","summary":"Join us for a deep dive into the world of Simulator. Find out how Simulator works, discover features you might not know exist, and get a tour of the command-line interface to Simulator for automation. Learn about native GPU acceleration in Simulator via Metal, and how to optimize your Metal code to take advantage of it.","tags":[],"title":"Getting the Most Out of Simulator","url":"\/documentation\/wwdc19-418-getting-the-most-out-of-simulator\/"},{"category":"","section":"documentation","slug":"wwdc19-417-improving-battery-life-and-performance","summary":"Learn about new ways to find and fix performance issues during daily development, beta testing, and public release on the App Store. Learn how to catch performance issues during daily development by measuring CPU, memory, and more in your XCTests. Discover how to find issues in the field during beta testing and public release using MetricKit. See how the Xcode Organizer now displays the most important metrics from your app aggregated from each version on the App Store.","tags":[],"title":"Improving Battery Life and Performance","url":"\/documentation\/wwdc19-417-improving-battery-life-and-performance\/"},{"category":"","section":"documentation","slug":"wwdc19-416-binary-frameworks-in-swift","summary":"Xcode 11 now fully supports using and creating binary frameworks in Swift. Find out how to simultaneously support devices and Simulator with the new XCFramework bundle type, how Swift module interfaces work, and how to manage changes to your framework over time.","tags":[],"title":"Binary Frameworks in Swift","url":"\/documentation\/wwdc19-416-binary-frameworks-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc19-415-modern-swift-api-design","summary":"Every programming language has a set of conventions that people come to expect. Learn about the patterns that are common to Swift API design, with examples from new APIs like SwiftUI, Combine, and RealityKit. Whether you’re developing an app as part of a team, or you’re publishing a library for others to use, find out how to use new features of Swift to ensure clarity and correct use of your APIs.","tags":[],"title":"Modern Swift API Design","url":"\/documentation\/wwdc19-415-modern-swift-api-design\/"},{"category":"","section":"documentation","slug":"wwdc19-414-developing-a-great-profiling-experience","summary":"Learn how to add useful tracing to your reusable classes, subsystems, or frameworks. By making it easy to trace your code, you provide adopters with valuable insight and confidence. We’ll show you best practices for tracing your Swift and Objective-C code, building custom instruments, and visualizing data in Instruments 11. Share your expertise in a tools experience so others can understand the contracts of your APIs and avoid anti-patterns that impact performance.","tags":[],"title":"Developing a Great Profiling Experience","url":"\/documentation\/wwdc19-414-developing-a-great-profiling-experience\/"},{"category":"","section":"documentation","slug":"wwdc19-413-testing-in-xcode","summary":"Unit testing is an essential tool to consistently verify your code works correctly. Learn about the built-in testing features in Xcode, using XCTest. Find out how to organize your tests and run them under different configurations using test plans, new in Xcode 11. Discover how to automate testing and efficiently work with the results.","tags":[],"title":"Testing in Xcode","url":"\/documentation\/wwdc19-413-testing-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc19-412-debugging-in-xcode-11","summary":"Xcode 11 introduces new features for finding and fixing bugs fast. Discover how to simulate network conditions and thermal states, and how to override your app’s runtime environment while debugging. See how the debugging features work with Xcode previews to identify issues before Build & Run. Learn how to work with the View Debugger to troubleshoot your SwiftUI views.","tags":[],"title":"Debugging in Xcode 11","url":"\/documentation\/wwdc19-412-debugging-in-xcode-11\/"},{"category":"","section":"documentation","slug":"wwdc19-411-getting-started-with-instruments","summary":"The Instruments app in Xcode provides a rich set of tools and templates for profiling your app performance. Learn all about Instruments and gain strategies for identifying bottlenecks in your code. See just how to leverage the power of time profiling and points of interest tracking to make meaningful changes to your code that can dramatically improve app responsiveness.","tags":[],"title":"Getting Started with Instruments","url":"\/documentation\/wwdc19-411-getting-started-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc19-410-creating-swift-packages","summary":"Whether you want to publish code to share with the community, or you just want a convenient way to organize the code in your apps, Swift packages are here to help. Learn how to create local packages for your own development, how to customize your package via the manifest file, and how to go about publishing a package for others to use.","tags":[],"title":"Creating Swift Packages","url":"\/documentation\/wwdc19-410-creating-swift-packages\/"},{"category":"","section":"documentation","slug":"wwdc19-409-whats-new-in-clang-and-llvm","summary":"Keep up with the latest enhancements to C, Objective-C, and C++ made possible by advancements in the Clang compiler and LLVM. Find out about new static analyzer features and how to use them to improve your code. Learn how to take advantage of new optimizations for code size.","tags":[],"title":"What’s New in Clang and LLVM","url":"\/documentation\/wwdc19-409-whats-new-in-clang-and-llvm\/"},{"category":"","section":"documentation","slug":"wwdc19-408-adopting-swift-packages-in-xcode","summary":"Swift packages are a great way to organize and share code, and are now supported while building apps for all Apple platforms in Xcode 11. Find out how to use community-developed packages in your project, how Swift packages are structured, and how package versioning and dependencies work.","tags":[],"title":"Adopting Swift Packages in Xcode","url":"\/documentation\/wwdc19-408-adopting-swift-packages-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc19-406-create-ml-for-object-detection-and-sound-classification","summary":"Create ML enables you to create, evaluate, and test powerful, production-class Core ML models. See how easy it is to create your own Object Detection and Sound Classification models for use in your apps. Learn strategies for balancing your training data to achieve great model accuracy.","tags":[],"title":"Create ML for Object Detection and Sound Classification","url":"\/documentation\/wwdc19-406-create-ml-for-object-detection-and-sound-classification\/"},{"category":"","section":"documentation","slug":"wwdc19-405-swift-playgrounds-3","summary":"Introducing Swift Playgrounds 3: the latest iteration of the revolutionary app for iPad that makes coding in Swift interactive and fun. Discover how you can use your own playgrounds to rapidly iterate on code that uses device features. Find out how the new modules feature both helps organize your own code and provides new opportunities for playground book authors.","tags":[],"title":"Swift Playgrounds 3","url":"\/documentation\/wwdc19-405-swift-playgrounds-3\/"},{"category":"","section":"documentation","slug":"wwdc19-404-getting-started-with-xcode","summary":"Xcode is the development environment for creating great apps for Apple platforms. Find out how to take advantage of Xcode features to go all the way from a new project to App Store distribution. Along the way, you’ll learn how to navigate the Xcode user interface, how to take advantage of the source editor and live user interface previews, how to incorporate community-developed Swift packages into your app, and how to refactor and test your code, all while developing a working SwiftUI app.","tags":[],"title":"Getting Started with Xcode","url":"\/documentation\/wwdc19-404-getting-started-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc19-403-creating-great-localized-experiences-with-xcode-11","summary":"Learn how your app can support per-app language settings in iOS 13. Get the details on localizing assets with asset catalogs and simplifying your localization workflow with Xcode 11. Understand how to generate screenshots in multiple languages for localization and testing.","tags":[],"title":"Creating Great Localized Experiences with Xcode 11","url":"\/documentation\/wwdc19-403-creating-great-localized-experiences-with-xcode-11\/"},{"category":"","section":"documentation","slug":"wwdc19-402-whats-new-in-swift","summary":"Swift is now the language of choice for a number of major frameworks across all of Apple’s platforms, including SwiftUI, RealityKit and Create ML. Join us for a review of Swift 5.0 and an exploration of Swift 5.1, new in Xcode 11. Find out about the latest advancements in performance and safety. Discover new features in the language, and how they have enabled the development of these new frameworks.","tags":[],"title":"What’s New in Swift","url":"\/documentation\/wwdc19-402-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc19-401-whats-new-in-xcode-11","summary":"Start the week with a tour of new features in Xcode 11, designed to help you get from idea to product faster than ever. Discover new ways to edit and organize your source code, new capabilities for designing and previewing user interfaces, and great improvements for debugging and testing. Get an overview for sessions covering developer tools this year.","tags":[],"title":"What’s New in Xcode 11","url":"\/documentation\/wwdc19-401-whats-new-in-xcode-11\/"},{"category":"","section":"documentation","slug":"wwdc19-305-subscription-offers-best-practices","summary":"Dive into implementation best practices for Subscription Offers using StoreKit and server-side logic. Learn how to generate signatures, determine customer eligibility, and reduce churn, plus gain insights into strategies for distributing offers to your customers and utilizing Subscription Offers to give your subscribers the best experience.","tags":[],"title":"Subscription Offers Best Practices","url":"\/documentation\/wwdc19-305-subscription-offers-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc19-304-app-distribution-from-adhoc-to-enterprise","summary":"Whether you want to share your app with a few colleagues, deliver it to employees within an organization, or release it to the world, there’s a distribution mechanism designed to fit your needs. Familiarize yourself with each app deployment model, learn how to choose the one that’s best for you, and learn about essential testing and distribution tools.","tags":[],"title":"App Distribution – From Ad-hoc to Enterprise","url":"\/documentation\/wwdc19-304-app-distribution-from-adhoc-to-enterprise\/"},{"category":"","section":"documentation","slug":"wwdc19-303-whats-new-in-managing-apple-devices","summary":"Learn about the latest management enhancements for iOS, macOS, and tvOS and the evolution of management tools over the past year. You’ll discover how new MDM features help administrators manage devices more effectively, how new technologies deliver support for centrally managed authorization, and how Apple Business Manager and Apple School Manager have been enhanced to streamline management of your organizations apps, content, and devices.","tags":[],"title":"What’s New in Managing Apple Devices","url":"\/documentation\/wwdc19-303-whats-new-in-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc19-302-inapp-purchases-and-using-servertoserver-notifications","summary":"Learn about the latest updates in StoreKit and dive deep into best practices for using server-to-server notifications to manage your subscribers.","tags":[],"title":"In-App Purchases and Using Server-to-Server Notifications","url":"\/documentation\/wwdc19-302-inapp-purchases-and-using-servertoserver-notifications\/"},{"category":"","section":"documentation","slug":"wwdc19-301-whats-new-in-app-store-connect","summary":"App Store Connect continues to improve its role in each step of your app’s lifecycle with new features that make your app submission, management, and distribution experience better than ever. Learn about the latest enhancements and discover new ways to ensure each release of your app is better than the last.","tags":[],"title":"What’s New in App Store Connect","url":"\/documentation\/wwdc19-301-whats-new-in-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc19-262-embedding-and-sharing-visually-rich-links","summary":"The new Link Presentation framework enables app developers to easily present URLs in a rich, beautiful, and consistent way. Learn how to use Link Presentation to retrieve metadata from a URL, present the rich link content inside your app, and provide link metadata to the new share sheet experience in iOS.","tags":[],"title":"Embedding and Sharing Visually Rich Links","url":"\/documentation\/wwdc19-262-embedding-and-sharing-visually-rich-links\/"},{"category":"","section":"documentation","slug":"wwdc19-261-large-content-viewer-ensuring-readability-for-everyone","summary":"Tab Bars can’t grow with dynamic text, but the Large Content Viewer helps them to be seen by people with low vision. iOS 13 brings this feature to custom tab bars. Learn how to enable Large Content Viewer on your custom tab bars and ensure the right vector image is featured in the heads-up display.","tags":[],"title":"Large Content Viewer - Ensuring Readability for Everyone","url":"\/documentation\/wwdc19-261-large-content-viewer-ensuring-readability-for-everyone\/"},{"category":"","section":"documentation","slug":"wwdc19-260-introducing-photo-segmentation-mattes","summary":"Photos captured in Portrait Mode on iOS 12 contain an embedded person segmentation matte that made it easy to create creative visual effects like background replacement. iOS 13 leverages on-device machine learning to provide new segmentation mattes for any captured photo. Learn about the new semantic segmentation mattes available to you from both AVCapture and Core Image to isolate a person’s hair, skin, and teeth. Using any of these individual mattes or combining all of them, your app can now offer a tremendous amount of photo editing control.","tags":[],"title":"Introducing Photo Segmentation Mattes","url":"\/documentation\/wwdc19-260-introducing-photo-segmentation-mattes\/"},{"category":"","section":"documentation","slug":"wwdc19-259-targeting-content-with-multiple-windows","summary":"Learn how to target content for a specific window in your app. Find out how to identify which scene the system should open from a notification, a shortcut item, and other user activities.","tags":[],"title":"Targeting Content with Multiple Windows","url":"\/documentation\/wwdc19-259-targeting-content-with-multiple-windows\/"},{"category":"","section":"documentation","slug":"wwdc19-258-architecting-your-app-for-multiple-windows","summary":"Dive into the details about what it means to support multitasking in iOS 13. Understand how previous best practices fit together with new ideas. Learn the nuances of structuring your application to support multiple windows, and how to instantiate your UI, handle windows coming and going, and manage your app’s underlying window resources.","tags":[],"title":"Architecting Your App for Multiple Windows","url":"\/documentation\/wwdc19-258-architecting-your-app-for-multiple-windows\/"},{"category":"","section":"documentation","slug":"wwdc19-257-accessibility-inspector","summary":"The Accessibility Inspector enables you to identify parts of your app that are not accessible. It provides feedback on how you can make them accessible, as well as simulating voice-over to help you identify what a Voice Over user would experience. Watch a live-demo of an app being fully debugged in the Accessibility Inspector, and learn how to leverage this powerful tool to make your apps better for everyone.","tags":[],"title":"Accessibility Inspector","url":"\/documentation\/wwdc19-257-accessibility-inspector\/"},{"category":"","section":"documentation","slug":"wwdc19-256-advances-in-speech-recognition","summary":"Speech Recognizer can now be used locally on iOS or macOS devices with no network connection. Learn how you can bring text-to-speech support to your app while maintaining privacy and eliminating the limitations of server-based processing. Speech recognition API has also been enhanced to provide richer analytics including speaking rate, pause duration, and voice quality.","tags":[],"title":"Advances in Speech Recognition","url":"\/documentation\/wwdc19-256-advances-in-speech-recognition\/"},{"category":"","section":"documentation","slug":"wwdc19-254-writing-great-accessibility-labels","summary":"Great accessibility labels are the difference between someone using and loving your app or someone deleting your app. Experience VoiceOver as demonstrated by an Apple Accessibility engineer as she navigates complex UI and demonstrates how descriptive labels are an easy way to ensure your app is for everyone.","tags":[],"title":"Writing Great Accessibility Labels","url":"\/documentation\/wwdc19-254-writing-great-accessibility-labels\/"},{"category":"","section":"documentation","slug":"wwdc19-253-exploring-tinted-graphic-complications","summary":"Many Watch faces in watchOS 6 allow for customizing the tint color of content, allowing for even more personalization of Apple’s most personal device. Discover how you can use ClockKit data providers to offer full color and tint-ready options for each complication family type. This gives customers the ability to get up to date, important information at a glance, no matter which Watch face they choose.","tags":[],"title":"Exploring Tinted Graphic Complications","url":"\/documentation\/wwdc19-253-exploring-tinted-graphic-complications\/"},{"category":"","section":"documentation","slug":"wwdc19-252-advances-in-carplay-systems","summary":"CarPlay is a smarter, safer way to use your iPhone in the car. Learn how to update your vehicle system to take advantage of new features in iOS 13. Add support for dynamically changing screen sizes, second screens such as instrument clusters, and even irregularly shaped displays. Learn how to support “Hey Siri” for hands-free voice activation.","tags":[],"title":"Advances in CarPlay Systems","url":"\/documentation\/wwdc19-252-advances-in-carplay-systems\/"},{"category":"","section":"documentation","slug":"wwdc19-250-making-apps-more-accessible-with-custom-actions","summary":"Custom Actions simplify the experience for people using assistive technologies with your app and they can help you reduce the number of swipes and taps that are required to navigate through your interface and perform interactions. Learn how to leverage custom actions for use in VoiceOver and Switch Control. New in iOS 13, bring custom actions to Full Keyboard Access and Voice Control on iOS.","tags":[],"title":"Making Apps More Accessible With Custom Actions","url":"\/documentation\/wwdc19-250-making-apps-more-accessible-with-custom-actions\/"},{"category":"","section":"documentation","slug":"wwdc19-249-introducing-multicamera-capture-for-ios","summary":"In AVCapture on iOS 13 it is now possible to simultaneously capture photos and video from multiple cameras on iPhone XS, iPhone XS Max, iPhone XR, and the latest iPad Pro. It is also possible to configure the multiple microphones on the device to shape the sound that is captured. Learn how to leverage these powerful capabilities to bring creative new features like picture-in-picture and spatial audio to your camera apps. Gain a deeper understanding of the performance considerations that may influence your app design.","tags":[],"title":"Introducing Multi-Camera Capture for iOS","url":"\/documentation\/wwdc19-249-introducing-multicamera-capture-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc19-248-creating-an-accessible-reading-experience","summary":"The styling and layout of text is a hallmark feature of an outstanding reading experience. Technologies such as CoreText and TextKit give you the tools you need to create a great text layout. Learn how to make an equally great accessible experience for VoiceOver by adopting the accessibility reading content protocol, adding automatic page turning, and customizing speech output.","tags":[],"title":"Creating an Accessible Reading Experience","url":"\/documentation\/wwdc19-248-creating-an-accessible-reading-experience\/"},{"category":"","section":"documentation","slug":"wwdc19-247-whats-new-in-classkit","summary":"The ClassKit framework helps you surface your app’s valuable educational content for inclusion in a teacher’s classroom curriculum. Get an overview of the ClassKit integration workflow, debugging instructor and student roles with the Schoolwork app, and new features designed to make publishing to ClassKit easier than ever.","tags":[],"title":"What’s New in ClassKit","url":"\/documentation\/wwdc19-247-whats-new-in-classkit\/"},{"category":"","section":"documentation","slug":"wwdc19-246-window-management-in-your-multitasking-app","summary":"Dive into the details of window management in your Multitasking app, including how to properly handle creating, refreshing, and closing windows. Hear about best practices for when to refresh the content in your window and learn how to ensure your app’s visual state is up-to-date in the switcher.","tags":[],"title":"Window Management in Your Multitasking App","url":"\/documentation\/wwdc19-246-window-management-in-your-multitasking-app\/"},{"category":"","section":"documentation","slug":"wwdc19-245-introducing-the-indoor-maps-program","summary":"The Indoor Maps Program enables organizations with large public or private spaces to deliver user experiences that leverage precise location information and present stunning indoor maps. Learn the entire enablement workflow including, creation of a standards-based map definition, map validation, testing and calibration, and details on how to use MapKit and MapKit JS to integrate it all into your app or website.","tags":[],"title":"Introducing the Indoor Maps Program","url":"\/documentation\/wwdc19-245-introducing-the-indoor-maps-program\/"},{"category":"","section":"documentation","slug":"wwdc19-244-visual-design-and-accessibility","summary":"Learn about the importance of supporting Large Text. Hear about Differentiate Without Color, a new API on iOS which can enable people with vision disorders such as color-blindness to easily use your app. Learn how to use it and how it can bring inclusivity to your app. Find out how to enable new Reduce Motion API to stop auto-play in your app for people who may be sensitive to motion.","tags":[],"title":"Visual Design and Accessibility","url":"\/documentation\/wwdc19-244-visual-design-and-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc19-243-integrating-with-siri-event-suggestions","summary":"Siri is the intelligence behind displaying what someone needs to know about at just the right moment. In iOS 13, we’re extending this capability to allow your apps to let Siri know when a reservation has been made and Siri can elevate checking in at the right time. Siri can also provide directions to the reservation in Maps, add the event to Calendar, and more. Discover how you can add the power of Siri Event Suggestions to your apps.","tags":[],"title":"Integrating with Siri Event Suggestions","url":"\/documentation\/wwdc19-243-integrating-with-siri-event-suggestions\/"},{"category":"","section":"documentation","slug":"wwdc19-241-adding-indoor-maps-to-your-app-and-website","summary":"The Indoor Maps Program enables organizations with large public or private spaces to deliver user experiences that provide precise indoor location information and present stunning indoor maps. Discover the overall process in the indoor map enablement workflow then take deep dive into the technical details on how MapKit and MapKit JS use powerful APIs and geo-standards to rapidly integrate indoor maps into your app and website.","tags":[],"title":"Adding Indoor Maps to your App and Website","url":"\/documentation\/wwdc19-241-adding-indoor-maps-to-your-app-and-website\/"},{"category":"","section":"documentation","slug":"wwdc19-240-swiftui-on-all-devices","summary":"Once you’ve learned the basics of SwiftUI, you’ve learned what you need to know to use SwiftUI anywhere. You can use the same SwiftUI skills for making an iOS app as you would for making an app on watchOS, tvOS or macOS. We’ll cover the basics, and then dig into more detail about how  SwiftUI can help you make changes to your app on every Apple device. Hear about design principles for each platform and learn about how much code you can share across platforms. See how to incorporate device-specific features and how to make changes in SwiftUI by following along with a starter project, available for download.","tags":[],"title":"SwiftUI On All Devices","url":"\/documentation\/wwdc19-240-swiftui-on-all-devices\/"},{"category":"","section":"documentation","slug":"wwdc19-239-great-developer-habits","summary":"Successful app development requires mastering a lot of different things. Discover practices you can incorporate into your development workflow to enhance your productivity, and improve your app’s performance and stability. Learn how to improve the quality of code you write with Xcode. Gain a practical understanding of some valuable development techniques.","tags":[],"title":"Great Developer Habits","url":"\/documentation\/wwdc19-239-great-developer-habits\/"},{"category":"","section":"documentation","slug":"wwdc19-238-accessibility-in-swiftui","summary":"Making your app accessible is critical, but just as important is designing a fantastic accessibility experience. Learn what makes a great experience and how to make your app understandable, navigable, and interactable. SwiftUI builds accessibility into your app for you! Discover how much you get with no extra adoption, like accessible images and controls. Identify where you can add supplemental accessibility information with the new SwiftUI Accessibility API, which gives you the tools to add information to elements such as labels, values, and hints.","tags":[],"title":"Accessibility in SwiftUI","url":"\/documentation\/wwdc19-238-accessibility-in-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc19-237-building-custom-views-with-swiftui","summary":"Learn how to build custom views and controls in SwiftUI with advanced composition, layout, graphics, and animation. See a demo of a high performance, animatable control and watch it made step by step in code. Gain a deeper understanding of the layout system of SwiftUI.","tags":[],"title":"Building Custom Views with SwiftUI","url":"\/documentation\/wwdc19-237-building-custom-views-with-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc19-236-whats-new-in-mapkit-and-mapkit-js","summary":"MapKit and MapKit JS bring fully featured Apple Maps to your app and website. See how the latest features give you more control over the base map presentation, finer-grained search and result filtering of points of interest and address information, and integration with standard data formats for custom overlays and annotations.","tags":[],"title":"What’s New in MapKit and MapKit JS","url":"\/documentation\/wwdc19-236-whats-new-in-mapkit-and-mapkit-js\/"},{"category":"","section":"documentation","slug":"wwdc19-235-taking-ipad-apps-for-mac-to-the-next-level","summary":"macOS Catalina provides an easy way to bring your iPad app to the Mac while maintaining your single code-base. Hear about ways in which you can take your app beyond the default behaviors to optimize its interface for the Mac. Get an overview of APIs you can use and macOS design guidelines that need to be considered. Learn how the iPad app lifecycle comes across on the Mac, and get distribution details for your application.","tags":[],"title":"Taking iPad Apps for Mac to the Next Level","url":"\/documentation\/wwdc19-235-taking-ipad-apps-for-mac-to-the-next-level\/"},{"category":"","section":"documentation","slug":"wwdc19-234-text-recognition-in-vision-framework","summary":"Document Camera and Text Recognition features in Vision Framework enable you to extract text data from images. Learn how to leverage this built-in machine learning technology in your app. Gain a deeper understanding of the differences between fast versus accurate processing as well as character-based versus language-based recognition.","tags":[],"title":"Text Recognition in Vision Framework","url":"\/documentation\/wwdc19-234-text-recognition-in-vision-framework\/"},{"category":"","section":"documentation","slug":"wwdc19-233-mastering-xcode-previews","summary":"Xcode 11 displays previews of your user interface right in the editor, streamlining the edit-debug-run cycle into a seamless workflow. Learn how previews work, how to optimize the structure of your SwiftUI app for previews, and how to add preview support to your existing views and view controllers.","tags":[],"title":"Mastering Xcode Previews","url":"\/documentation\/wwdc19-233-mastering-xcode-previews\/"},{"category":"","section":"documentation","slug":"wwdc19-232-advances-in-natural-language-framework","summary":"Natural Language is a framework designed to provide high-performance, on-device APIs for natural language processing tasks across all Apple platforms. Learn about the addition of Sentiment Analysis and Text Catalog support in the framework. Gain a deeper understanding of transfer learning for text-based models and the new support for Word Embeddings which can power great search experiences in your app.","tags":[],"title":"Advances in Natural Language Framework","url":"\/documentation\/wwdc19-232-advances-in-natural-language-framework\/"},{"category":"","section":"documentation","slug":"wwdc19-231-integrating-swiftui","summary":"SwiftUI is designed to integrate with your existing code base on any of Apple’s platforms. Learn how to adopt SwiftUI on any Apple platform by adding SwiftUI views into your app’s hierarchy, leveraging your existing data model and more.","tags":[],"title":"Integrating SwiftUI","url":"\/documentation\/wwdc19-231-integrating-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc19-230-making-apps-with-core-data","summary":"Core Data helps manage the flow of data throughout your app. Hear about new features in Core Data that make your code simpler and more powerful, including derived attributes, history tracking, change notifications and batch operations. Learn more about using these facilities and the new diffing APIs in UIKit and Foundation to make your apps run more efficiently.","tags":[],"title":"Making Apps with Core Data","url":"\/documentation\/wwdc19-230-making-apps-with-core-data\/"},{"category":"","section":"documentation","slug":"wwdc19-228-creating-great-apps-using-core-ml-and-arkit","summary":"Take a journey through the creation of an educational game that brings together Core ML, ARKit, and other app frameworks. Discover opportunities for magical interactions in your app through the power of machine learning. Gain a deeper understanding of approaches to solving challenging computer vision problems. See it all come to life in an interactive coding session.","tags":[],"title":"Creating Great Apps Using Core ML and ARKit","url":"\/documentation\/wwdc19-228-creating-great-apps-using-core-ml-and-arkit\/"},{"category":"","section":"documentation","slug":"wwdc19-227-font-management-and-text-scaling","summary":"Starting with iOS 13, your iOS app can contribute fonts for systemwide use. Understand how fonts are managed on iOS, and learn how to install and access fonts. Get details on the font picker interface that allows users to choose fonts, and the System UI fonts that are now available for use in your app. Review best practices for text scaling that works regardless of device.","tags":[],"title":"Font Management and Text Scaling","url":"\/documentation\/wwdc19-227-font-management-and-text-scaling\/"},{"category":"","section":"documentation","slug":"wwdc19-226-data-flow-through-swiftui","summary":"SwiftUI was built from the ground up to let you write beautiful and correct user interfaces free of inconsistencies. Learn how to connect your data as dependencies while keeping the UI fully predictable and error free. Familiarize yourself with SwiftUI’s powerful data flow tools and understand what the best tool is for each situation.","tags":[],"title":"Data Flow Through SwiftUI","url":"\/documentation\/wwdc19-226-data-flow-through-swiftui\/"},{"category":"","section":"documentation","slug":"wwdc19-225-advances-in-camera-capture-and-photo-segmentation","summary":"Powerful new features in the AVCapture API let you capture photos and video from multiple cameras simultaneously. Photos now benefit from semantic segmentation that allows you to isolate hair, skin, and teeth in a photo. Learn how these advances enable you to create great camera apps and easily achieve stunning photo effects.","tags":[],"title":"Advances in Camera Capture & Photo Segmentation","url":"\/documentation\/wwdc19-225-advances-in-camera-capture-and-photo-segmentation\/"},{"category":"","section":"documentation","slug":"wwdc19-224-modernizing-your-ui-for-ios-13","summary":"iOS 13 combines powerful new multitasking and productivity technologies with a refreshed look and feel for all applications. Familiarize yourself with new requirements to keep your app ready for upcoming versions of iOS. Discover improvements to search fields and a totally new way to present UI. Learn how to adopt new gestures around selection, access peek and pop on all hardware, and how to renew your app’s look for iOS 13.","tags":[],"title":"Modernizing Your UI for iOS 13","url":"\/documentation\/wwdc19-224-modernizing-your-ui-for-ios-13\/"},{"category":"","section":"documentation","slug":"wwdc19-223-expanding-the-sensory-experience-with-core-haptics","summary":"Core Haptics lets you design your own haptics with synchronized audio on iPhone. In this two part session, learn essential sound and haptic design principles and concepts for creating meaningful and delightful experiences that engage a wider range of human senses. Discover how to combine visuals, audio and haptics, using the Taptic Engine, to add a new level of realism and improve feedback in your app or game. Understand how to create and play back content, and where Core Haptics fits in with other audio and haptic APIs.","tags":[],"title":"Expanding the Sensory Experience with Core Haptics","url":"\/documentation\/wwdc19-223-expanding-the-sensory-experience-with-core-haptics\/"},{"category":"","section":"documentation","slug":"wwdc19-222-understanding-images-in-vision-framework","summary":"Learn all about the many advances in the Vision Framework including effortless image classification, image saliency, determining image similarity, and improvements in facial feature detection, and face capture quality scoring. This packed session will show you how easy it is to bring powerful computer vision techniques to your apps.","tags":[],"title":"Understanding Images in Vision Framework","url":"\/documentation\/wwdc19-222-understanding-images-in-vision-framework\/"},{"category":"","section":"documentation","slug":"wwdc19-221-introducing-pencilkit","summary":"Meet PencilKit, Apple’s feature-rich drawing and annotation framework. With just a few lines of code, you can add a full drawing experience to your app — with access to a canvas, responsive inks, rich tool palette and drawing model. Hear the technical details that make a great Apple Pencil experience. Learn about the new screenshot editor and how you can adopt just a few small APIs to enable your full content to be captured beyond the size of the screen, with or without your app’s user interface.","tags":[],"title":"Introducing PencilKit","url":"\/documentation\/wwdc19-221-introducing-pencilkit\/"},{"category":"","section":"documentation","slug":"wwdc19-220-advances-in-ui-data-sources","summary":"Use UI Data Sources to simplify updating your table view and collection view items using automatic diffing. High fidelity, quality animations of set changes are automatic and require no extra code! This improved data source mechanism completely avoids synchronization bugs, exceptions, and crashes! Learn about this simplified data model that uses on identifiers and snapshots so that you can focus on your app’s dynamic data and content instead of the minutia of UI data synchronization.","tags":[],"title":"Advances in UI Data Sources","url":"\/documentation\/wwdc19-220-advances-in-ui-data-sources\/"},{"category":"","section":"documentation","slug":"wwdc19-219-swiftui-on-watchos","summary":"SwiftUI allows a whole new world of possibilities when developing watchOS apps and notifications. From custom animations to providing an intuitive feel with Digital Crown haptics, SwiftUI helps you build exciting and immersive experiences for Apple Watch. See how easy it is to create custom elements with animations, embed gesture-driven animations within notifications, and learn about the enhanced debugging support to make watchOS app development faster than ever.","tags":[],"title":"SwiftUI on watchOS","url":"\/documentation\/wwdc19-219-swiftui-on-watchos\/"},{"category":"","section":"documentation","slug":"wwdc19-218-exploring-new-data-representations-in-healthkit","summary":"Discover how HealthKit is enriching and expanding the health data types available to the users of your app. Learn about modern storage for high-frequency health data types, accessing beat-to-beat heart rate data, and how to bring an entire new dimension of health to your users with new support for hearing health.","tags":[],"title":"Exploring New Data Representations in HealthKit","url":"\/documentation\/wwdc19-218-exploring-new-data-representations-in-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc19-217-researchkit-and-carekit-reimagined","summary":"The ResearchKit and CareKit frameworks are the fastest route to delivering powerful native iOS apps for the research and patient care field.  Learn about the newest audio and speech active-tasks, a completely redesigned user experience, and modular architecture designed to make it a breeze to create care plan apps for any use case.","tags":[],"title":"ResearchKit and CareKit Reimagined","url":"\/documentation\/wwdc19-217-researchkit-and-carekit-reimagined\/"},{"category":"","section":"documentation","slug":"wwdc19-216-swiftui-essentials","summary":"Take your first deep-dive into building an app with SwiftUI. Learn about Views and how they work. From basic controls to sophisticated containers like lists and navigation stacks, SwiftUI enables the creation of great user interfaces, faster and more easily. See how basic controls like Button are both simple yet versatile. Discover how to compose these pieces into larger, full-featured user interfaces that facilitate building great apps with SwiftUI. Build your SwiftUI skills as you learn the essentials of Apple’s new declarative framework.","tags":[],"title":"SwiftUI Essentials","url":"\/documentation\/wwdc19-216-swiftui-essentials\/"},{"category":"","section":"documentation","slug":"wwdc19-215-advances-in-collection-view-layout","summary":"Collection View Layouts make it easy to build rich interactive collections. Learn how to make dynamic and responsive layouts that range in complexity from basic lists to an advanced, multi-dimensional browsing experience.","tags":[],"title":"Advances in Collection View Layout","url":"\/documentation\/wwdc19-215-advances-in-collection-view-layout\/"},{"category":"","section":"documentation","slug":"wwdc19-214-implementing-dark-mode-on-ios","summary":"Hear from the UIKit engineering team about the principles and concepts that anchor Dark Mode on iOS. Get introduced to the principles of enhancing your app with this new appearance using dynamic colors and images, and add an experience that people are sure to love.","tags":[],"title":"Implementing Dark Mode on iOS","url":"\/documentation\/wwdc19-214-implementing-dark-mode-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc19-213-introducing-parameters-for-shortcuts","summary":"Parameters take Siri Shortcuts to the next level, enabling an interactive voice experience in Siri with follow-up questions, and allowing people to customize shortcuts in the Shortcuts app, now built into iOS. Walk through setting up your shortcuts to take advantage of parameters and learn how your shortcuts can pass output to other actions when creating multi-step shortcuts in the Shortcuts app.","tags":[],"title":"Introducing Parameters for Shortcuts","url":"\/documentation\/wwdc19-213-introducing-parameters-for-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc19-212-introducing-multiple-windows-on-ipad","summary":"Multitasking is an exciting way to add power to your iPad app. It is easy to enable your app to run two instances of your interface side-by-side, and your customers will love it. Learn how to take your existing features like drag and drop and use them to easily create a second window. Find out how supporting multiple windows changes the app lifecycle and what that means for all applications. Hear about some common mistakes and how to solve them, setting you and your customers up for a fantastic experience.","tags":[],"title":"Introducing Multiple Windows on iPad","url":"\/documentation\/wwdc19-212-introducing-multiple-windows-on-ipad\/"},{"category":"","section":"documentation","slug":"wwdc19-211-mastering-the-living-room-with-tvos","summary":"tvOS apps can deliver amazing experiences with stunning picture quality through 4K resolution, Dolby Vision and HDR10, and immersive sound through Dolby Atmos. Discover how to design beautiful, engaging, content-first experiences for your media applications. Learn about the new Top Shelf extension and styles to engage customers in your content before they even open your app. Take advantage of user profile support to offer an even more intuitive shared device experience.","tags":[],"title":"Mastering the Living Room With tvOS","url":"\/documentation\/wwdc19-211-mastering-the-living-room-with-tvos\/"},{"category":"","section":"documentation","slug":"wwdc19-210-whats-new-in-appkit-for-macos","summary":"Learn about the latest APIs in AppKit and associated frameworks. Get an overview of the enhancements coming in macOS Catalina to help you save time, take advantage of the latest hardware, and add polish to your application.","tags":[],"title":"What’s New in AppKit for macOS","url":"\/documentation\/wwdc19-210-whats-new-in-appkit-for-macos\/"},{"category":"","section":"documentation","slug":"wwdc19-209-whats-new-in-machine-learning","summary":"Core ML 3 has been greatly expanded to enable even more amazing, on-device machine learning capabilities in your app. Learn about the new Create ML app which makes it easy to build Core ML models for many tasks. Get an overview of model personalization; exciting updates in Vision, Natural Language, Sound, and Speech; and added support for cutting-edge model types.","tags":[],"title":"What’s New in Machine Learning","url":"\/documentation\/wwdc19-209-whats-new-in-machine-learning\/"},{"category":"","section":"documentation","slug":"wwdc19-208-creating-independent-watch-apps","summary":"watchOS 6 enables a whole new level of watchOS experiences by allowing fully independent apps and apps built just for Apple Watch, and by bringing the App Store to Apple Watch. Discover how to leverage the power of many iOS frameworks and technologies, now on watchOS, to create fully independent experiences on Apple Watch.","tags":[],"title":"Creating Independent Watch Apps","url":"\/documentation\/wwdc19-208-creating-independent-watch-apps\/"},{"category":"","section":"documentation","slug":"wwdc19-207-introducing-sirikit-media-intents","summary":"iOS 13 enhances SiriKit by bringing all new support for audio content playback. See how to provide an excellent, hands-free experience for playing your music, audiobooks, podcasts, radio, and more. Dive into best practices for handling search terms, discover how to provide a complete experience with playback speeds, adding to playlists, and allowing customers to tell you if they like or dislike content.","tags":[],"title":"Introducing SiriKit Media Intents","url":"\/documentation\/wwdc19-207-introducing-sirikit-media-intents\/"},{"category":"","section":"documentation","slug":"wwdc19-206-introducing-sf-symbols","summary":"SF Symbols introduces a comprehensive library of vector-based symbols that you can incorporate into your app to simplify the layout of user interface elements through automatic alignment with surrounding text, and support for multiple weights and sizes. Learn how easy it is to adapt to different screen sizes and layouts, and improve the accessibility and localizability of your app. Get details on how to create new symbols for your specific needs that perfectly match the visual style of SF Symbols.","tags":[],"title":"Introducing SF Symbols","url":"\/documentation\/wwdc19-206-introducing-sf-symbols\/"},{"category":"","section":"documentation","slug":"wwdc19-205-introducing-ipad-apps-for-mac","summary":"iPad Apps for Mac is an easy way to bring your iPad app to the Mac while maintaining your single code-base. Learn about common Mac features that are automatically implemented for you. Find out how to work with iOS-only frameworks and what using them could mean for your app. Hear about some common usage patterns including how to use third-party frameworks and some setup tips and tricks. Get a taste for how you can make your new Mac app feel like a Mac app by incorporating platform-specific features.","tags":[],"title":"Introducing iPad Apps for Mac","url":"\/documentation\/wwdc19-205-introducing-ipad-apps-for-mac\/"},{"category":"","section":"documentation","slug":"wwdc19-204-introducing-swiftui-building-your-first-app","summary":"See SwiftUI in action! Watch as engineers from the SwiftUI team build a fully-functioning app from scratch. Understand the philosophy driving this new framework and learn about the benefits of declarative-style programming. Take a look under the hood to understand how SwiftUI operates and learn how SwiftUI and Xcode 11 work together to help you to build great apps, faster.","tags":[],"title":"Introducing SwiftUI: Building Your First App","url":"\/documentation\/wwdc19-204-introducing-swiftui-building-your-first-app\/"},{"category":"","section":"documentation","slug":"wwdc19-203-introducing-desktopclass-browsing-on-ipad","summary":"iOS 13 brings desktop-class browsing to iPad. With blazing-fast performance, industry-leading security, and modern desktop features, Safari on iPad supports the latest web standards designed and automatically adapts desktop sites and web apps to touch in order to deliver a rich browsing experience. Learn how your site or embedded WebView can take advantage of powerful new features and coding best practices to deliver a best-in class user experience for iPad.","tags":[],"title":"Introducing Desktop-class Browsing on iPad","url":"\/documentation\/wwdc19-203-introducing-desktopclass-browsing-on-ipad\/"},{"category":"","section":"documentation","slug":"wwdc19-202-using-core-data-with-cloudkit","summary":"CloudKit offers powerful, cloud-syncing technology while Core Data provides extensive data modeling and persistence APIs. Learn about combining these complementary technologies to easily build cloud-backed applications. See how new Core Data APIs make it easy to manage the flow of data through your application, as well as in and out of CloudKit. Join us to learn more about combining these frameworks to provide a great experience across all your customers’ devices.","tags":[],"title":"Using Core Data With CloudKit","url":"\/documentation\/wwdc19-202-using-core-data-with-cloudkit\/"},{"category":"","section":"documentation","slug":"wwdc19-104-apple-design-awards","summary":"Join us for an unforgettable award ceremony celebrating developers and their outstanding work. The 2019 Apple Design Awards recognize state of the art iOS, macOS, watchOS, and tvOS apps that reflect excellence in design and innovation.","tags":[],"title":"Apple Design Awards","url":"\/documentation\/wwdc19-104-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc19-103-platforms-state-of-the-union","summary":"WWDC 2019 Platforms State of the Union","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc19-103-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc19-101-keynote","summary":"WWDC 2019 Keynote","tags":[],"title":"Keynote","url":"\/documentation\/wwdc19-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc19","summary":"Xcode 11, Swift 5.1, iOS 13, macOS 10.15 (Catalina), tvOS 13, watchOS 6. New APIs: `Combine`, `Core Haptics`, `Create ML`, and more.","tags":[],"title":"WWDC19","url":"\/documentation\/wwdc19\/"},{"category":"","section":"documentation","slug":"wwdc18-811-presenting-design-work","summary":"Ideas can live or die by their presentation. Learn indispensable and proven techniques for presenting your design work to better communicate your objectives and receive helpful, valuable and constructive feedback.","tags":[],"title":"Presenting Design Work","url":"\/documentation\/wwdc18-811-presenting-design-work\/"},{"category":"","section":"documentation","slug":"wwdc18-810-tips-for-great-maps","summary":"Maps are powerful tools for conveying information. Learn key cartographic principles that will help you create beautiful, useful maps so that your users can get the most out of your apps.","tags":[],"title":"Tips for Great Maps","url":"\/documentation\/wwdc18-810-tips-for-great-maps\/"},{"category":"","section":"documentation","slug":"wwdc18-809-apple-pencil-design-essentials","summary":"Make your apps even more powerful and expressive with Apple Pencil. Learn Apple Pencil design best practices such as correctly balancing touch and pencil interactions, fully harnessing Apple Pencil sensors, and creating more efficient and natural user flows.","tags":[],"title":"Apple Pencil Design Essentials","url":"\/documentation\/wwdc18-809-apple-pencil-design-essentials\/"},{"category":"","section":"documentation","slug":"wwdc18-808-prototyping-for-ar","summary":"Designing for AR can be intimidating and discovering design flaws late in the process can be costly. See how low-tech traditional prototyping techniques can help you validate and refine your AR app and game design ideas.","tags":[],"title":"Prototyping for AR","url":"\/documentation\/wwdc18-808-prototyping-for-ar\/"},{"category":"","section":"documentation","slug":"wwdc18-806-designing-notifications","summary":"Thoughtfully designed notifications are a powerful way to communicate timely information to people that they will find valuable and useful. Learn how you can design notifications people want to receive by making them beautiful, helpful, actionable, and respectful of their valuable time and attention.","tags":[],"title":"Designing Notifications","url":"\/documentation\/wwdc18-806-designing-notifications\/"},{"category":"","section":"documentation","slug":"wwdc18-805-creating-great-ar-experiences","summary":"Engaging AR experiences are easy to start and navigate, persuasively realistic, and highly immersive. Learn best practices for successfully bringing people into an AR experience, teaching them about how to interact and engage with virtual content, and making your AR content look beautiful and grounded in the real world.","tags":[],"title":"Creating Great AR Experiences","url":"\/documentation\/wwdc18-805-creating-great-ar-experiences\/"},{"category":"","section":"documentation","slug":"wwdc18-804-the-life-of-a-button","summary":"An in-depth exploration of essential interaction, visual and sound design principles and techniques through the design of a simple button.","tags":[],"title":"The Life of a Button","url":"\/documentation\/wwdc18-804-the-life-of-a-button\/"},{"category":"","section":"documentation","slug":"wwdc18-803-designing-fluid-interfaces","summary":"Discover the techniques used to create the fluid gestural interface of iPhone X. Learn how to design with gestures and motion that feel intuitive and natural, making your app a delight to use.","tags":[],"title":"Designing Fluid Interfaces","url":"\/documentation\/wwdc18-803-designing-fluid-interfaces\/"},{"category":"","section":"documentation","slug":"wwdc18-802-intentional-design","summary":"Great app experiences leap off the screen. They are dynamic, immersive, personal, and, above all else, the result of a strong and clear intent. Learn key techniques for being intentional with your design by choosing appropriate metaphors, making extreme choices, and making every interaction feel more authentic and natural.","tags":[],"title":"Intentional Design","url":"\/documentation\/wwdc18-802-intentional-design\/"},{"category":"","section":"documentation","slug":"wwdc18-801-the-qualities-of-great-design","summary":"Great Design isn’t magic, it is crafted with care by real people. Explore the characteristics of great design through the voices of designers from Apple and our developer community. Learn how they take inspiration from everyday life, conceive and refine ideas, and push themselves to design apps and games that can stand the test of time.","tags":[],"title":"The Qualities of Great Design","url":"\/documentation\/wwdc18-801-the-qualities-of-great-design\/"},{"category":"","section":"documentation","slug":"wwdc18-721-implementing-autofill-credential-provider-extensions","summary":"Password AutoFill delivers the ability to fill passwords seamlessly within iOS apps and Safari. Join us to learn how app developers who provide credential management can surface their credentials during sign-in within apps and on the web.","tags":[],"title":"Implementing AutoFill Credential Provider Extensions","url":"\/documentation\/wwdc18-721-implementing-autofill-credential-provider-extensions\/"},{"category":"","section":"documentation","slug":"wwdc18-720-wallet-and-apple-pay-creating-great-customer-experiences","summary":"Get the latest news and updates from the Wallet and Apple Pay team. Learn how iPhone and Apple Watch can power innovative commerce experiences. Hear about the latest design best practices for Apple Pay. And discover how to create your own contactless passes for rewards cards, gift cards, tickets and more.","tags":[],"title":"Wallet and Apple Pay: Creating Great Customer Experiences","url":"\/documentation\/wwdc18-720-wallet-and-apple-pay-creating-great-customer-experiences\/"},{"category":"","section":"documentation","slug":"wwdc18-719-core-image-performance-prototyping-and-python","summary":"Core Image is the essential framework for handling image processing tasks in your photo and video apps. In this session, we’ll explore new additions to the framework that allow you to achieve great performance in your filter chains and custom CIKernels. We’ll also demo a new approach to prototyping in Core Image through the use of an interactive Python environment. Through these techniques you’ll discover new ideas for building new creative effects as well as practical approaches to batch processing images for tasks such as image compositing and data boosting for machine learning.","tags":[],"title":"Core Image: Performance, Prototyping, and Python","url":"\/documentation\/wwdc18-719-core-image-performance-prototyping-and-python\/"},{"category":"","section":"documentation","slug":"wwdc18-718-better-apps-through-better-privacy","summary":"At Apple, we believe in building products with both great features and great privacy. Learn how to apply privacy engineering techniques to your apps so you can build trust with users to unlock better experiences and engagement.  And find out how new privacy features can benefit you and your users.","tags":[],"title":"Better Apps through Better Privacy","url":"\/documentation\/wwdc18-718-better-apps-through-better-privacy\/"},{"category":"","section":"documentation","slug":"wwdc18-717-vision-with-core-ml","summary":"Using Core ML models in Vision makes the creation of powerful Computer Vision applications easy. Learn how easy it is to use custom trained classifiers and object recognition models in a live camera capture. In addition, you’ll learn about the latest additions to the Vision Framework along with a deeper dive into some its fundamentals.","tags":[],"title":"Vision with Core ML","url":"\/documentation\/wwdc18-717-vision-with-core-ml\/"},{"category":"","section":"documentation","slug":"wwdc18-716-object-tracking-in-vision","summary":"Vision is a high-level framework that provides an easy to use API for handling many computer vision tasks. We’ll dive deep into a particularly powerful feature of Vision—tracking objects in video streams. Learn best practices for using Vision in your app. Gain a greater understanding of how request handlers function in terms of lifecycle, performance, and memory utilization.","tags":[],"title":"Object Tracking in Vision","url":"\/documentation\/wwdc18-716-object-tracking-in-vision\/"},{"category":"","section":"documentation","slug":"wwdc18-715-introducing-networkframework-a-modern-alternative-to-sockets","summary":"The new Network.framework API gives you direct access to the same high-performance user-space networking stack used by URLSession. If you’re considering using Berkeley Sockets in your app or library, learn what better options are available to you.","tags":[],"title":"Introducing Network.framework: A modern alternative to Sockets","url":"\/documentation\/wwdc18-715-introducing-networkframework-a-modern-alternative-to-sockets\/"},{"category":"","section":"documentation","slug":"wwdc18-714-optimizing-your-app-for-todays-internet","summary":"Learn what Apple has been doing to help your app get the most out of the network with the least effort. Let Apple’s networking APIs do the heavy lifting for you. Learn best practices for getting top networking performance from your app using the URLSession APIs.","tags":[],"title":"Optimizing Your App for Today’s Internet","url":"\/documentation\/wwdc18-714-optimizing-your-app-for-todays-internet\/"},{"category":"","section":"documentation","slug":"wwdc18-713-introducing-natural-language-framework","summary":"Natural Language is a redesigned framework designed to provide high-performance, on-device APIs for fundamental NLP tasks across all Apple platforms. Through the deep integration of the framework with Core ML and Create ML, you now have the ability to train custom NLP models to perform many different inferences and leverage the power of NLP in your apps. Join us for this exciting session to learn all the details and to see it in action.","tags":[],"title":"Introducing Natural Language Framework","url":"\/documentation\/wwdc18-713-introducing-natural-language-framework\/"},{"category":"","section":"documentation","slug":"wwdc18-712-a-guide-to-turi-create","summary":"Turi Create is an open source toolset for creating Core ML models, for tasks such as image classification, object detection, style transfers, recommendations, and more. Learn how you can use Turi Create to build models for your apps.","tags":[],"title":"A Guide to Turi Create","url":"\/documentation\/wwdc18-712-a-guide-to-turi-create\/"},{"category":"","section":"documentation","slug":"wwdc18-711-using-grouped-notifications","summary":"Grouping the notifications your app sends helps people get more information at a glance and manage multiple notifications at once. Learn how to implement Grouped Notifications in your app.","tags":[],"title":"Using Grouped Notifications","url":"\/documentation\/wwdc18-711-using-grouped-notifications\/"},{"category":"","section":"documentation","slug":"wwdc18-710-whats-new-in-user-notifications","summary":"Local and push notifications enable your app to keep users informed with timely and relevant content, by displaying messages and accepting users’ actions, or playing distinctive sounds, or updating the badge on your app icon. Improvements to rich notifications help you create more engaging content and better manage notifications. Find out what’s new and get expert advice on implementing user notifications in your app.","tags":[],"title":"What’s New in User Notifications","url":"\/documentation\/wwdc18-710-whats-new-in-user-notifications\/"},{"category":"","section":"documentation","slug":"wwdc18-709-whats-new-in-core-ml-part-2","summary":"The Core ML tools ecosystem gives you many options for building and optimizing models to meet your app requirements. Learn how to add flexibility to existing models, quantize them, and take advantage of Core ML’s support for customization.","tags":[],"title":"What’s New in Core ML, Part 2","url":"\/documentation\/wwdc18-709-whats-new-in-core-ml-part-2\/"},{"category":"","section":"documentation","slug":"wwdc18-708-whats-new-in-core-ml-part-1","summary":"Introduced just one year ago, Core ML has already revolutionized the way apps can benefit from machine learning, by enabling fast and private on device machine learning features for your app. Find out how new Core ML features let you reduce the size of models, make them more flexible, and dramatically improve performance.","tags":[],"title":"What’s New in Core ML, Part 1","url":"\/documentation\/wwdc18-708-whats-new-in-core-ml-part-1\/"},{"category":"","section":"documentation","slug":"wwdc18-707-new-ways-to-work-with-workouts","summary":"Tracking workouts with Apple Watch is popular with fitness professionals and novices alike.  See how the new workout API streamlines the entire lifecycle of a workout, complete with ability to restart a session after a crash to prevent you from losing data. Learn how the new workout classes, types, and queries provide quick access to baseline sample data you would typical calculate without limiting access to the fine grained samples you may occasionally require.","tags":[],"title":"New Ways to Work with Workouts","url":"\/documentation\/wwdc18-707-new-ways-to-work-with-workouts\/"},{"category":"","section":"documentation","slug":"wwdc18-706-accessing-health-records-with-healthkit","summary":"HealthKit provides a consolidated repository for a variety of data including health records containing information such as lab results, immunizations, and medications downloaded directly from institutions. Discover new health records classes and types created to provide easy access to high-level record types without preventing access to the underlying raw data.  Learn new authorization techniques that allows your app to access health record data for analysis and presentation in a manner that respects your customer’s privacy.","tags":[],"title":"Accessing Health Records with HealthKit","url":"\/documentation\/wwdc18-706-accessing-health-records-with-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc18-705-engineering-subscriptions","summary":"Learn the best practices for architecting your subscription infrastructure using StoreKit and server-side logic. Find out about simple engineering techniques to keep your subscribers longer, and how to utilize new tools and APIs to give your subscribers the best experience.","tags":[],"title":"Engineering Subscriptions","url":"\/documentation\/wwdc18-705-engineering-subscriptions\/"},{"category":"","section":"documentation","slug":"wwdc18-704-best-practices-and-whats-new-with-inapp-purchases","summary":"Learn about the latest updates in StoreKit, including offering introductory pricing for subscriptions, requesting ratings and reviews, promoting your in-app purchases within the App Store, and developing in the sandbox environment. Dive deep into best practices for processing transactions and validating receipts.","tags":[],"title":"Best Practices and What’s New with In-App Purchases","url":"\/documentation\/wwdc18-704-best-practices-and-whats-new-with-inapp-purchases\/"},{"category":"","section":"documentation","slug":"wwdc18-703-introducing-create-ml","summary":"Create ML is a new framework designed to help you easily build machine learning models using Swift and Xcode. Designed for Simplicity and Performance. Learn how you can build customized models from data that will enable new and powerful features in your apps using Create ML.","tags":[],"title":"Introducing Create ML","url":"\/documentation\/wwdc18-703-introducing-create-ml\/"},{"category":"","section":"documentation","slug":"wwdc18-702-your-apps-and-the-future-of-macos-security","summary":"Apple is on a mission to advance the state of Mac security, and we want your apps to be there with us. Learn about new protections for user data, new capabilities with Developer ID, and how you can best secure your apps.","tags":[],"title":"Your Apps and the Future of macOS Security","url":"\/documentation\/wwdc18-702-your-apps-and-the-future-of-macos-security\/"},{"category":"","section":"documentation","slug":"wwdc18-701-using-accelerate-and-simd","summary":"Learn how to use sophisticated Signal and Image Processing techniques to bring higher performance to your apps while lowering battery consumption.  See compelling use cases for the Accelerate framework with interactive demos. Explore using simd—a valuable addition that effortlessly brings vector programming to your apps.","tags":[],"title":"Using Accelerate and simd","url":"\/documentation\/wwdc18-701-using-accelerate-and-simd\/"},{"category":"","section":"documentation","slug":"wwdc18-612-metal-game-performance-optimization","summary":"Realize the full potential of your Metal-based games by tackling common issues that cause frame rate slowdowns, stutters, and stalls. Discover how to clear up jitter and maintain a silky-smooth frame rate with simple changes in frame pacing. Get introduced to new tools for analyzing rendering passes and pinpoint expensive or unexpected work. Learn how to avoid thread stalls and get specific advice about handling thermal notifications.","tags":[],"title":"Metal Game Performance Optimization","url":"\/documentation\/wwdc18-612-metal-game-performance-optimization\/"},{"category":"","section":"documentation","slug":"wwdc18-611-metal-for-vr","summary":"On macOS, Metal 2 adds specialized support for virtual reality (VR) rendering and external GPUs. Learn about new features and optimizations to take advantage of these technologies within your Metal 2-based apps and games. Understand best practices for scheduling workloads across multiple GPUs and techniques for frame pacing while multi-threading.","tags":[],"title":"Metal for VR","url":"\/documentation\/wwdc18-611-metal-for-vr\/"},{"category":"","section":"documentation","slug":"wwdc18-610-understanding-arkit-tracking-and-detection","summary":"With ARKit your app can see the world and place virtual objects on horizontal and vertical surfaces and recognize images and objects. Go beyond the API to gain insights into the innovative methods and techniques underlying these capabilities. See how ARKit combines device motion with the camera to provide accurate tracking and plane detection. Get a deeper understanding of persistence and multi-device AR and learn the recommended approach for image tracking and object detection.","tags":[],"title":"Understanding ARKit Tracking and Detection","url":"\/documentation\/wwdc18-610-understanding-arkit-tracking-and-detection\/"},{"category":"","section":"documentation","slug":"wwdc18-609-metal-for-accelerating-machine-learning","summary":"Metal Performance Shaders (MPS) includes a highly tuned library of machine learning primitives leveraging the tremendous power of the GPU. With iOS 12 and macOS Mojave, MPS adds capabilities to accelerate the computationally intensive task of training a neural network. Learn performance optimizations for inference, and understand the training process for both convolutional and recurrent neural networks (CNNs and RNNs).","tags":[],"title":"Metal for Accelerating Machine Learning","url":"\/documentation\/wwdc18-609-metal-for-accelerating-machine-learning\/"},{"category":"","section":"documentation","slug":"wwdc18-608-metal-shader-debugging-and-profiling","summary":"Metal provides powerful tools for analyzing shader behavior and optimizing performance. Dive into troubleshooting vertex-stage problems with new geometry viewing capabilities in Xcode. Use the shader debugger to step through vertex, fragment, and compute shader execution line-by-line. Get details about analyzing GPU workload, and check out shader profiler enhancements for A11 Bionic.","tags":[],"title":"Metal Shader Debugging and Profiling","url":"\/documentation\/wwdc18-608-metal-shader-debugging-and-profiling\/"},{"category":"","section":"documentation","slug":"wwdc18-607-metal-for-game-developers","summary":"Metal 2 is Apple-designed graphics software that lets developers build console‑style games. Learn key aspects of the Metal architecture that support the techniques for modern high-performance game rendering. See how Metal now enables the GPU to schedule work for itself, allowing complete scenes and compute workloads to be built and executed with little to no CPU interaction. Understand how the seamless integration of Metal 2 with the A11 Bionic chip lets your apps and games realize entirely new levels of performance and capability.","tags":[],"title":"Metal for Game Developers","url":"\/documentation\/wwdc18-607-metal-for-game-developers\/"},{"category":"","section":"documentation","slug":"wwdc18-606-metal-for-ray-tracing-acceleration","summary":"Metal Performance Shaders (MPS) harnesses the massive parallelism of the GPU to dramatically accelerate calculations at the heart of modern ray tracing and ray casting techniques. See how ray tracing can provide greater realism in 3D scenes through improved shading, soft shadows, and global illumination. Understand how MPS accelerates ray-triangle intersections while enabling dynamic scene updates, and learn how to extend your app across multiple GPUs for even greater performance.","tags":[],"title":"Metal for Ray Tracing Acceleration","url":"\/documentation\/wwdc18-606-metal-for-ray-tracing-acceleration\/"},{"category":"","section":"documentation","slug":"wwdc18-605-inside-swiftshot-creating-an-ar-game","summary":"Developed by Apple, SwiftShot is an energetic and immersive multiplayer AR game built with key iOS technologies. Glimpse behind the curtain and see how SwiftShot was designed and developed using ARKit, SceneKit, and Swift. Understand the intricacies of designing great gameplay for AR, and learn practical techniques for multiplayer synchronization and physics simulation.","tags":[],"title":"Inside SwiftShot: Creating an AR Game","url":"\/documentation\/wwdc18-605-inside-swiftshot-creating-an-ar-game\/"},{"category":"","section":"documentation","slug":"wwdc18-604-metal-for-opengl-developers","summary":"Metal is the foundation for accelerated graphics and compute on Apple platforms, enabling your apps and games to tap into the incredible power of the GPU. Get introduced to essential Metal capabilities and understand the recommended approach for transitioning OpenGL-based apps onto the Metal API.","tags":[],"title":"Metal for OpenGL Developers","url":"\/documentation\/wwdc18-604-metal-for-opengl-developers\/"},{"category":"","section":"documentation","slug":"wwdc18-603-integrating-apps-and-content-with-ar-quick-look","summary":"With iOS 12, ARKit includes a built-in viewer for displaying and sharing high-quality 3D content using Pixar’s usdz file format. Get introduced to the capabilities of AR Quick Look and see how to easily integrate AR into your app. Learn best practices for preparing 3D models for AR, and see how to deliver usdz content for viewing across Safari, Mail, Messages, and other built-in apps.","tags":[],"title":"Integrating Apps and Content with AR Quick Look","url":"\/documentation\/wwdc18-603-integrating-apps-and-content-with-ar-quick-look\/"},{"category":"","section":"documentation","slug":"wwdc18-602-whats-new-in-arkit-2","summary":"ARKit 2 makes it easy to develop vivid augmented reality experiences and enable apps to interact with the real world in entirely new ways. Discover how multiple iOS devices can simultaneously view an AR scene or play multiplayer AR games. Learn about new capabilities for tracking 2D images, and see how to detect known 3D objects like sculptures, toys, and furniture.","tags":[],"title":"What’s New in ARKit 2","url":"\/documentation\/wwdc18-602-whats-new-in-arkit-2\/"},{"category":"","section":"documentation","slug":"wwdc18-601-live-screen-broadcast-with-replaykit","summary":"ReplayKit 2 provides built-in services for broadcasting your screen from iOS and tvOS to viewers online. See how broadcasts can be started right within Control Center or from standard UI included in your own apps and games. Hear about developing broadcast extensions for ReplayKit 2 and get best practices for handling account sign-in.","tags":[],"title":"Live Screen Broadcast with ReplayKit","url":"\/documentation\/wwdc18-601-live-screen-broadcast-with-replaykit\/"},{"category":"","section":"documentation","slug":"wwdc18-508-getting-and-using-a-mapkit-js-key","summary":"MapKit JS uses the JWT standard for ensuring a secure connection between your site and the MapKit JS services.  Learn how to create, protect, and use site-specific keys to ensure only your servers are accessing APIs linked to your domain.","tags":[],"title":"Getting and Using a MapKit JS Key","url":"\/documentation\/wwdc18-508-getting-and-using-a-mapkit-js-key\/"},{"category":"","section":"documentation","slug":"wwdc18-507-avcontentkeysession-best-practices","summary":"AVContentKeySession allows for the management of FairPlay content decryption keys for HTTP Live Streaming. It offers a simplified key loading process that provides applications with control over the lifecycle of content keys, and features such as dual-expiry keys for offline movie rentals. Learn about best practices and recommended patterns for adopting this API.","tags":[],"title":"AVContentKeySession Best Practices","url":"\/documentation\/wwdc18-507-avcontentkeysession-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc18-506-musickit-on-the-web","summary":"MusicKit has enabled the creation of new, compelling, and engaging Apple Music powered app experiences. With the introduction of MusicKit on the web, as a developer, you can now bring Apple Music powered experiences to the web. Learn how to use declarative markup or javascript to enable Apple Music on your website.","tags":[],"title":"MusicKit on the Web","url":"\/documentation\/wwdc18-506-musickit-on-the-web\/"},{"category":"","section":"documentation","slug":"wwdc18-505-integrating-with-photos-on-macos","summary":"Make your apps even better through improved integration with Photos on macOS. We’ll dive deep into the Photos Project Extension API that was introduced in macOS High Sierra and update you on what’s new. You’ll also learn best practices for handling file promises and image URLs to better handle drag & drop from Photos to your app.","tags":[],"title":"Integrating with Photos on macOS","url":"\/documentation\/wwdc18-505-integrating-with-photos-on-macos\/"},{"category":"","section":"documentation","slug":"wwdc18-504-creating-audio-apps-for-watchos","summary":"Apps in watchOS 5 have control over audio playback like never before.  With a full-fledged background mode for local audio playback using AVFoundation, people can listen to content on the go right from Apple Watch. Learn how to use the new volume control and how to respond to MediaRemote commands. Dive into best practices for getting audio onto Apple Watch with URLSession and update progress when using WatchConnectivity to transfer files from iPhone. Explore how to control playback on iPhone from your app with the new Now Playing view.","tags":[],"title":"Creating Audio Apps for watchOS","url":"\/documentation\/wwdc18-504-creating-audio-apps-for-watchos\/"},{"category":"","section":"documentation","slug":"wwdc18-503-creating-photo-and-video-effects-using-depth","summary":"The TrueDepth camera in the iPhone X streams high-quality depth data in real time allowing you to enhance your photo and video apps in fun and creative ways. Dive deep into the principles and best practices for working with depth data, learn how to use the new Portrait Segmentation API for still images, and see how these techniques can create special effects like background replacement and perspective changes.","tags":[],"title":"Creating Photo and Video Effects Using Depth","url":"\/documentation\/wwdc18-503-creating-photo-and-video-effects-using-depth\/"},{"category":"","section":"documentation","slug":"wwdc18-502-measuring-and-optimizing-hls-performance","summary":"HTTP Live Streaming (HLS) is used to stream live and on-demand content to global audiences. Discover how to adjust and tune stream authoring and delivery elements to improve the viewing experience. Learn how to accurately measure your streaming performance, identify optimization opportunities, and implement changes to your HLS streams that can significantly improve the user experience.","tags":[],"title":"Measuring and Optimizing HLS Performance","url":"\/documentation\/wwdc18-502-measuring-and-optimizing-hls-performance\/"},{"category":"","section":"documentation","slug":"wwdc18-501-introducing-podcast-analytics","summary":"Podcasts are created and enjoyed by millions of people around the world. With the addition of Podcast Analytics, podcasters can gather actionable and insightful intelligence into how their show is consumed, while respecting the privacy of their listeners. Learn how to interpret and use these new analytics to improve your show.","tags":[],"title":"Introducing Podcast Analytics","url":"\/documentation\/wwdc18-501-introducing-podcast-analytics\/"},{"category":"","section":"documentation","slug":"wwdc18-418-source-control-workflows-in-xcode","summary":"Xcode integrates with GitHub, Bitbucket, and GitLab to help you manage your source code, back up your files, and collaborate with others. Find out how to easily see the changes in your project right in the source editor, and learn how to use Xcode for common source control workflows with Git. See how conflicts occur, how to resolve them, and how to avoid them before they even happen.","tags":[],"title":"Source Control Workflows in Xcode","url":"\/documentation\/wwdc18-418-source-control-workflows-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc18-417-testing-tips-and-tricks","summary":"Testing is an essential tool to consistently verify your code works correctly, but often your code has dependencies that are out of your control. Discover techniques for making hard-to-test code testable on Apple platforms using XCTest. Learn a variety of tips for writing higher-quality tests that run fast and require less maintenance.","tags":[],"title":"Testing Tips & Tricks","url":"\/documentation\/wwdc18-417-testing-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc18-416-ios-memory-deep-dive","summary":"Discover how memory graphs can be used to get a close up look at what is contributing to an app’s memory footprint. Understand the true memory cost of an image. Learn some tips and tricks for reducing the memory footprint of an app.","tags":[],"title":"iOS Memory Deep Dive","url":"\/documentation\/wwdc18-416-ios-memory-deep-dive\/"},{"category":"","section":"documentation","slug":"wwdc18-415-behind-the-scenes-of-the-xcode-build-process","summary":"Ever wonder what happens when you build your project in Xcode? Learn how Xcode automates the steps required to build an application, and go behind the scenes to learn how clang, swiftc, and the linker work together to turn your source code into a working program.","tags":[],"title":"Behind the Scenes of the Xcode Build Process","url":"\/documentation\/wwdc18-415-behind-the-scenes-of-the-xcode-build-process\/"},{"category":"","section":"documentation","slug":"wwdc18-414-understanding-crashes-and-crash-logs","summary":"Sudden app crashes are a source of bad user experience and app review rejections. Learn how crash logs can be analyzed, what information they contain and how to diagnose the causes of crashes, including hard-to-reproduce memory corruptions and multithreading issues.","tags":[],"title":"Understanding Crashes and Crash Logs","url":"\/documentation\/wwdc18-414-understanding-crashes-and-crash-logs\/"},{"category":"","section":"documentation","slug":"wwdc18-413-create-your-own-swift-playgrounds-subscription","summary":"Swift Playgrounds is a revolutionary iPad app to teach coding with the powerful Swift programming language. Learn how to create your own content for Swift Playgrounds using the new template, and find out how to use the subscription format to host your own feed online for others to access.","tags":[],"title":"Create Your Own Swift Playgrounds Subscription","url":"\/documentation\/wwdc18-413-create-your-own-swift-playgrounds-subscription\/"},{"category":"","section":"documentation","slug":"wwdc18-412-advanced-debugging-with-xcode-and-lldb","summary":"Discover advanced techniques, and tips and tricks for enhancing your Xcode debugging workflows. Learn how to take advantage of LLDB and custom breakpoints for more powerful debugging. Get the most out of Xcode’s view debugging tools to solve UI issues in your app more efficiently.","tags":[],"title":"Advanced Debugging with Xcode and LLDB","url":"\/documentation\/wwdc18-412-advanced-debugging-with-xcode-and-lldb\/"},{"category":"","section":"documentation","slug":"wwdc18-411-getting-to-know-swift-package-manager","summary":"The Swift Package Manager makes it possible to easily develop and distribute source code in the Swift ecosystem. Learn about its goals, design, unique features, and the opportunities it has for continued evolution.","tags":[],"title":"Getting to Know Swift Package Manager","url":"\/documentation\/wwdc18-411-getting-to-know-swift-package-manager\/"},{"category":"","section":"documentation","slug":"wwdc18-410-creating-custom-instruments","summary":"Understand how custom instruments are useful and when they should be used. Get an in-depth view of the architecture of custom instruments and how to create them. Understand the attributes of a good instrument. Dive into advanced modeling and how to use the CLIPS language.","tags":[],"title":"Creating Custom Instruments","url":"\/documentation\/wwdc18-410-creating-custom-instruments\/"},{"category":"","section":"documentation","slug":"wwdc18-409-whats-new-in-llvm","summary":"The LLVM suite of compiler tools in Xcode 10 have new language features, improved diagnostics, and more powerful optimizations. Find out about improvements to ARC for Objective-C, keep up with the newest additions to C++, get an overview of new and improved diagnostics and static analyzer checks, and learn about how LLVM compiler technology is delivering faster build times and better runtime performance for your apps.","tags":[],"title":"What’s New in LLVM","url":"\/documentation\/wwdc18-409-whats-new-in-llvm\/"},{"category":"","section":"documentation","slug":"wwdc18-408-building-faster-in-xcode","summary":"Build your apps faster in Xcode 10. Learn how to structure your projects and tweak your code to take full advantage of all processor cores. Whether you’ve made a few small code changes you want to give a try, or you’re building your full app for release, these techniques will cut the time it takes to build a running app.","tags":[],"title":"Building Faster in Xcode","url":"\/documentation\/wwdc18-408-building-faster-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc18-407-practical-approaches-to-great-app-performance","summary":"All apps benefit from a focus on performance and an increase in overall responsiveness. This information packed session gives you strategies for fixing performance problems using Instruments and other tools. Additionally, get practical advice based on experience in tuning Apple’s own apps including Xcode and Photos on iOS.","tags":[],"title":"Practical Approaches to Great App Performance","url":"\/documentation\/wwdc18-407-practical-approaches-to-great-app-performance\/"},{"category":"","section":"documentation","slug":"wwdc18-406-swift-generics-expanded","summary":"Generics are one of the most powerful features of Swift, enabling you to write flexible, reusable components while maintaining static type information. Learn about the design of Swift’s generics, including how to generalize protocols, leverage protocol inheritance to express the varying capabilities of related types, build composable generic components with conditional conformances, and reason about the interaction between class inheritance and generics. This expanded version of the WWDC 2018 session includes a brand-new discussion of recursive constraints.","tags":[],"title":"Swift Generics (Expanded)","url":"\/documentation\/wwdc18-406-swift-generics-expanded\/"},{"category":"","section":"documentation","slug":"wwdc18-405-measuring-performance-using-logging","summary":"Learn how to use signposts and logging to measure performance.  Understand how the Points of Interest instrument can be used to examine logged data. Get an introduction into creating and using custom instruments.","tags":[],"title":"Measuring Performance Using Logging","url":"\/documentation\/wwdc18-405-measuring-performance-using-logging\/"},{"category":"","section":"documentation","slug":"wwdc18-404-new-localization-workflows-in-xcode-10","summary":"The localization process in Xcode 10 has been updated to aid you through the lifecycle of exporting, importing, and testing localized content in your apps. See new functionality added in Xcode 10 and learn how the new localization catalog helps you build world-class, localized apps.","tags":[],"title":"New Localization Workflows in Xcode 10","url":"\/documentation\/wwdc18-404-new-localization-workflows-in-xcode-10\/"},{"category":"","section":"documentation","slug":"wwdc18-403-whats-new-in-testing","summary":"Hear about exciting improvements to code coverage, including how you can build your own automation on top of Xcode’s coverage reports. Learn how to dramatically speed up the execution of your tests by leveraging distributed parallel testing, new in Xcode 10.","tags":[],"title":"What’s New in Testing","url":"\/documentation\/wwdc18-403-whats-new-in-testing\/"},{"category":"","section":"documentation","slug":"wwdc18-402-getting-the-most-out-of-playgrounds-in-xcode","summary":"Discover major advancements in Xcode playgrounds. Learn advanced tips and techniques, hear about new and often overlooked workflows, and rediscover the tools provided when coding in playgrounds.","tags":[],"title":"Getting the Most out of Playgrounds in Xcode","url":"\/documentation\/wwdc18-402-getting-the-most-out-of-playgrounds-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc18-401-whats-new-in-swift","summary":"Hear about the latest advancements in Swift, the safe, fast, and expressive language. Find out about improvements to build times, code size, and runtime performance. Learn how to take advantage of new features in your code that eliminate boilerplate, increase safety and security, and improve your overall development productivity.","tags":[],"title":"What’s New in Swift","url":"\/documentation\/wwdc18-401-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc18-304-whats-new-in-search-ads","summary":"Search Ads is a great way to help people discover your app in App Store search results. Learn how new market expansion will give you greater opportunities to reach high quality customers. See how Search Ads Advanced new creative variations will help make your app promotion even more effective.","tags":[],"title":"What’s New in Search Ads","url":"\/documentation\/wwdc18-304-whats-new-in-search-ads\/"},{"category":"","section":"documentation","slug":"wwdc18-303-automating-app-store-connect","summary":"The new App Store Connect API provides a familiar and highly readable REST API designed to facilitate the automation of many tasks you would typically perform through the Apple Developer website and the App Store Connect browser interfaces. Learn how this API allows you to manage your apps and testers for TestFlight, create code signing resources, download reports, and even manage your organization. See how this API leverages JWT authentication and a JSON payload for all transactions to make this new service easy to integrate with your existing automated workflows.","tags":[],"title":"Automating App Store Connect","url":"\/documentation\/wwdc18-303-automating-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc18-302-whats-new-in-managing-apple-devices","summary":"Learn about new management capabilities for iOS, macOS, and tvOS, tool evolution over the past year, and important changes coming this fall. You’ll discover how new MDM features help administrators manage devices more effectively, how educators can enhance the classroom learning environment, and how app developers can make their app a better fit for education and enterprise customers.","tags":[],"title":"What’s New in Managing Apple Devices","url":"\/documentation\/wwdc18-302-whats-new-in-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc18-301-whats-new-in-app-store-connect","summary":"App Store Connect is constantly evolving to improve the experience of managing and deploying your app on App Store. Learn about the new App Store Connect API for managing frequently modified data such as users and groups, see the latest updates to Sales Trends and Analytics reporting, and TestFlight features enhanced to help you test and deploy your next masterpiece.","tags":[],"title":"What’s New in App Store Connect","url":"\/documentation\/wwdc18-301-whats-new-in-app-store-connect\/"},{"category":"","section":"documentation","slug":"wwdc18-241-accessible-drag-and-drop","summary":"Drag and Drop is a powerful API that allows apps to share and communicate data. No matter how you decide to implement Drag and Drop, there’s a way to make it work for people with accessibility needs. Learn the details as we dive into accessible Drag and Drop for iOS.","tags":[],"title":"Accessible Drag and Drop","url":"\/documentation\/wwdc18-241-accessible-drag-and-drop\/"},{"category":"","section":"documentation","slug":"wwdc18-239-designing-web-content-for-watchos","summary":"watchOS 5 brings web content to Apple Watch by rendering rich HTML in Messages and Mail. Gain insights into how watchOS maintains compatibility with existing web content, and find out what you can do to optimize your web content for Apple Watch.","tags":[],"title":"Designing Web Content for watchOS","url":"\/documentation\/wwdc18-239-designing-web-content-for-watchos\/"},{"category":"","section":"documentation","slug":"wwdc18-238-whats-new-in-tvmlkit","summary":"With TVMLKit you can quickly and easily develop tvOS apps that deliver intuitive and engaging media experiences. Learn about enhancements to data binding that allow you to separate your application logic and user interface, and new features and functions to customize the media playback experience.","tags":[],"title":"What’s New in TVMLKit","url":"\/documentation\/wwdc18-238-whats-new-in-tvmlkit\/"},{"category":"","section":"documentation","slug":"wwdc18-237-quick-look-previews-from-the-ground-up","summary":"Quicklook Previews are an easy way preview documents in your app. Hear about the basics as well as some advanced implementations. Learn to present a variety of types of documents from within your app without reinventing the wheel, and make sure your custom file format works great with the built-in support offered by iOS.","tags":[],"title":"Quick Look Previews from the Ground Up","url":"\/documentation\/wwdc18-237-quick-look-previews-from-the-ground-up\/"},{"category":"","section":"documentation","slug":"wwdc18-236-avspeechsynthesizer-making-ios-talk","summary":"Speech can enhance the audio experience of your app, whether you are generating spoken feedback for accessibility, or providing critical information beyond simple alerts or notifications. AVSpeechSynthesizer produces synthesized speech from text and allows you to control and monitor the progress of ongoing speech. Learn the ins and outs of AVSpeechSynthesizer and how to add computer-generated speech output to your app.","tags":[],"title":"AVSpeechSynthesizer: Making iOS Talk","url":"\/documentation\/wwdc18-236-avspeechsynthesizer-making-ios-talk\/"},{"category":"","section":"documentation","slug":"wwdc18-235-uikit-apps-for-every-size-and-shape","summary":"Ground-up coverage of how to make an app that can fit on devices of every size and shape. Make your app fit beautifully on Apple’s full range of devices with the minimum amount of effort, future-proofing your user experience along the way.","tags":[],"title":"UIKit: Apps for Every Size and Shape","url":"\/documentation\/wwdc18-235-uikit-apps-for-every-size-and-shape\/"},{"category":"","section":"documentation","slug":"wwdc18-234-whats-new-in-safari-and-webkit","summary":"Safari and WebKit are continually evolving with new features, APIs, and cutting edge web standards. Learn about this year’s biggest feature highlights, designed to help you create richer experiences with better performance and security — whether you are developing content for a browser or developing an app with embedded web content.","tags":[],"title":"What’s New in Safari and WebKit","url":"\/documentation\/wwdc18-234-whats-new-in-safari-and-webkit\/"},{"category":"","section":"documentation","slug":"wwdc18-233-adding-delight-to-your-ios-app","summary":"iOS contains powerful technologies you can use to make your app truly delightful. Learn how to take your app to the next level with easy-to-implement features such as Handoff and External Display support. Preserve that feeling of magic in your app with pro-tips that combine animations, gestures and layout, while keeping your scrolling smooth, and your code scalable. Dive into the anatomy of a launch to get your app responsive quickly, and learn some great debugging tricks from the pros!","tags":[],"title":"Adding Delight to your iOS App","url":"\/documentation\/wwdc18-233-adding-delight-to-your-ios-app\/"},{"category":"","section":"documentation","slug":"wwdc18-232-getting-ready-for-business-chat","summary":"Business Chat is a powerful way for organizations to connect with customers directly from within Messages. Whether you are a Customer Service Platform provider, a brand looking to integrate chat for customer communication, or a brand app developer looking to extend your iOS app to enhance Business Chat conversations, you’ll receive concrete guidance and learn the baseline requirements necessary to ensure you are ready to go live.","tags":[],"title":"Getting Ready for Business Chat","url":"\/documentation\/wwdc18-232-getting-ready-for-business-chat\/"},{"category":"","section":"documentation","slug":"wwdc18-231-homekit-deep-dive","summary":"Get a fresh look at the HomeKit APIs. Understand how Siri and the Apple Home App use Action Sets and Accessory Services & Characteristics to provide a great home automation experience.","tags":[],"title":"HomeKit Deep Dive","url":"\/documentation\/wwdc18-231-homekit-deep-dive\/"},{"category":"","section":"documentation","slug":"wwdc18-230-deliver-an-exceptional-accessibility-experience","summary":"Go beyond the basics and create apps with an exceptional accessibility experience. Learn how to design elements that appear in your app for maximum clarity and accessibility. Discover how to enhance the way users interact with your app even when presenting custom views, or drawing complex UI.","tags":[],"title":"Deliver an Exceptional Accessibility Experience","url":"\/documentation\/wwdc18-230-deliver-an-exceptional-accessibility-experience\/"},{"category":"","section":"documentation","slug":"wwdc18-229-using-collections-effectively","summary":"Every app uses collections! Go beyond the basics with specific tips on how best to use indices, slices, bridging, laziness, and reference types. Gain better understanding of when to use each collection for best performance.","tags":[],"title":"Using Collections Effectively","url":"\/documentation\/wwdc18-229-using-collections-effectively\/"},{"category":"","section":"documentation","slug":"wwdc18-228-whats-new-in-energy-debugging","summary":"People expect long battery life on their mobile devices, and apps play a vital role in achieving that experience. Understand how app behavior affects battery consumption, and learn strategies to conserve energy while providing the best experience for your app. Find out how Xcode Energy Reports can help you tune your app to use the least amount of power possible.","tags":[],"title":"What’s New in Energy Debugging","url":"\/documentation\/wwdc18-228-whats-new-in-energy-debugging\/"},{"category":"","section":"documentation","slug":"wwdc18-227-optimizing-app-assets","summary":"Learn how to use assets to bring visually compelling and data efficient artwork to your apps, leveraging new features in iOS 12. Gain insight into organizing, optimizing, and authoring artwork assets by using asset catalogs to their fullest. Learn techniques to better streamline workflows between designers and developers. Ensure better app delivery and a smaller footprint, maximizing target audiences of your app with full artwork asset fidelity.","tags":[],"title":"Optimizing App Assets","url":"\/documentation\/wwdc18-227-optimizing-app-assets\/"},{"category":"","section":"documentation","slug":"wwdc18-226-voiceover-app-testing-beyond-the-visuals","summary":"VoiceOver provides spoken descriptions and braille output of onscreen elements. Learn how to go beyond the visuals to identify VoiceOver and functional issues to help improve the experience for all users.","tags":[],"title":"VoiceOver: App Testing Beyond The Visuals","url":"\/documentation\/wwdc18-226-voiceover-app-testing-beyond-the-visuals\/"},{"category":"","section":"documentation","slug":"wwdc18-225-a-tour-of-uicollectionview","summary":"UICollectionView is a flexible, powerful tool to help you achieve great user experiences in your applications. Hear how you can leverage these rich APIs to rapidly move from initial design ideas to polished shipping applications. Topics range from getting started to advanced update animations and layouts.","tags":[],"title":"A Tour of UICollectionView","url":"\/documentation\/wwdc18-225-a-tour-of-uicollectionview\/"},{"category":"","section":"documentation","slug":"wwdc18-224-core-data-best-practices","summary":"As your app gains more customers and becomes more feature-rich, you may find yourself with new problems to solve. Core Data is a powerful tool that has changed a lot over the years. Learn about the new best practices in Core Data, such as how to use concurrency and persistent history, and discover how to test for, and resolve, common problems using familiar technologies.","tags":[],"title":"Core Data Best Practices","url":"\/documentation\/wwdc18-224-core-data-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc18-223-embracing-algorithms","summary":"When you imagine building a new app, what do you think about? Models, views, and controllers deserve their prominent place in the design process, but we don’t often give the same attention to the underlying work our apps need to do. Understand how to identify and optimize the algorithms in your app, and discover how implementing algorithms as generic protocol extensions results in efficient, effective, and maintainable code.","tags":[],"title":"Embracing Algorithms","url":"\/documentation\/wwdc18-223-embracing-algorithms\/"},{"category":"","section":"documentation","slug":"wwdc18-222-data-you-can-trust","summary":"A lot can go wrong when loading data into your app. Whether you work directly with JSON and property lists, or with higher-level APIs such as NSCoding and Codable, learn how to defend your customers and secure your code against invalid or malicious data. Avoid fatal assumptions by validating payload structure, type information and domain correctness, to turn the data you work with into data you can trust.","tags":[],"title":"Data You Can Trust","url":"\/documentation\/wwdc18-222-data-you-can-trust\/"},{"category":"","section":"documentation","slug":"wwdc18-221-textkit-best-practices","summary":"Leverage the abilities of TextKit to provide the best experience possible displaying and editing text. Get the best performance out of your app by using TextKit effectively. Learn the concepts to do more complex handling, layout and presentation.","tags":[],"title":"TextKit Best Practices","url":"\/documentation\/wwdc18-221-textkit-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc18-220-high-performance-auto-layout","summary":"Get a glimpse inside to find out what happens when you add a constraint! Dive into the internals of Auto Layout to develop intuition for how your code affects what happens under the hood. Learn how to measure and refine your approach to Auto Layout and see how its improved performance in iOS 12 will speed up your app.","tags":[],"title":"High Performance Auto Layout","url":"\/documentation\/wwdc18-220-high-performance-auto-layout\/"},{"category":"","section":"documentation","slug":"wwdc18-219-image-and-graphics-best-practices","summary":"Whether it’s for UI elements or a fundamental part of your application, at some point, you have to handle images. This session is packed with engaging insight into how images are handled in iOS including discussion of UIImage, UIImageView, custom drawing in UIKit, plus advanced CPU and GPU techniques that can help you maximize performance and minimize memory footprint.","tags":[],"title":"Image and Graphics Best Practices","url":"\/documentation\/wwdc18-219-image-and-graphics-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc18-218-advanced-dark-mode","summary":"Step deeper into Dark Mode adoption in your macOS application. Learn about the powerful Cocoa technologies at the core of Dark Mode, and take a detailed look at the APIs and best practices for adapting to this beautiful new look.","tags":[],"title":"Advanced Dark Mode","url":"\/documentation\/wwdc18-218-advanced-dark-mode\/"},{"category":"","section":"documentation","slug":"wwdc18-217-siri-shortcuts-on-the-siri-watch-face","summary":"Learn how to use Siri Shortcuts to bring glanceable information and custom interactions to the Siri watch face. Walk through how to create a compelling user experience by providing relevant shortcuts and by donating interactions from your app. See how these experiences can be created from both watchOS and iOS.","tags":[],"title":"Siri Shortcuts on the Siri Watch Face","url":"\/documentation\/wwdc18-217-siri-shortcuts-on-the-siri-watch-face\/"},{"category":"","section":"documentation","slug":"wwdc18-216-managing-documents-in-your-ios-apps","summary":"Last year we introduced the Files App and an easy way to view, edit, and share documents within your application. Learn best practices for implementing this technology, how to effectively manage documents in your app, and how to avoid common document manager pitfalls. Hear about the difference between a Document Browser and a Document Picker and when to use them. Gain a better understanding into how this technology works in a sandbox. Learn how to give your customers a great experience, beginning at sign-in and continuing throughout your app!","tags":[],"title":"Managing Documents In Your iOS Apps","url":"\/documentation\/wwdc18-216-managing-documents-in-your-ios-apps\/"},{"category":"","section":"documentation","slug":"wwdc18-215-introducing-classkit","summary":"The new ClassKit framework lets you organize educational content in your app so that teachers can discover and assign specific activities and view students’ progress in the new Schoolwork app. Learn how to adopt ClassKit to your content structure, declare assignable content, and share student progress on activities teachers assign in Schoolwork.","tags":[],"title":"Introducing ClassKit","url":"\/documentation\/wwdc18-215-introducing-classkit\/"},{"category":"","section":"documentation","slug":"wwdc18-214-building-for-voice-with-siri-shortcuts","summary":"Siri Shortcuts are a great way to help people execute actions or get information from your app, but shortcuts can be made even more powerful by adding them to Siri to be used with a simple phrase. Learn how you can now customize responses from Siri and add custom UI to make a great shortcuts experience across iOS, watchOS and HomePod. See how to allow users to add and manage shortcuts from right within your app and learn best practices to make shortcut suggestions that can be exposed through Settings.","tags":[],"title":"Building for Voice with Siri Shortcuts","url":"\/documentation\/wwdc18-214-building-for-voice-with-siri-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc18-213-carplay-audio-and-navigation-apps","summary":"Learn how to update your audio or navigation app to support CarPlay. Apps in CarPlay are optimized for use in the car, and automatically adapt to available vehicle screens and input controls. Audio apps can deliver music, news, podcasts, and more. With the new CarPlay framework, Navigation apps can provide detailed maps, destination search, turn-by-turn guidance, and user notifications.","tags":[],"title":"CarPlay Audio and Navigation Apps","url":"\/documentation\/wwdc18-213-carplay-audio-and-navigation-apps\/"},{"category":"","section":"documentation","slug":"wwdc18-212-introducing-mapkit-js","summary":"MapKit JS brings Apple Maps to your website. See how MapKit JS provides map rendering that is optimized for various browsers and devices, and supports native gestures such as pinch-to-zoom, two-finger rotate, and more. Learn how to add annotations and overlays, and how to use JavaScript interfaces to Apple Maps services such as Search and Directions to deliver an amazing map experience on your website.","tags":[],"title":"Introducing MapKit JS","url":"\/documentation\/wwdc18-212-introducing-mapkit-js\/"},{"category":"","section":"documentation","slug":"wwdc18-211-introduction-to-siri-shortcuts","summary":"Siri Shortcuts are a powerful new feature in iOS 12 that allow your app to expose its functionality to Siri. This enables Siri to suggest your shortcut at relevant times based on various context. Shortcuts can also be added to Siri to run with a voice phrase on iOS, HomePod and watchOS. Learn how to expose shortcuts in your app using NSUserActivity and discover the benefits of creating custom intents with SiriKit for a richer user experience.","tags":[],"title":"Introduction to Siri Shortcuts","url":"\/documentation\/wwdc18-211-introduction-to-siri-shortcuts\/"},{"category":"","section":"documentation","slug":"wwdc18-210-introducing-dark-mode","summary":"Hear from the Apple design team about the principles and concepts that anchor Dark Mode. Learn the basics of enhancing your app with this new appearance, and add an experience that people are sure to love.","tags":[],"title":"Introducing Dark Mode","url":"\/documentation\/wwdc18-210-introducing-dark-mode\/"},{"category":"","section":"documentation","slug":"wwdc18-209-whats-new-in-cocoa-for-macos","summary":"Gain insights into the latest in Cocoa frameworks for macOS. Hear about Dark Mode, control tinting, contextual workflows for Touch Bar and Finder, and other improvements in AppKit, Foundation, and related areas. Get an overview and guide to the sessions that we have this year covering advancements in Cocoa.","tags":[],"title":"What’s New in Cocoa for macOS","url":"\/documentation\/wwdc18-209-whats-new-in-cocoa-for-macos\/"},{"category":"","section":"documentation","slug":"wwdc18-208-whats-new-in-tvos-12","summary":"Apps on tvOS entertain, inform, and inspire with their content and interactive experiences. tvOS 12 brings new technologies that help make these experiences even more enjoyable and engaging. Get an introduction to focus engine support for non-UIKit apps, new UI elements, and Password AutoFill. Learn how to bring it all together to create incredible tvOS apps and experiences.","tags":[],"title":"What’s New in tvOS 12","url":"\/documentation\/wwdc18-208-whats-new-in-tvos-12\/"},{"category":"","section":"documentation","slug":"wwdc18-207-strategies-for-securing-web-content","summary":"Whether you use web content in your app via an embedded WebKit view, deliver pure web apps, or create web content to be embedded by others, it’s important to ensure that you are using the most current web security standards. Learn techniques like such as special cookie attributes and HTTP response headers designed to secure your web content against the latest threats that include cross-site scripting, cross-site request forgeries, and speculative execution attacks, commonly known as Spectre.","tags":[],"title":"Strategies for Securing Web Content","url":"\/documentation\/wwdc18-207-strategies-for-securing-web-content\/"},{"category":"","section":"documentation","slug":"wwdc18-206-whats-new-in-watchos","summary":"watchOS 5 makes creating great experiences on Apple Watch easier than ever before. Learn about robust capabilities to create rich and interactive notifications, a new background mode and controls for audio playback, shortcuts that bring your apps to the Siri watch face, and more. See what’s new in watchOS and discover how to expand your app’s presence on the wrist.","tags":[],"title":"What’s New in watchOS","url":"\/documentation\/wwdc18-206-whats-new-in-watchos\/"},{"category":"","section":"documentation","slug":"wwdc18-205-advances-in-research-and-care-frameworks","summary":"HealthKit, CoreMotion, and other iOS frameworks combined with the ResearchKit and CareKit open-source projects, provide a deep platform for the creation of game-changing apps for care teams, researchers, and the medical community. Discover new active tasks that leverage calibrated device data and how new CoreMotion APIs deliver insightful results capable of assisting diagnosis and improving care. Hear about updates and contributions from the open-source community and gain practical guidance you need to rapidly deliver your next research or care app.","tags":[],"title":"Advances in Research and Care Frameworks","url":"\/documentation\/wwdc18-205-advances-in-research-and-care-frameworks\/"},{"category":"","section":"documentation","slug":"wwdc18-204-automatic-strong-passwords-and-security-code-autofill","summary":"Passwords and security codes are a modern necessity required for security and privacy. iOS 12 eases the tedious aspects of account setup and sign-in by automatically suggesting and using strong, unique passwords — even from within apps —  and by bringing one-time codes to the QuickType bar so users can fill them with one tap. Learn how to optimize your app to ensure that password, security code, and other AutoFill features provide a seamless way for your users to be more secure.","tags":[],"title":"Automatic Strong Passwords and Security Code AutoFill","url":"\/documentation\/wwdc18-204-automatic-strong-passwords-and-security-code-autofill\/"},{"category":"","section":"documentation","slug":"wwdc18-203-i-have-this-idea-for-an-app","summary":"Do you have an idea for an app that you think would be useful to others, but you don’t know how to make it a reality? You’re not alone! Lots of people are interested in app development, but they aren’t sure how to turn their idea to code and then into a finished app. From first steps to Xcode, we’ll explain the building blocks you need to turn your iOS app idea into reality.","tags":[],"title":"I Have This Idea For An App…","url":"\/documentation\/wwdc18-203-i-have-this-idea-for-an-app\/"},{"category":"","section":"documentation","slug":"wwdc18-202-whats-new-in-cocoa-touch","summary":"iOS 12 enhances the Cocoa Touch frameworks to improve app performance and deliver exciting new features. Learn about performance best practices, security improvements, tools for supporting multiple screen sizes and shapes, new APIs for iMessage apps, Siri Shortcuts, and Swift refinements. Find out which sessions you won’t want to miss throughout the week.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc18-202-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc18-201-creating-apps-for-a-global-audience","summary":"Common assumptions can break when your app is used by a global audience. Learn about the many aspects of creating apps for different regions and languages. Understand how to use fonts and typography, layout techniques, and support text input so your app shines in all languages.","tags":[],"title":"Creating Apps for a Global Audience","url":"\/documentation\/wwdc18-201-creating-apps-for-a-global-audience\/"},{"category":"","section":"documentation","slug":"wwdc18-103-apple-design-awards","summary":"Join us for an unforgettable award ceremony celebrating developers and their outstanding work. The 2018 Apple Design Awards recognize state of the art iOS, macOS, watchOS, and tvOS apps that reflect excellence in design and innovation.","tags":[],"title":"Apple Design Awards","url":"\/documentation\/wwdc18-103-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc18-102-platforms-state-of-the-union","summary":"2018 Platforms State of the Union","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc18-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc18-101-wwdc-2018-keynote","summary":"WWDC 2018 Keynote","tags":[],"title":"WWDC 2018 Keynote","url":"\/documentation\/wwdc18-101-wwdc-2018-keynote\/"},{"category":"","section":"documentation","slug":"wwdc18","summary":"Xcode 10, Swift 4.2, iOS 12, macOS 10.14 (Mojave), tvOS 12, watchOS 5.","tags":[],"title":"WWDC18","url":"\/documentation\/wwdc18\/"},{"category":"","section":"documentation","slug":"wwdc17-823-designing-glyphs","summary":"Glyphs are a powerful communication tool and a fundamental element of your app’s design language. Learn about important considerations when conceptualizing glyphs and key design principles of crafting effective glyph sets for spaces inside and outside of your app.","tags":[],"title":"Designing Glyphs","url":"\/documentation\/wwdc17-823-designing-glyphs\/"},{"category":"","section":"documentation","slug":"wwdc17-822-app-icon-design","summary":"An app icon is the face of your app on the home screen. Learn key design principles for creating simple, unique, meaningful and beautiful app icons. Gain simple but effective techniques for testing your app icon for clarity and immediate recognizability.","tags":[],"title":"App Icon Design","url":"\/documentation\/wwdc17-822-app-icon-design\/"},{"category":"","section":"documentation","slug":"wwdc17-821-get-started-with-display-p3","summary":"Wide color displays allow your app to display richer, more vibrant and lifelike colors than ever before. Get a primer on color management, the Display P3 color space, and practical workflow techniques for producing more colorful images and icons.","tags":[],"title":"Get Started with Display P3","url":"\/documentation\/wwdc17-821-get-started-with-display-p3\/"},{"category":"","section":"documentation","slug":"wwdc17-820-express-yourself","summary":"iMessage Apps help people easily create and share content, play games, and collaborate with friends without needing to leave the conversation. Explore how you can design iMessage apps and sticker packs that are perfectly suited for a deeply social context.","tags":[],"title":"Express Yourself!","url":"\/documentation\/wwdc17-820-express-yourself\/"},{"category":"","section":"documentation","slug":"wwdc17-819-designing-for-a-global-audience","summary":"The worldwide reach of the App Store means that your app can be enjoyed by people from around the globe. Explore ways to make your app useful and appealing to as many people as possible. And pick up simple techniques for avoiding common issues when reaching a global audience.","tags":[],"title":"Designing for a Global Audience","url":"\/documentation\/wwdc17-819-designing-for-a-global-audience\/"},{"category":"","section":"documentation","slug":"wwdc17-818-60second-prototyping","summary":"Learn how to quickly build interactive prototypes! See how you can test new ideas and improve upon existing ones with minimal time investment and using tools you are already familiar with.","tags":[],"title":"60-Second Prototyping","url":"\/documentation\/wwdc17-818-60second-prototyping\/"},{"category":"","section":"documentation","slug":"wwdc17-817-rich-notifications","summary":"Discover the keys to creating informative, useful and beautiful rich notifications in iOS. Get practical and detailed guidance about how to design short looks, long looks, and quick actions that will make your app’s notifications something people look forward to receiving.","tags":[],"title":"Rich Notifications","url":"\/documentation\/wwdc17-817-rich-notifications\/"},{"category":"","section":"documentation","slug":"wwdc17-816-love-at-first-launch","summary":"Engage people from the first moment they open your app, and keep them coming back for more. Learn tips on how to make a compelling first impression, methods for teaching new users about your app, and best practices when asking users for more information.","tags":[],"title":"Love at First Launch","url":"\/documentation\/wwdc17-816-love-at-first-launch\/"},{"category":"","section":"documentation","slug":"wwdc17-815-how-to-pick-a-custom-font","summary":"Choosing a custom font for your app can be a daunting task involving both functional and stylistic decisions. Gain a solid understanding of fundamental font design characteristics such as proportion and contrast. Learn how to apply this knowledge when deciding which font is right for your app.","tags":[],"title":"How to Pick a Custom Font","url":"\/documentation\/wwdc17-815-how-to-pick-a-custom-font\/"},{"category":"","section":"documentation","slug":"wwdc17-813-writing-great-alerts","summary":"Learn how to create clear, informative, and helpful alerts that will make your app easy and enjoyable to use. Get valuable insights about the proper role for alerts, actionable guidance about writing effective alerts, and techniques for avoiding common pitfalls.","tags":[],"title":"Writing Great Alerts","url":"\/documentation\/wwdc17-813-writing-great-alerts\/"},{"category":"","section":"documentation","slug":"wwdc17-812-size-classes-and-core-components","summary":"Designing for multiple screen sizes can seem complicated, difficult, and time-consuming. Learn how size classes, dynamic type, and UIKit elements help your app to scale elegantly, save you time, and make your app look amazing on whatever device people are using.","tags":[],"title":"Size Classes and Core Components","url":"\/documentation\/wwdc17-812-size-classes-and-core-components\/"},{"category":"","section":"documentation","slug":"wwdc17-811-design-tips-for-great-games","summary":"Great games transport us into another world where we can reign over a kingdom, fight epic battles, or become a pinball wizard. Learn on-boarding and UI design best practices that will enable everyone to lose themselves in your game and have fun.","tags":[],"title":"Design Tips for Great Games","url":"\/documentation\/wwdc17-811-design-tips-for-great-games\/"},{"category":"","section":"documentation","slug":"wwdc17-810-whats-new-in-ios-11","summary":"See how the updates to UIKit controls and text styles in iOS 11 can help you design an app with a stronger visual hierarchy, clearer navigation, and a simpler interface that’s easier to use.","tags":[],"title":"What’s New in iOS 11","url":"\/documentation\/wwdc17-810-whats-new-in-ios-11\/"},{"category":"","section":"documentation","slug":"wwdc17-809-communication-between-designers-and-engineers","summary":"Good communication between designers and engineers is the key to building great products. Discover how production and specification techniques can improve communication, build trust, and help design and development teams work together to build better apps.","tags":[],"title":"Communication Between Designers and Engineers","url":"\/documentation\/wwdc17-809-communication-between-designers-and-engineers\/"},{"category":"","section":"documentation","slug":"wwdc17-808-planning-a-great-apple-watch-experience","summary":"Creating a great Watch experience involves planning and attention to detail. Learn how to focus your development for Apple Watch to ensure that the experience is timely and contextually relevant for your users. Walk through a case study of the WWDC Watch app and gain insights from the development team’s experience across three versions of the app. Finally, learn design and technical tips for making your watchOS app the best it can be.","tags":[],"title":"Planning a Great Apple Watch Experience","url":"\/documentation\/wwdc17-808-planning-a-great-apple-watch-experience\/"},{"category":"","section":"documentation","slug":"wwdc17-806-design-for-everyone","summary":"By understanding the range of abilities and capabilities of the people who use our apps, you can design robust apps that work for everyone. Learn how designing for accessibility and inclusiveness can do social good, widen participation, and enable everyone to benefit.","tags":[],"title":"Design For Everyone","url":"\/documentation\/wwdc17-806-design-for-everyone\/"},{"category":"","section":"documentation","slug":"wwdc17-804-designing-across-platforms","summary":"Learn techniques for determining which Apple platforms are right for your app and how to create a great user experience by designing for the unique capabilities and strengths of each platform.","tags":[],"title":"Designing Across Platforms","url":"\/documentation\/wwdc17-804-designing-across-platforms\/"},{"category":"","section":"documentation","slug":"wwdc17-803-designing-sound","summary":"Design is not just about what people see, it’s also about what they hear. Learn about how sound design can help you create a more immersive, usable and meaningful user experience in your app or game, and get a glimpse of how the sounds in Apple products are created.","tags":[],"title":"Designing Sound","url":"\/documentation\/wwdc17-803-designing-sound\/"},{"category":"","section":"documentation","slug":"wwdc17-802-essential-design-principles","summary":"Design principles are the key to understanding how design serves human needs for safety, meaning, achievement and beauty. Learn what these principles are and how they can help you design more welcoming, understandable, empowering and gratifying user experiences.","tags":[],"title":"Essential Design Principles","url":"\/documentation\/wwdc17-802-essential-design-principles\/"},{"category":"","section":"documentation","slug":"wwdc17-719-enabling-your-app-for-carplay","summary":"Understand how to enable your audio, messaging, VoIP calling or automaker app for CarPlay. Audio, messaging and VoIP calling apps use a consistent design that’s optimized for use in the car. Automaker apps provide vehicle specific controls and displays to keep drivers connected without leaving CarPlay. Explore best practices and learn about the tools and frameworks for CarPlay apps.","tags":[],"title":"Enabling Your App for CarPlay","url":"\/documentation\/wwdc17-719-enabling-your-app-for-carplay\/"},{"category":"","section":"documentation","slug":"wwdc17-718-introducing-core-nfc","summary":"Core NFC is an exciting new framework that enables you to read NFC tags in your apps on iPhone 7 and iPhone 7 Plus.  Learn how to integrate Core NFC into your apps, key requirements for using this feature, and start thinking about the new kinds of apps that are enabled with NFC capabilities.","tags":[],"title":"Introducing Core NFC","url":"\/documentation\/wwdc17-718-introducing-core-nfc\/"},{"category":"","section":"documentation","slug":"wwdc17-717-developing-wireless-carplay-systems","summary":"Wireless CarPlay is perfect for any trip. Get in your car without taking your iPhone out of your bag or pocket, and start experiencing CarPlay effortlessly. Learn how to design your CarPlay system to connect wirelessly to iPhone. Understand hardware requirements, best practices for a great user experience, and how to optimize the pairing and reconnection process.","tags":[],"title":"Developing Wireless CarPlay Systems","url":"\/documentation\/wwdc17-717-developing-wireless-carplay-systems\/"},{"category":"","section":"documentation","slug":"wwdc17-716-ios-configuration-and-apis-for-kiosk-and-assessment-apps","summary":"iOS provides several techniques for keeping your app front and center. Whether you’re building a kiosk, hospitality check-in, or educational assessment app, choosing the right app-lock technique is critical. From Guided Access to Automatic Assessment Configuration you’ll learn which approach works best for your unique experience.","tags":[],"title":"iOS Configuration and APIs for Kiosk and Assessment Apps","url":"\/documentation\/wwdc17-716-ios-configuration-and-apis-for-kiosk-and-assessment-apps\/"},{"category":"","section":"documentation","slug":"wwdc17-715-whats-new-in-apple-file-system","summary":"The Apple File System (APFS) is a modern file system, optimized for responsiveness on Flash\/SSD storage, and designed for extensibility, security, and data integrity. APFS is now the default filesystem on iOS, tvOS, and watchOS. Learn about what’s new for APFS on the Mac and how to take advantage of its new features in your apps.","tags":[],"title":"What’s New in Apple File System","url":"\/documentation\/wwdc17-715-whats-new-in-apple-file-system\/"},{"category":"","section":"documentation","slug":"wwdc17-714-whats-new-in-apple-pay-and-wallet","summary":"Apple Pay is the easy and secure way to accept payments in your app and website on iPhone, iPad, Apple Watch, and Mac. Get the latest news and updates from the Wallet and Apple Pay teams. New for this year, increase your conversions by providing feedback to users right in the Apple Pay sheet. Discover great new Wallet features like pass sharing controls, and increase customer satisfaction and sales with UI best practices.","tags":[],"title":"What’s New in Apple Pay & Wallet","url":"\/documentation\/wwdc17-714-whats-new-in-apple-pay-and-wallet\/"},{"category":"","section":"documentation","slug":"wwdc17-713-whats-new-in-location-technologies","summary":"Location technologies are core to delivering context-based services within your app. Discover how advances in the Core Location Framework APIs provide new and more performant features in a manner designed to provide confidence for you privacy-conscious users. See how changes in iOS 11 provide clearer communication to your users of when their location is being queried and allows them to provide more granular access authorization to your app.","tags":[],"title":"What’s New in Location Technologies","url":"\/documentation\/wwdc17-713-whats-new-in-location-technologies\/"},{"category":"","section":"documentation","slug":"wwdc17-712-whats-new-in-core-bluetooth","summary":"Discover how watchOS 4 makes it possible for a watchOS app to communicate with Bluetooth Low Energy accessories.  Learn about changes to Core Bluetooth that improve reliability and enable high performance streaming connections with Bluetooth Low Energy Accessories. Understand the best practices in Bluetooth Low Energy accessory design.","tags":[],"title":"What’s New in Core Bluetooth","url":"\/documentation\/wwdc17-712-whats-new-in-core-bluetooth\/"},{"category":"","section":"documentation","slug":"wwdc17-711-accelerate-and-sparse-solvers","summary":"Learn about Sparse Matrix Solvers in the Accelerate framework. In addition, find out how Accelerate’s Basic Neural Network Subroutines (BNNS), vDSP, simd and other subframeworks give you fast, energy-efficient signal and image processing and handle large-scale mathematical computations.","tags":[],"title":"Accelerate and Sparse Solvers","url":"\/documentation\/wwdc17-711-accelerate-and-sparse-solvers\/"},{"category":"","section":"documentation","slug":"wwdc17-710-core-ml-in-depth","summary":"Dive deeper into the details of the new Core ML framework. Explore how machine learning model development and app development fit together. Take a closer look at how models are represented and how models can be converted from popular machine learning and deep learning libraries, and learn about the performance optimizations Core ML does behind the scenes.","tags":[],"title":"Core ML in depth","url":"\/documentation\/wwdc17-710-core-ml-in-depth\/"},{"category":"","section":"documentation","slug":"wwdc17-709-advances-in-networking-part-2","summary":"Learn about important improvements to URLSession. Find out how to use new URLSession APIs to better handle connectivity fluctuations, to schedule background session tasks, and to receive progress reports for session tasks. Plus, gain insights into valuable best practices, tips, and news about ongoing work with emerging network technologies.","tags":[],"title":"Advances in Networking, Part 2","url":"\/documentation\/wwdc17-709-advances-in-networking-part-2\/"},{"category":"","section":"documentation","slug":"wwdc17-708-best-practices-and-whats-new-in-user-notifications","summary":"Local and push notifications enable your app to keep users informed with timely and relevant content, by displaying messages and accepting users’ actions, or playing distinctive sounds, or updating the badge on your app icon. Service extensions enable your app to decrypt and augment push notification content before being displayed. Find out what’s new and get expert advice on implementing user notifications in your app.","tags":[],"title":"Best Practices and What’s New in User Notifications","url":"\/documentation\/wwdc17-708-best-practices-and-whats-new-in-user-notifications\/"},{"category":"","section":"documentation","slug":"wwdc17-707-advances-in-networking-part-1","summary":"Find out how Apple’s networking libraries and frameworks are taking advantage of new and improved protocols to deliver better connectivity and performance for your apps. In this first of two sessions, we’ll cover ECN, IPv6, Network Extensions, and Multipath protocols.","tags":[],"title":"Advances in Networking, Part 1","url":"\/documentation\/wwdc17-707-advances-in-networking-part-1\/"},{"category":"","section":"documentation","slug":"wwdc17-706-modernizing-grand-central-dispatch-usage","summary":"macOS 10.13 and iOS 11 have reinvented how Grand Central Dispatch and the Darwin kernel collaborate, enabling your applications to run concurrent workloads more efficiently. Learn how to modernize your code to take advantage of these improvements and make optimal use of hardware resources.","tags":[],"title":"Modernizing Grand Central Dispatch Usage","url":"\/documentation\/wwdc17-706-modernizing-grand-central-dispatch-usage\/"},{"category":"","section":"documentation","slug":"wwdc17-705-whats-new-in-homekit","summary":"Learn about the new types of HomeKit accessories supported in iOS 11, new accessory setup options, and how enhancements to triggers make it possible to automatically run scenes based on who is home, only at certain times, and with more types of accessories.  Understand how improvements to the HomeKit protocol greatly improve the responsiveness of HomeKit accessories.  Discover how HomeKit accessory development is now open for experimentation & exploration.","tags":[],"title":"What’s New in HomeKit","url":"\/documentation\/wwdc17-705-whats-new-in-homekit\/"},{"category":"","section":"documentation","slug":"wwdc17-704-creating-immersive-apps-with-core-motion","summary":"Discover how enhancements in authorization simplify accessing sensitive and historical motion data. Learn how to use DeviceMotion effectively and how to leverage SensorRecorder to capture hours of motion data.  Walk through adding immersive motion controls to enhance an existing game.","tags":[],"title":"Creating Immersive Apps with Core Motion","url":"\/documentation\/wwdc17-704-creating-immersive-apps-with-core-motion\/"},{"category":"","section":"documentation","slug":"wwdc17-703-introducing-core-ml","summary":"Machine learning opens up opportunities for creating new and engaging experiences. Core ML is a new framework which you can use to easily integrate machine learning models into your app. See how Xcode and Core ML can help you make your app more intelligent with just a few lines of code.","tags":[],"title":"Introducing Core ML","url":"\/documentation\/wwdc17-703-introducing-core-ml\/"},{"category":"","section":"documentation","slug":"wwdc17-702-privacy-and-your-apps","summary":"Protecting user privacy is a core principal in the Apple ecosystem. Learn what that means for the way you design and implement your apps, and learn about privacy-related changes, including new APIs, in the next versions of iOS, macOS, watchOS and tvOS.","tags":[],"title":"Privacy and Your Apps","url":"\/documentation\/wwdc17-702-privacy-and-your-apps\/"},{"category":"","section":"documentation","slug":"wwdc17-701-your-apps-and-evolving-network-security-standards","summary":"Security standards are continuing to evolve to counter emerging threats, and so too must your apps if you want to best protect your users and their data. Learn about new developments in certificate handling, TLS, and certificate status checking on iOS, macOS, watchOS, and tvOS that impact your apps.","tags":[],"title":"Your Apps and Evolving Network Security Standards","url":"\/documentation\/wwdc17-701-your-apps-and-evolving-network-security-standards\/"},{"category":"","section":"documentation","slug":"wwdc17-610-from-art-to-engine-with-model-io","summary":"Model I\/O makes it easy to bridge the divide between artists’ tools and your custom engine. See how to build a Model I\/O-powered art pipeline to bring assets from content creation tools into a Metal 2-based renderer. Learn strategies for baking 3D content into structures optimal for real-time rendering, and best practices for working with animation data, common mesh and model formats, textures, and materials.","tags":[],"title":"From Art to Engine with Model I\/O","url":"\/documentation\/wwdc17-610-from-art-to-engine-with-model-io\/"},{"category":"","section":"documentation","slug":"wwdc17-609-going-beyond-2d-with-spritekit","summary":"SpriteKit makes it easy to create high-performance, power-efficient 2D games and more. See how to take SpriteKit objects into Augmented Reality through seamless integration with ARKit. Learn about mixing 2D and 3D content and applying realistic transformations. Take direct control over SpriteKit rendering and walk through offline rendering into a Metal texture.","tags":[],"title":"Going Beyond 2D with SpriteKit","url":"\/documentation\/wwdc17-609-going-beyond-2d-with-spritekit\/"},{"category":"","section":"documentation","slug":"wwdc17-608-using-metal-2-for-compute","summary":"Metal Performance Shaders (MPS) provides a highly tuned library of functions that extend the power of the GPU for more than just graphics. With Metal 2, MPS comes to the Mac along with an expanded set of capabilities. Learn how to tap into the latest image processing operations, perform linear algebra operations, and accelerate machine learning algorithms via new primitives and a graph API to build and execute neural networks on the GPU.","tags":[],"title":"Using Metal 2 for Compute","url":"\/documentation\/wwdc17-608-using-metal-2-for-compute\/"},{"category":"","section":"documentation","slug":"wwdc17-607-metal-2-optimization-and-debugging","summary":"Developing Metal 2-based apps is even easier with the redesigned tools for debugging and profiling in Xcode. Dive into the enhanced Metal Frame Debugger and explore techniques for fine-tuning graphics and compute workloads. Learn about accessing detailed GPU performance counters, and check out new support in Metal System Trace for optimizing VR apps.","tags":[],"title":"Metal 2 Optimization and Debugging","url":"\/documentation\/wwdc17-607-metal-2-optimization-and-debugging\/"},{"category":"","section":"documentation","slug":"wwdc17-606-whats-new-with-screen-recording-and-live-broadcast","summary":"Check out the new capabilities of ReplayKit 2 and see how to access its rich functionality right from Control Center. Learn about in-app capture, giving apps direct sample-level access to their audio and screen output. Get details about developing a live broadcast extension, and discover how apps can be coupled to a preferred broadcast provider.","tags":[],"title":"What’s New with Screen Recording and Live Broadcast","url":"\/documentation\/wwdc17-606-whats-new-with-screen-recording-and-live-broadcast\/"},{"category":"","section":"documentation","slug":"wwdc17-605-scenekit-in-swift-playgrounds","summary":"Discover tips and tricks gleaned by the Swift Playgrounds Content team for working more effectively with SceneKit on a visually rich app. Learn how to integrate animation, optimize rendering performance, design for accessibility, add visual polish, and understand strategies for creating an effective workflow with 3D assets.","tags":[],"title":"SceneKit in Swift Playgrounds","url":"\/documentation\/wwdc17-605-scenekit-in-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc17-604-scenekit-whats-new","summary":"SceneKit is a fast and fully featured high-level 3D graphics framework that enables your apps and games to create immersive scenes and effects. See the latest advances in camera control and effects for simulating real camera optics including bokeh and motion blur. Learn about surface subdivision and tessellation to create smooth-looking surfaces right on the GPU starting from a coarser mesh. Check out new integration with ARKit and workflow improvements enabled by the Xcode Scene Editor.","tags":[],"title":"SceneKit: What’s New","url":"\/documentation\/wwdc17-604-scenekit-whats-new\/"},{"category":"","section":"documentation","slug":"wwdc17-603-vr-with-metal-2","summary":"Metal 2 provides powerful and specialized support for Virtual Reality (VR) rendering and external GPUs. Get details about adopting these emerging technologies within your Metal 2-based apps and games on macOS High Sierra. Walk through integrating Metal 2 with the SteamVR SDK and learn about efficiently rendering to a VR headset. Understand how external GPUs take macOS graphics to a whole new level and see how to prepare your apps to take advantage of their full potential.","tags":[],"title":"VR with Metal 2","url":"\/documentation\/wwdc17-603-vr-with-metal-2\/"},{"category":"","section":"documentation","slug":"wwdc17-602-introducing-arkit-augmented-reality-for-ios","summary":"ARKit provides a cutting-edge platform for developing augmented reality (AR) apps for iPhone and iPad. Get introduced to the ARKit framework and learn about harnessing its powerful capabilities for positional tracking and scene understanding. Tap into its seamless integration with SceneKit and SpriteKit, and understand how to take direct control over rendering with Metal 2.","tags":[],"title":"Introducing ARKit: Augmented Reality for iOS","url":"\/documentation\/wwdc17-602-introducing-arkit-augmented-reality-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc17-601-introducing-metal-2","summary":"Metal 2 provides near-direct access to the graphics processor (GPU), enabling your apps and games to realize their full graphics and compute potential. Dive into the breakthrough features of Metal 2 that empower the GPU to take control over key aspects of the rendering pipeline. Check out how Metal 2 enables essential tasks to be specified on-the-fly by the GPU, opening up new efficiencies for advanced rendering.","tags":[],"title":"Introducing Metal 2","url":"\/documentation\/wwdc17-601-introducing-metal-2\/"},{"category":"","section":"documentation","slug":"wwdc17-515-hls-authoring-update","summary":"HTTP Live Streaming (HLS) reliably delivers video to audiences around the world. Key to this reliability is a comprehensive set of tools to help you author, deliver, and validate the HLS streams you create. See what’s new in these tools, learn the latest authoring recommendations, and how they apply to advances in HLS such as support for HEVC and IMSC1.","tags":[],"title":"HLS Authoring Update","url":"\/documentation\/wwdc17-515-hls-authoring-update\/"},{"category":"","section":"documentation","slug":"wwdc17-514-error-handling-best-practices-for-http-live-streaming","summary":"HTTP Live Streaming (HLS) reliably delivers media content across a variety of network and bandwidth conditions. However, there are many factors that can impact stream delivery, such as server or encoder failures, caching issues, or network dropouts. Learn the best-practice behaviors that your servers should adopt to maximize reliability, and gain a practical understanding of the errors your app may encounter and how to handle them.","tags":[],"title":"Error Handling Best Practices for HTTP Live Streaming","url":"\/documentation\/wwdc17-514-error-handling-best-practices-for-http-live-streaming\/"},{"category":"","section":"documentation","slug":"wwdc17-513-high-efficiency-image-file-format","summary":"Learn the essential details of the new High Efficiency Image File Format (HEIF) and discover which capabilities are used by Apple platforms. Gain deep insights into the container structure, the types of media and metadata it can handle, and the many other advantages that this new standard affords.","tags":[],"title":"High Efficiency Image File Format","url":"\/documentation\/wwdc17-513-high-efficiency-image-file-format\/"},{"category":"","section":"documentation","slug":"wwdc17-512-apple-podcasts","summary":"Podcasts reach millions of listeners around the world every year. iOS 11 upgrades the Apple Podcasts app to support new feed structures for serialized shows. Discover how to publish your own podcast and take advantage of all the features and capabilities in this comprehensive podcasting session.","tags":[],"title":"Apple Podcasts","url":"\/documentation\/wwdc17-512-apple-podcasts\/"},{"category":"","section":"documentation","slug":"wwdc17-511-working-with-heif-and-hevc","summary":"High Efficiency Image File Format (HEIF) and High Efficiency Video Coding (HEVC) are powerful new standards-based technologies for storing and delivering images and video. Gain insights about how to take advantage of these next generation formats and dive deeper into the APIs that allow you to fully harness them in your apps.","tags":[],"title":"Working with HEIF and HEVC","url":"\/documentation\/wwdc17-511-working-with-heif-and-hevc\/"},{"category":"","section":"documentation","slug":"wwdc17-510-advances-in-core-image-filters-metal-vision-and-more","summary":"Get all the details on how to access the latest capabilities of Core Image. Learn about new ways to efficiently render images and create custom CIKernels in the Metal Shading Language. Find out about all of the new CIFilters that include support for applying image processing to depth data and handling barcodes. See how the Vision framework can be leveraged within Core Image to do amazing things.","tags":[],"title":"Advances in Core Image: Filters, Metal, Vision, and More","url":"\/documentation\/wwdc17-510-advances-in-core-image-filters-metal-vision-and-more\/"},{"category":"","section":"documentation","slug":"wwdc17-509-introducing-airplay-2","summary":"AirPlay allows you to wirelessly stream content from your iOS device or Mac. Now with AirPlay 2, you can fill the home with multi-room audio. Learn how AirPlay 2 synchronizes playback and provides an even more reliable audio experience, and how to incorporate support for AirPlay 2 into your app.","tags":[],"title":"Introducing AirPlay 2","url":"\/documentation\/wwdc17-509-introducing-airplay-2\/"},{"category":"","section":"documentation","slug":"wwdc17-508-image-editing-with-depth","summary":"When using Portrait mode, depth data is now embedded in photos captured on iPhone 7 Plus. In this second session on depth, see which key APIs allow you to leverage this data in your app. Learn how to process images that include depth and preserve the data when manipulating the image. Get inspired to add creative new effects to your app and enable your users to do amazing things with their photos.","tags":[],"title":"Image Editing with Depth","url":"\/documentation\/wwdc17-508-image-editing-with-depth\/"},{"category":"","section":"documentation","slug":"wwdc17-507-capturing-depth-in-iphone-photography","summary":"Portrait mode on iPhone 7 Plus showcases the power of depth in photography. In iOS 11, the depth data that drives this feature is now available to your apps. Learn how to use depth to open up new possibilities for creative imaging. Gain a broader understanding of high-level depth concepts and learn how to capture both streaming and still image depth data from the camera.","tags":[],"title":"Capturing Depth in iPhone Photography","url":"\/documentation\/wwdc17-507-capturing-depth-in-iphone-photography\/"},{"category":"","section":"documentation","slug":"wwdc17-506-vision-framework-building-on-core-ml","summary":"Vision is a new, powerful, and easy-to-use framework that provides solutions to computer vision challenges through a consistent interface. Understand how to use the Vision API to detect faces, compute facial landmarks, track objects, and more. Learn how to take things even further by providing custom machine learning models for Vision tasks using CoreML.","tags":[],"title":"Vision Framework: Building on Core ML","url":"\/documentation\/wwdc17-506-vision-framework-building-on-core-ml\/"},{"category":"","section":"documentation","slug":"wwdc17-505-whats-new-in-photos-apis","summary":"Learn all about newest APIs in Photos on iOS and macOS, providing better integration and new possibilities for your app. We’ll discuss simplifications to accessing the Photos library through UIImagePickerController, explore additions to PhotoKit to support new media types, and share all the details of the new Photos Project Extensions which enable you to bring photo services to Photos for Mac.","tags":[],"title":"What’s New in Photos APIs","url":"\/documentation\/wwdc17-505-whats-new-in-photos-apis\/"},{"category":"","section":"documentation","slug":"wwdc17-504-advances-in-http-live-streaming","summary":"HTTP Live Streaming allows you to stream live and on-demand content to global audiences. Learn about great new features and enhancements to HTTP Live Streaming. Highlights include support for HEVC, playlist metavariables, IMSC1 subtitles, and synchronized playback of multiple streams. Discover how to simplify your FairPlay key handling with the new AVContentKeySession API, and take advantage of enhancements to offline HLS playback.","tags":[],"title":"Advances in HTTP Live Streaming","url":"\/documentation\/wwdc17-504-advances-in-http-live-streaming\/"},{"category":"","section":"documentation","slug":"wwdc17-503-introducing-heif-and-hevc","summary":"High Efficiency Image File Format (HEIF) and High Efficiency Video Coding (HEVC) are powerful new standards-based technologies for storing and delivering images and audiovisual media. Get introduced to these next generation space-saving codecs and their associated container formats. Learn how to work with them across Apple platforms and how you can take advantage of them in your own apps.","tags":[],"title":"Introducing HEIF and HEVC","url":"\/documentation\/wwdc17-503-introducing-heif-and-hevc\/"},{"category":"","section":"documentation","slug":"wwdc17-502-introducing-musickit","summary":"Get introduced to the new API for the Apple Music subscription service.  Learn how to add Apple Music playback in your own app, and discover how to search the catalogue, manage playback queues, and engage with playlists and recommendations.","tags":[],"title":"Introducing MusicKit","url":"\/documentation\/wwdc17-502-introducing-musickit\/"},{"category":"","section":"documentation","slug":"wwdc17-501-whats-new-in-audio","summary":"Apple platforms provide a comprehensive set of audio frameworks that are essential to creating powerful audio solutions and rich app experiences. Come learn about enhancements to AVAudioEngine, support for high-order ambisonics, and new capabilities for background audio recording on watchOS. See how to take advantage of these new audio technologies and APIs in this session.","tags":[],"title":"What’s New in Audio","url":"\/documentation\/wwdc17-501-whats-new-in-audio\/"},{"category":"","section":"documentation","slug":"wwdc17-416-teaching-with-swift-playgrounds","summary":"Teaching can be difficult and teaching programming can be even harder — it’s abstract and concrete at the same time, and you must help the learner build a mental model of what code really does. Find out how the Swift Playgrounds content team works through the teaching process, from idea to finished playground. We’ll cover lessons learned building the Learn to Code series, and tips and methods we’ve developed to streamline our current workflow. Come away with valuable teaching insights and a great head start on building your own instructional content.","tags":[],"title":"Teaching with Swift Playgrounds","url":"\/documentation\/wwdc17-416-teaching-with-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc17-414-engineering-for-testability","summary":"Unit testing is an essential tool to consistently verify your code works correctly. Discover techniques for designing the code of your app so that it can be easily tested. Find out the best practices for developing a test suite that evolves with your app and scales as your app grows.","tags":[],"title":"Engineering for Testability","url":"\/documentation\/wwdc17-414-engineering-for-testability\/"},{"category":"","section":"documentation","slug":"wwdc17-413-app-startup-time-past-present-and-future","summary":"Learn about the dyld dynamic linker used on Apple platforms, how it’s changed over the years, and where it’s headed next. Find out how improved tooling makes it easier to optimize your app’s launch time, and see how new changes coming in dyld will bring even further launch time improvements.","tags":[],"title":"App Startup Time: Past, Present, and Future","url":"\/documentation\/wwdc17-413-app-startup-time-past-present-and-future\/"},{"category":"","section":"documentation","slug":"wwdc17-412-auto-layout-techniques-in-interface-builder","summary":"Auto Layout enables you to easily create robust layouts for your apps. Hear details about new and existing techniques for building layouts in Interface Builder. Learn how to build more dynamic layouts and handle state changes using priorities and size classes. Find out how iOS 11 support for dynamic type and safe areas can ensure your content can be viewed by anyone.","tags":[],"title":"Auto Layout Techniques in Interface Builder","url":"\/documentation\/wwdc17-412-auto-layout-techniques-in-interface-builder\/"},{"category":"","section":"documentation","slug":"wwdc17-411-whats-new-in-llvm","summary":"The Apple LLVM compiler in Xcode 9 has new language features, improved diagnostics, and more powerful optimizations. Keep up with the newest additions to Objective-C and C++, get an overview of new and improved warnings and static analyzer checks, and learn about how the LLVM compiler technology is delivering faster build times and better runtime performance for your apps.","tags":[],"title":"What’s New in LLVM","url":"\/documentation\/wwdc17-411-whats-new-in-llvm\/"},{"category":"","section":"documentation","slug":"wwdc17-410-localizing-content-for-swift-playgrounds","summary":"Localizing a playground book is more than just translation. Explore best practices, potential problem areas, and the unique challenges of localizing educational content. Understand how a localized playground book is structured and hear about the lessons learned by the people who made it happen.","tags":[],"title":"Localizing Content for Swift Playgrounds","url":"\/documentation\/wwdc17-410-localizing-content-for-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc17-409-whats-new-in-testing","summary":"Xcode 9 has new APIs for structuring your test logging and including your own attachments and screenshots, as well as new support for parallel device and simulator testing. Learn how to write UI tests that target multiple applications, and find out ways to improve the performance of your UI tests.","tags":[],"title":"What’s New in Testing","url":"\/documentation\/wwdc17-409-whats-new-in-testing\/"},{"category":"","section":"documentation","slug":"wwdc17-408-whats-new-in-swift-playgrounds","summary":"Learn more about the new features in Swift Playgrounds, such as support for localized content and user-added pages. Learn how to leverage these new features to build engaging content in the latest playground book format. Harness external accessories using the new PlaygroundBluetooth framework, and take advantage of new frameworks added in iOS 11.","tags":[],"title":"What’s New in Swift Playgrounds","url":"\/documentation\/wwdc17-408-whats-new-in-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc17-407-understanding-undefined-behavior","summary":"Undefined behavior in programming languages can introduce difficult to diagnose bugs and even lead to security vulnerabilities in your App. Learn more about undefined behavior, the tools available in Xcode 9 that address it, and why Swift is safer by design.","tags":[],"title":"Understanding Undefined Behavior","url":"\/documentation\/wwdc17-407-understanding-undefined-behavior\/"},{"category":"","section":"documentation","slug":"wwdc17-406-finding-bugs-using-xcode-runtime-tools","summary":"Learn how to use Xcode 9 runtime tools to help find issues and bugs, ranging from missing and unintended UI updates to integer overflows and data races on collection APIs.  Hear about the new Undefined Behavior Sanitizer and Main Thread Checker runtime tools in Xcode 9, and the improvements to Address and Thread Sanitizers.","tags":[],"title":"Finding Bugs Using Xcode Runtime Tools","url":"\/documentation\/wwdc17-406-finding-bugs-using-xcode-runtime-tools\/"},{"category":"","section":"documentation","slug":"wwdc17-405-github-and-the-new-source-control-workflows-in-xcode-9","summary":"Learn about the new tools in Xcode 9 for exploring the source control history of your projects. See how Xcode integrates with GitHub, and discover how the new source control navigator makes it easy to browse branches, tags, and detailed history and commit information.","tags":[],"title":"GitHub and the New Source Control Workflows in Xcode 9","url":"\/documentation\/wwdc17-405-github-and-the-new-source-control-workflows-in-xcode-9\/"},{"category":"","section":"documentation","slug":"wwdc17-404-debugging-with-xcode-9","summary":"Xcode 9 introduces wireless development for iOS and tvOS. Discover how to configure and use wireless development with your devices. Learn about Xcode’s latest debugging features — including debugging workflow enhancements, and new view debugging support for view controllers, SpriteKit and SceneKit — now with no strings attached.","tags":[],"title":"Debugging with Xcode 9","url":"\/documentation\/wwdc17-404-debugging-with-xcode-9\/"},{"category":"","section":"documentation","slug":"wwdc17-403-whats-new-in-signing-for-xcode-and-xcode-server","summary":"Learn about new advances in Xcode’s support for code signing, including more powerful distribution signing, better integration with Xcode Server, and more control for working with manual signing assets.","tags":[],"title":"What’s New in Signing for Xcode and Xcode Server","url":"\/documentation\/wwdc17-403-whats-new-in-signing-for-xcode-and-xcode-server\/"},{"category":"","section":"documentation","slug":"wwdc17-402-whats-new-in-swift","summary":"Swift 4 continues the evolution of the safe, fast, and expressive language, with better performance and new features. Learn about the new String and improved generics, see how Swift 4 maintains support for your existing Swift 3 code, and get insight into where Swift is headed in the future.","tags":[],"title":"What’s New in Swift","url":"\/documentation\/wwdc17-402-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc17-401-localizing-with-xcode-9","summary":"Build world-ready apps using Xcode by following some simple steps to manage strings and assets, and display your user interface. Take your localized apps even further with new technologies and features in Xcode 9. Learn how Xcode 9 helps you design, localize, and test your app in multiple languages.","tags":[],"title":"Localizing with Xcode 9","url":"\/documentation\/wwdc17-401-localizing-with-xcode-9\/"},{"category":"","section":"documentation","slug":"wwdc17-305-advanced-storekit","summary":"Gain an understanding of the pros and cons of server- versus app-based receipt validation, and how to implement this critical functionality for your In-App Purchases.  Get the latest news, and valuable tips for keeping subscribers and managing subscriptions. Learn about a major improvement to In-App Purchases: Server-to-Server Notifications. And finally, get detailed instructions for testing with the In-App Purchase sandbox.","tags":[],"title":"Advanced StoreKit","url":"\/documentation\/wwdc17-305-advanced-storekit\/"},{"category":"","section":"documentation","slug":"wwdc17-304-whats-new-in-device-configuration-deployment-and-management","summary":"Platform features and tools make it easy to configure, deploy and manage Apple devices in organizations of all sizes. Discover new and updated configuration capabilities for each platform, updated app deployment techniques and tool changes that make low-bandwidth updates more accessible. Learn how educational institutions can use the advancements in Apple School Manager and Classroom to make configuring student devices even easier.","tags":[],"title":"What’s New in Device Configuration, Deployment, and Management","url":"\/documentation\/wwdc17-304-whats-new-in-device-configuration-deployment-and-management\/"},{"category":"","section":"documentation","slug":"wwdc17-303-whats-new-in-storekit","summary":"Starting with an expert guide to implementing the In-App Purchase workflow, learn about Promoted In-App Purchases and how to use the new StoreKit APIs. Find out what’s involved for your server and apps. And finally, get the details and guidance on asking for Ratings and Reviews, and responding to Reviews.","tags":[],"title":"What’s New in StoreKit","url":"\/documentation\/wwdc17-303-whats-new-in-storekit\/"},{"category":"","section":"documentation","slug":"wwdc17-302-whats-new-in-itunes-connect","summary":"iTunes Connect has been updated to make the experience of delivering your app to the new App Store even better. Learn about new and updated meta-data requirements, capabilities to support promotion of in-app purchases and techniques for handling customer reviews. Discover how new TestFlight features and deployment options can help you test and deploy your next masterpiece.","tags":[],"title":"What’s New in iTunes Connect","url":"\/documentation\/wwdc17-302-whats-new-in-itunes-connect\/"},{"category":"","section":"documentation","slug":"wwdc17-301-introducing-the-new-app-store","summary":"Redesigned from the ground up, the new App Store provides a fresh approach to marketing your app.  Learn how the new functionality, enhanced editorial features, and the thinking that drove the visual changes are all designed to make your apps and in-app purchase more discoverable and appealing to your customers.","tags":[],"title":"Introducing the New App Store","url":"\/documentation\/wwdc17-301-introducing-the-new-app-store\/"},{"category":"","section":"documentation","slug":"wwdc17-251-now-playing-and-remote-commands-on-tvos","summary":"Consistent and intuitive control of media playback is key to many apps on tvOS, and proper use and configuration of MPNowPlayingInfoCenter and MPRemoteCommandCenter are critical to delivering a great user experience. Dive deeper into these frameworks and learn how to ensure a seamless experience whether your app is being controlled using Siri, the Siri Remote, or the iOS Remote app.","tags":[],"title":"Now Playing and Remote Commands on tvOS","url":"\/documentation\/wwdc17-251-now-playing-and-remote-commands-on-tvos\/"},{"category":"","section":"documentation","slug":"wwdc17-250-extend-your-apps-presence-with-deep-linking","summary":"Learn about deep linking and how universal links can be used to make your app’s content and functionality accessible throughout iOS.","tags":[],"title":"Extend Your App’s Presence with Deep Linking","url":"\/documentation\/wwdc17-250-extend-your-apps-presence-with-deep-linking\/"},{"category":"","section":"documentation","slug":"wwdc17-249-filtering-unwanted-messages-with-identity-lookup","summary":"Unwanted SMS and MMS messages are a persistent, frustrating nuisance. Identity Lookup is a new framework that allows you to participate in the process of filtering incoming messages. Get the details of how to identify and prevent these unsolicited messages. Understand the options for on-device detection as well as more dynamic server-based integration in order to ensure a better user experience.","tags":[],"title":"Filtering Unwanted Messages with Identity Lookup","url":"\/documentation\/wwdc17-249-filtering-unwanted-messages-with-identity-lookup\/"},{"category":"","section":"documentation","slug":"wwdc17-248-localization-best-practices-on-tvos","summary":"Expand the reach of your apps by building them for a worldwide audience. Learn how to create localized tvOS apps that perform seamlessly regardless of country and language. Gain insights into such topics as handling server-side content, matching preferred languages, and localizing images and text direction.","tags":[],"title":"Localization Best Practices on tvOS","url":"\/documentation\/wwdc17-248-localization-best-practices-on-tvos\/"},{"category":"","section":"documentation","slug":"wwdc17-247-extend-your-apps-presence-with-sharing","summary":"Help your users share the great content in your app by using the built-in iOS sharing functionality. Learn how timing, placement and context of sharing can drive engagement and acquire new users.","tags":[],"title":"Extend Your App’s Presence With Sharing","url":"\/documentation\/wwdc17-247-extend-your-apps-presence-with-sharing\/"},{"category":"","section":"documentation","slug":"wwdc17-246-deep-linking-on-tvos","summary":"Design features such as the tvOS Top Shelf and Universal Links help customers immerse themselves in your content more quickly and easily. Learn how to create seamless app launch experiences when deep linking into content of UIKit or TVMLKit apps.","tags":[],"title":"Deep Linking on tvOS","url":"\/documentation\/wwdc17-246-deep-linking-on-tvos\/"},{"category":"","section":"documentation","slug":"wwdc17-245-building-apps-with-dynamic-type","summary":"With Dynamic Type, people choose their preferred text size and iOS switches fonts automatically as needed. Understand why Dynamic Type is important and how to support it when displaying text. Learn what’s new in iOS 11, and master the frameworks and tools that make it easy to support Dynamic Type in your app.","tags":[],"title":"Building Apps with Dynamic Type","url":"\/documentation\/wwdc17-245-building-apps-with-dynamic-type\/"},{"category":"","section":"documentation","slug":"wwdc17-244-efficient-interactions-with-frameworks","summary":"Border crossings can be smooth and efficient or slow and tedious. The boundary between an app and a framework is analogous, but inefficiencies may not always be obvious. Whether it’s passing data to an API or understanding how to stay on the fast path while rendering text, we’ll explore various aspects of how an app can work efficiently with underlying frameworks. If you build your own frameworks, gain valuable insights into how your clients can be as efficient as possible.","tags":[],"title":"Efficient Interactions with Frameworks","url":"\/documentation\/wwdc17-244-efficient-interactions-with-frameworks\/"},{"category":"","section":"documentation","slug":"wwdc17-243-file-provider-enhancements","summary":"File providers are front and center in the new Files app and system-provided document browser, empowering users to work on their documents in the cloud without the confusion of multiple copies or different versions. Hear details about how your cloud services can integrate with this new functionality. See how to provide an efficient and seamless user experience. If you are an app developer, learn the details about how file providers work and hear about exciting opportunities to take advantage of service-specific APIs from cloud storage providers.","tags":[],"title":"File Provider Enhancements","url":"\/documentation\/wwdc17-243-file-provider-enhancements\/"},{"category":"","section":"documentation","slug":"wwdc17-242-the-keys-to-a-better-text-input-experience","summary":"Go beyond the basics and provide a first class text input experience in your app. Learn best practices and how to expand your app by supporting text input traits and QuickType. Get tips on how to optimize your UI when incorporating the system keyboard into your layout. Discover how to create a custom keyboard and upgrade it to a system-wide keyboard extension.","tags":[],"title":"The Keys to a Better Text Input Experience","url":"\/documentation\/wwdc17-242-the-keys-to-a-better-text-input-experience\/"},{"category":"","section":"documentation","slug":"wwdc17-241-introducing-pdfkit-on-ios","summary":"The enhanced PDFKit framework lets your app perform essential operations, such as authoring, modifying, and displaying Portable Document Format (PDF) files. Previously available only on macOS, this powerful framework is now available on iOS 11. Gain insights and best practices on how to use this technology within your own apps.","tags":[],"title":"Introducing PDFKit on iOS","url":"\/documentation\/wwdc17-241-introducing-pdfkit-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc17-239-connecting-carekit-to-the-cloud","summary":"The CareKit open source project provides customizable modules for delivering an app that puts a patient’s care plan and adherence tracking in the palm of their hands. Connecting patient care apps to the care team is critical for monitoring adherence and providing updates is crucial. Until now, every implementation required custom integration.  Learn how the new CareKit Bridge API abstracts the communication to the back end and provides a simple mechanism for plugging in your custom or third-party provided cloud connectors.","tags":[],"title":"Connecting CareKit to the Cloud","url":"\/documentation\/wwdc17-239-connecting-carekit-to-the-cloud\/"},{"category":"","section":"documentation","slug":"wwdc17-238-writing-energy-efficient-apps","summary":"People expect long battery life on their mobile devices, and apps play a vital role in achieving that experience. Learn strategies to conserve energy while providing the best experience for your app. Find out about the key areas that affect energy consumption of an app as well as how to best use the available APIs to optimize battery life. Master energy debugging tools to make your app more energy efficient.","tags":[],"title":"Writing Energy Efficient Apps","url":"\/documentation\/wwdc17-238-writing-energy-efficient-apps\/"},{"category":"","section":"documentation","slug":"wwdc17-237-whats-new-in-mapkit","summary":"MapKit makes it easy to embed a fully interactive and configurable map directly into your app. Lean about new capabilities to tailor the look of the map view and annotations, more manageable controls and new features that make dealing with a large number of annotations a snap.","tags":[],"title":"What’s New in MapKit","url":"\/documentation\/wwdc17-237-whats-new-in-mapkit\/"},{"category":"","section":"documentation","slug":"wwdc17-236-cocoa-development-tips","summary":"Gain tips from seasoned framework engineers about how to get the most out of your Cocoa development efforts.  For example, find out how you can get perfect hashing behavior from NSDictionary with a simple API.  From best practices to lesser known APIs, there is something for everyone to learn.","tags":[],"title":"Cocoa Development Tips","url":"\/documentation\/wwdc17-236-cocoa-development-tips\/"},{"category":"","section":"documentation","slug":"wwdc17-235-building-visually-rich-user-experiences","summary":"iOS and macOS have a wide range of graphics and animation technologies for bringing your app designs to life. Get to know the full graphics stack, from the high-level tools in UIKit and AppKit all the way down to low-level frameworks like Metal. Dive deep into Core Animation and learn the techniques used by Apple engineers to build responsive, engaging UI across the ecosystem.","tags":[],"title":"Building Visually Rich User Experiences","url":"\/documentation\/wwdc17-235-building-visually-rich-user-experiences\/"},{"category":"","section":"documentation","slug":"wwdc17-234-whats-new-in-imessage-apps","summary":"With a completely redesigned App Store for iMessage and new App Drawer, discovering, installing, and using iMessage apps has never been easier. And now with live message views people can benefit and interact with your iMessage app directly in the transcript. Get the details on how your app can streamline the message sending experience with the new direct send functionality. Hear about important best practices like making the best use of summary text, optimizing snapshots of your iMessage app, and more in order to provide an outstanding user experience.","tags":[],"title":"What’s New in iMessage Apps","url":"\/documentation\/wwdc17-234-whats-new-in-imessage-apps\/"},{"category":"","section":"documentation","slug":"wwdc17-232-whats-new-in-carekit-and-researchkit","summary":"Whether you’re a medical researcher or a care provider, the CareKit and ResearchKit open source projects are designed to be the quickest path to delivering a customized iOS app to your candidates or patients. These frameworks are constantly gaining features and functionality from both Apple and the community. Discover the latest active-tasks, care modules, and tools designed to allow medical professionals the ability prototype their own care app.","tags":[],"title":"What’s New in CareKit and ResearchKit","url":"\/documentation\/wwdc17-232-whats-new-in-carekit-and-researchkit\/"},{"category":"","section":"documentation","slug":"wwdc17-231-whats-new-in-core-spotlight-for-ios-and-macos","summary":"Fundamental to the iOS Search Experience, Core Spotlight is now available on macOS. Using the same APIs that are available for iOS, Core Spotlight lets you index your app’s contents without requiring on-disk files. Learn how to provide rich custom Quick Look previews on both macOS and iOS so your users can see the content right in their search results. Get details about how your Core Spotlight items on iOS can participate in the new Drag and Drop feature.","tags":[],"title":"What’s New in Core Spotlight for iOS and macOS","url":"\/documentation\/wwdc17-231-whats-new-in-core-spotlight-for-ios-and-macos\/"},{"category":"","section":"documentation","slug":"wwdc17-230-advanced-animations-with-uikit","summary":"So much power has been added to animations on iOS since their inception that it’s time to think about animations in a whole new way! Learn to combine and coordinate between multiple animations, resulting in interactive transitions and learn some tips and tricks along the way.","tags":[],"title":"Advanced Animations with UIKit","url":"\/documentation\/wwdc17-230-advanced-animations-with-uikit\/"},{"category":"","section":"documentation","slug":"wwdc17-229-building-great-documentbased-apps-in-ios-11","summary":"Document based apps have never been better with the new consistent system-provided user interface for opening and creating documents. This session will go into detail of how your document based app can leverage this functionality to provide a great user experience. See how to customize the UI so it fits perfectly inside your app. Get details about making your documents look their best with the new QuickLook APIs for generating thumbnails and for showing custom previews of your own files formats.","tags":[],"title":"Building Great Document-based Apps in iOS 11","url":"\/documentation\/wwdc17-229-building-great-documentbased-apps-in-ios-11\/"},{"category":"","section":"documentation","slug":"wwdc17-228-making-great-sirikit-experiences","summary":"People love Siri so it’s essential to use SiriKit optimally for your app to provide a great Siri experience. Learn how to solve common pitfalls related to contact resolution, using Touch ID, and more. Find out how UI tests can benefit your SiriKit extension and how they can speed up the development process by automatically giving Siri text to process.","tags":[],"title":"Making Great SiriKit Experiences","url":"\/documentation\/wwdc17-228-making-great-sirikit-experiences\/"},{"category":"","section":"documentation","slug":"wwdc17-227-data-delivery-with-drag-and-drop","summary":"Drag and Drop is the front end of a simple concept: transferring data. Whether it is in app or between apps, this data transfer is backed by item providers. Learn how item providers work and how to implement your own providers to facilitate efficient data transfers from your App.","tags":[],"title":"Data Delivery with Drag and Drop","url":"\/documentation\/wwdc17-227-data-delivery-with-drag-and-drop\/"},{"category":"","section":"documentation","slug":"wwdc17-226-build-better-apps-with-cloudkit-dashboard","summary":"The CloudKit Dashboard has been completely overhauled to aid you throughout your development lifecycle of building, testing, operating, and supporting your CloudKit-backed applications. See the new functionality, including fetching changes and modifying sharing relationships right from the Dashboard.  Gain insights from real-time server logs into events across all of your users—including CloudKit push notifications—to facilitate debugging and customer support.","tags":[],"title":"Build Better Apps with CloudKit Dashboard","url":"\/documentation\/wwdc17-226-build-better-apps-with-cloudkit-dashboard\/"},{"category":"","section":"documentation","slug":"wwdc17-225-whats-new-in-safari-view-controller","summary":"Safari View Controller brings Safari’s features into your app for browsing the web and logging in with 3rd party services. Learn how to use new APIs to customize Safari View Controller’s UI to fit your app’s style.","tags":[],"title":"What’s New in Safari View Controller","url":"\/documentation\/wwdc17-225-whats-new-in-safari-view-controller\/"},{"category":"","section":"documentation","slug":"wwdc17-224-focus-interaction-in-tvos-11","summary":"Focus interaction is the primary interaction model for UIKit-based apps on tvOS. Learn about new focus animation APIs, custom sounds, support for SceneKit and SpriteKit games, and new debugging tools for your development workflows. Gain insight into how to get the most from these new technologies in your apps.","tags":[],"title":"Focus Interaction in tvOS 11","url":"\/documentation\/wwdc17-224-focus-interaction-in-tvos-11\/"},{"category":"","section":"documentation","slug":"wwdc17-223-drag-and-drop-with-collection-and-table-view","summary":"Discover new APIs for UICollectionView and UITableView designed to make drag and drop easy to implement in your apps. Learn how to quickly adopt drag and drop in collection and table views, create polished animations, and adopt new features to keep your app fluid and responsive during asynchronous data transfers.","tags":[],"title":"Drag and Drop with Collection and Table View","url":"\/documentation\/wwdc17-223-drag-and-drop-with-collection-and-table-view\/"},{"category":"","section":"documentation","slug":"wwdc17-222-advanced-touch-bar","summary":"Look behind the scenes into how system applications enhance their Touch Bar content with more than the basic controls. Learn about NSScrubber, customizing the text bar, candidate list item, event handling, layout, animations, and more. Leverage the full power of the Touch Bar to take your Mac app to the next level.","tags":[],"title":"Advanced Touch Bar","url":"\/documentation\/wwdc17-222-advanced-touch-bar\/"},{"category":"","section":"documentation","slug":"wwdc17-221-whats-new-in-health","summary":"HealthKit has become the standard for apps that help you manage and track your health on iOS and watchOS. Learn about new HealthKit data types in iOS 11, how to create and access workout route data, how to avoid duplication of health data, and enhancements made in HealthKit to support people managing diabetes.","tags":[],"title":"What’s New in Health","url":"\/documentation\/wwdc17-221-whats-new-in-health\/"},{"category":"","section":"documentation","slug":"wwdc17-220-customized-loading-in-wkwebview","summary":"WKWebView allows you to seamlessly integrate web content into your app. Learn how new features in WKWebView allow you to manage cookies, filter unwanted content, and give you more control over loading web content.","tags":[],"title":"Customized Loading in WKWebView","url":"\/documentation\/wwdc17-220-customized-loading-in-wkwebview\/"},{"category":"","section":"documentation","slug":"wwdc17-219-modern-user-interaction-on-ios","summary":"Touch user interactions are fundamental to the user experience on iOS. Learn how to master the power of UIKit’s gesture recognizer system in your application. Find out how to integrate with the new Drag and Drop features and the system gestures. Get some great tips for debugging your custom built interactions.","tags":[],"title":"Modern User Interaction on iOS","url":"\/documentation\/wwdc17-219-modern-user-interaction-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc17-218-choosing-the-right-cocoa-container-view","summary":"AppKit offers numerous ways to easily present your data. Join our framework engineers for a guided tour of versatile standard view classes you can put to work in your own macOS apps.  Hear about NSStackView, NSTableView, NSCollectionView, and other container views in AppKit.  Explore the interesting features and benefits of each, and examine real-world use cases to help you choose the most suitable building blocks for your apps’ user interfaces.","tags":[],"title":"Choosing the Right Cocoa Container View","url":"\/documentation\/wwdc17-218-choosing-the-right-cocoa-container-view\/"},{"category":"","section":"documentation","slug":"wwdc17-217-media-and-gaming-accessibility","summary":"As a game developer, you may know your game like the back of your hand, but could you play it with your eyes closed? Apple devices come standard with award-winning accessibility features that let people with disabilities experience everything Mac, iPhone, iPad, Apple Watch, and Apple TV have to offer. Media apps and games require specific considerations and approaches to allow for all people to engage fully with your content. Gain deep insights into the key approaches and technologies to make your apps seamlessly functional for a broad range of users.","tags":[],"title":"Media and Gaming Accessibility","url":"\/documentation\/wwdc17-217-media-and-gaming-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc17-216-the-life-of-a-watchos-app","summary":"watchOS 4 introduces numerous enhancements to the application lifecycle of an app on Apple Watch. This session will outline when your app has runtime, how much time it has, and how to maximize your opportunities to create a great experience on Apple Watch. Learn about background modes new to watchOS 4 and find out how taking snapshots with background app refresh have been simplified.","tags":[],"title":"The Life of a watchOS App","url":"\/documentation\/wwdc17-216-the-life-of-a-watchos-app\/"},{"category":"","section":"documentation","slug":"wwdc17-215-whats-new-in-accessibility","summary":"Discover what’s new in accessibility in iOS, watchOS, macOS, and tvOS.  Learn how to audit an App for accessibility, and take advantage of new assistive features.  Topics include how to best customize how Voice Over describes an App UI to the user, how to enhance the accessibility user experience with new features like Drag and Drop, and how to take advantage of sophisticated accessibility APIs to solve common issues.","tags":[],"title":"What’s New in Accessibility","url":"\/documentation\/wwdc17-215-whats-new-in-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc17-214-whats-new-in-sirikit","summary":"SiriKit provides a powerful and intuitive way to expose your app’s functionality through Siri. Learn how to use the all-new lists and notes domain to jot down notes or complete tasks quickly. See how easy it is to display your app’s visual codes for others to scan. And, using SiriKit’s new intent parameters, it’s easy to customize even more of the UI for your app within Siri. Explore these and numerous other new features that SiriKit brings to iOS 11.","tags":[],"title":"What’s New in SiriKit","url":"\/documentation\/wwdc17-214-whats-new-in-sirikit\/"},{"category":"","section":"documentation","slug":"wwdc17-213-mastering-drag-and-drop","summary":"Dive deep into the new Drag and Drop APIs in iOS 11. Learn what users will come to expect of your draggable views and how to best deal with the asynchronous nature by which data gets dropped into your app. We’ll also show you how to make your Drag and Drop look great using the advanced visual appearance tweaks that we offer.","tags":[],"title":"Mastering Drag and Drop","url":"\/documentation\/wwdc17-213-mastering-drag-and-drop\/"},{"category":"","section":"documentation","slug":"wwdc17-212-whats-new-in-foundation","summary":"Whether you’re building apps for iOS, macOS, watchOS, or tvOS, a lot of the functionality you get from Apple’s SDKs comes from the Foundation framework. Join the Foundation engineering team to hear about the improvements they’ve been working on. Learn how significant changes to key paths can help make your code safer with strong type checking in Swift. Hear all about how the new archiving API can help you safely convert your native Swift types to and from external formats like JSON.  Gain insights into performance enhancements that will help make your app even more efficient.","tags":[],"title":"What’s New in Foundation","url":"\/documentation\/wwdc17-212-whats-new-in-foundation\/"},{"category":"","section":"documentation","slug":"wwdc17-211-touch-bar-fundamentals","summary":"Touch Bar replaces the function keys that have long occupied the top of your keyboard with a versatile MultiTouch input device that features a Retina display. AppKit provides powerful APIs to let you easily leverage the power of Touch Bar in your applications. Learn how to use Touch Bar in your application to add context sensitive commands and flexible content to your user experience. This session will cover the basic concepts, design considerations, standard controls, IB support, and API that you will need to get started using Touch Bar.","tags":[],"title":"Touch Bar Fundamentals","url":"\/documentation\/wwdc17-211-touch-bar-fundamentals\/"},{"category":"","section":"documentation","slug":"wwdc17-210-whats-new-in-core-data","summary":"Join the Core Data engineering team and learn about the new features in Core Data.  See how you can easily and automatically include your data in Spotlight to allow users to find content even if it’s stored in Core Data.  Learn about new options for indexing your data, and hear the details on a new feature for tracking changes over time.","tags":[],"title":"What’s New in Core Data","url":"\/documentation\/wwdc17-210-whats-new-in-core-data\/"},{"category":"","section":"documentation","slug":"wwdc17-209-whats-new-in-tvos","summary":"tvOS allows you to deliver incredible apps and games for the big screen with the tvOS SDK. Gain insights into new tvOS 11 capabilities and enhancements such as Right-to-Left support, image overlays, background app updates, and user interface style improvements. And with the new AVKit capabilities you can take your media playback experience even further.","tags":[],"title":"What’s New in tvOS","url":"\/documentation\/wwdc17-209-whats-new-in-tvos\/"},{"category":"","section":"documentation","slug":"wwdc17-208-natural-language-processing-and-your-apps","summary":"Discover how to enhance app intelligence by using machine learning and natural language processing (NLP). Learn how to use our performant on-device NLP APIs to break text into sentences and tokens, identify people and places mentioned in the text (typed, transcribed speech\/handwriting). The NLP APIs can be used standalone or as a preprocessing framework for machine-learning based text modeling tasks. The APIs are available in many languages across all Apple platforms, thereby providing homogeneous text processing for consistent user experience. Open up your imagination as we walk you through hypothetical apps that harness the power of NLP to enhance the overall app experience.","tags":[],"title":"Natural Language Processing and your Apps","url":"\/documentation\/wwdc17-208-natural-language-processing-and-your-apps\/"},{"category":"","section":"documentation","slug":"wwdc17-207-whats-new-in-cocoa","summary":"Join us for this annual session to learn about enhancements in Cocoa. Catch up on the latest APIs for Touch Bar, performance improvements like copy-on-write collections, new features such as document sharing, Swift improvements for key paths and archiving, and many other refinements to AppKit and Foundation APIs.  Get an overview of many topics and a guide to important related sessions throughout the week.","tags":[],"title":"What’s New in Cocoa","url":"\/documentation\/wwdc17-207-whats-new-in-cocoa\/"},{"category":"","section":"documentation","slug":"wwdc17-206-introducing-password-autofill-for-apps","summary":"Logging in to an app is a source of friction that can lead to user abandonment. Password AutoFill is a new feature in iOS 11 that makes logging in easy by putting users’ passwords directly on the keyboard in your login UI. Learn how to guarantee that Password AutoFill works in your app to make logging in a frictionless experience for your users.","tags":[],"title":"Introducing Password AutoFill for Apps","url":"\/documentation\/wwdc17-206-introducing-password-autofill-for-apps\/"},{"category":"","section":"documentation","slug":"wwdc17-205-whats-new-in-watchos","summary":"watchOS 4 adds a new runtime architecture to make your apps run even faster on Apple Watch. Alongside performance gains, watchOS 4 brings numerous enhancements to make robust WatchKit UI layouts, new background modes for navigation and audio apps, Core Bluetooth connectivity to allow devices a direct connection to your wrist, and much more. See what’s new and how you’ll be able to make your Watch apps even better on watchOS 4.","tags":[],"title":"What’s New in watchOS","url":"\/documentation\/wwdc17-205-whats-new-in-watchos\/"},{"category":"","section":"documentation","slug":"wwdc17-204-updating-your-app-for-ios-11","summary":"iOS 11 brings a bold, dynamic new style to UI elements systemwide. Learn how to adopt new features in your app, including large title bars with integrated search, landscape tab bars, and more powerful swipe actions. Find out about new patterns and enhancements that make it easier than ever to craft the perfect experience for your users.","tags":[],"title":"Updating Your App for iOS 11","url":"\/documentation\/wwdc17-204-updating-your-app-for-ios-11\/"},{"category":"","section":"documentation","slug":"wwdc17-203-introducing-drag-and-drop","summary":"Drag and Drop has arrived in iOS 11! Learn the fundamentals behind the new iOS Drag and Drop — architecture and APIs. This session will go over the design goals, architecture and key components of the API to allow you to quickly adopt Drag and Drop in your App.","tags":[],"title":"Introducing Drag and Drop","url":"\/documentation\/wwdc17-203-introducing-drag-and-drop\/"},{"category":"","section":"documentation","slug":"wwdc17-202-advances-in-tvmlkit","summary":"TVMLKit allows you to quickly build native tvOS apps that are backed by XML templates and JavaScript logic. Take your TVMLKit apps even further with new tvOS 11 technologies and features. Learn about Right-to-Left support, performance optimizations, significant enhancements to Web Inspector, and much more.","tags":[],"title":"Advances in TVMLKit","url":"\/documentation\/wwdc17-202-advances-in-tvmlkit\/"},{"category":"","section":"documentation","slug":"wwdc17-201-whats-new-in-cocoa-touch","summary":"iOS 11 enhances the Cocoa Touch frameworks for making next generation apps on iOS. Learn about drag and drop, file management, document browser, updates to the navigation and tab bars, app safe areas, swipe actions and API refinements. Find out which sessions you won’t want to miss throughout the week.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc17-201-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc17-110-convenience-for-you-is-independence-for-me","summary":"Why design apps with accessibility?  Meet Todd Stabelfeldt, founder of C4 Consulting, who has lived with quadriplegia since the age of 8.  Over his decades-long struggle for increased independence in both his personal and professional lives, Todd has become a noted expert in technologies for persons with disabilities, which he has found can offer not only a level of autonomy but also empowerment and dignity to the mobility impaired.  Leading by example, Todd runs a successful business but his real passion lies elsewhere.  Hear how apps designed well with accessibility in mind have changed his life as a husband, father and as owner of the “Quadthedral“, his family’s HomeKit-enabled smart home.","tags":[],"title":"Convenience for You is Independence for Me","url":"\/documentation\/wwdc17-110-convenience-for-you-is-independence-for-me\/"},{"category":"","section":"documentation","slug":"wwdc17-102-platforms-state-of-the-union","summary":"WWDC 2017 Platforms State of the Union","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc17-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc17-101-wwdc-2017-keynote","summary":"WWDC 2017 Keynote","tags":[],"title":"WWDC 2017 Keynote","url":"\/documentation\/wwdc17-101-wwdc-2017-keynote\/"},{"category":"","section":"documentation","slug":"wwdc17","summary":"Xcode 9, Swift 4.0, iOS 11, macOS 10.13 (High Sierra), tvOS 11, watchOS 4. New APIs: `Core NFC` and more.","tags":[],"title":"WWDC17","url":"\/documentation\/wwdc17\/"},{"category":"","section":"documentation","slug":"wwdc16-805-iterative-ui-design","summary":"You’re familiar with Keynote for making presentations, but it’s also a powerful tool for exploring, iterating and refining user interface layouts and workflows. Learn techniques and best practices for using Keynote to quickly and persuasively express your product ideas by building realistic and tangible design comps and user flows.","tags":[],"title":"Iterative UI Design","url":"\/documentation\/wwdc16-805-iterative-ui-design\/"},{"category":"","section":"documentation","slug":"wwdc16-804-designing-great-apple-watch-experiences","summary":"watchOS 3 represents a big leap forward for Apple Watch and the apps that run on it. Performance improvements, powerful graphics and animation capabilities, deeper access to device capabilities, and a refined navigation model lay the foundation for designing useful and stunning Apple Watch apps. Learn best practices and techniques for making complications, notifications and apps that are highly actionable, glanceable and responsive.","tags":[],"title":"Designing Great Apple Watch Experiences","url":"\/documentation\/wwdc16-804-designing-great-apple-watch-experiences\/"},{"category":"","section":"documentation","slug":"wwdc16-803-typography-and-fonts","summary":"Typography is essential to an app’s form and function. Learn principles of good typography and techniques to apply them to your work. Make the most of the advanced features in our system fonts, and learn best practices for using custom fonts.","tags":[],"title":"Typography and Fonts","url":"\/documentation\/wwdc16-803-typography-and-fonts\/"},{"category":"","section":"documentation","slug":"wwdc16-802-designing-for-tvos","summary":"Change the way the world experiences television through apps that are designed to be immersive, intuitive and easy to use. Learn best practices and techniques to take advantage of the big screen and the Siri Remote.","tags":[],"title":"Designing for tvOS","url":"\/documentation\/wwdc16-802-designing-for-tvos\/"},{"category":"","section":"documentation","slug":"wwdc16-801-inclusive-app-design","summary":"Inclusive design means making your app intuitive, appropriate, and delightful for a global audience and people who have accessibility challenges. Learn easy-to-follow techniques for making your app culturally relevant and accessible through use of type, layout, color and iconography.","tags":[],"title":"Inclusive App Design","url":"\/documentation\/wwdc16-801-inclusive-app-design\/"},{"category":"","section":"documentation","slug":"wwdc16-725-deploying-airprint-in-enterprise","summary":"AirPrint works everywhere, including Enterprise environments. Learn how to deploy AirPrint in the Enterprise, how to set up an AirPrint Bluetooth Beacon which is new in iOS 10, and how to make sure your users take full advantage of AirPrint features.","tags":[],"title":"Deploying AirPrint in Enterprise","url":"\/documentation\/wwdc16-725-deploying-airprint-in-enterprise\/"},{"category":"","section":"documentation","slug":"wwdc16-724-whats-new-in-the-apple-push-notification-service","summary":"Starting with a review of the HTTP\/2 based provider API, you will learn about an important new feature: Token Based Authentication. Learn to connect to APNs using authentication tokens for sending pushes via the HTTP\/2 API, relieving you of the overhead associated with maintaining valid certificates.","tags":[],"title":"What’s New in the Apple Push Notification Service","url":"\/documentation\/wwdc16-724-whats-new-in-the-apple-push-notification-service\/"},{"category":"","section":"documentation","slug":"wwdc16-723-developing-carplay-systems-part-2","summary":"Learn how CarPlay integrates with your car’s infotainment system. Understand how CarPlay is designed to work with your car’s resources including the display, speakers, microphone, user inputs, steering wheel controls, instrument cluster and sensors.","tags":[],"title":"Developing CarPlay Systems, Part 2","url":"\/documentation\/wwdc16-723-developing-carplay-systems-part-2\/"},{"category":"","section":"documentation","slug":"wwdc16-722-developing-carplay-systems-part-1","summary":"CarPlay is a smarter, safer way to use your iPhone in the car. Learn how CarPlay works and how to design your car’s infotainment system to work seamlessly with iPhone. Understand best practices for a great user experience that integrates CarPlay with the car’s native system.","tags":[],"title":"Developing CarPlay Systems, Part 1","url":"\/documentation\/wwdc16-722-developing-carplay-systems-part-1\/"},{"category":"","section":"documentation","slug":"wwdc16-721-unified-logging-and-activity-tracing","summary":"The new Unified Logging and Tracing System for iOS and macOS uses Activity Tracing for performance, consolidates kernel and user-space logging, and has many other improvements. Learn how Logging and Tracing can help you debug and troubleshoot issues with your apps.","tags":[],"title":"Unified Logging and Activity Tracing","url":"\/documentation\/wwdc16-721-unified-logging-and-activity-tracing\/"},{"category":"","section":"documentation","slug":"wwdc16-720-concurrent-programming-with-gcd-in-swift-3","summary":"Swift 3 provides new interfaces that make it easier than ever to write applications with Grand Central Dispatch. Learn the basics of GCD and best practices on how to use it to architect your Swift application. You’ll also hear about new APIs and other GCD improvements.","tags":[],"title":"Concurrent Programming With GCD in Swift 3","url":"\/documentation\/wwdc16-720-concurrent-programming-with-gcd-in-swift-3\/"},{"category":"","section":"documentation","slug":"wwdc16-719-optimizing-io-for-performance-and-battery-life","summary":"Gain specific insights into tuning your application for better I\/O performance. Learn best practices to reduce local storage operations and trim your memory usage. Get details on how to update your app to increase responsiveness and extend battery life.","tags":[],"title":"Optimizing I\/O for Performance and Battery Life","url":"\/documentation\/wwdc16-719-optimizing-io-for-performance-and-battery-life\/"},{"category":"","section":"documentation","slug":"wwdc16-716-core-location-best-practices","summary":"Discover how to give users a great location-aware experience while conserving power across all Apple platforms. Learn best practices for using Core Location, how an App can use and manage Circular and Beacon Regions, defer or pause location updates, and how to use Visit Monitoring to determine the interesting places the user has been. Get an overview of how a user authorizes an App’s use of location services.","tags":[],"title":"Core Location Best Practices","url":"\/documentation\/wwdc16-716-core-location-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc16-715-neural-networks-and-accelerate","summary":"The Accelerate framework gives you fast, energy efficient signal and image processing and linear algebra libraries. Learn about new libraries dedicated to high performance neural networks and numerical integration.","tags":[],"title":"Neural Networks and Accelerate","url":"\/documentation\/wwdc16-715-neural-networks-and-accelerate\/"},{"category":"","section":"documentation","slug":"wwdc16-714-networking-for-the-modern-internet","summary":"The next wave of the Internet’s evolution is happening now. You’ll learn best practices for supporting IPv6, restricting cellular usage, and using Quality of Service to create a fast lane for your iOS apps. Discover how to support a multilingual Internet by using UTF-8, and how new internationalized domain names and email addresses affect you.","tags":[],"title":"Networking for the Modern Internet","url":"\/documentation\/wwdc16-714-networking-for-the-modern-internet\/"},{"category":"","section":"documentation","slug":"wwdc16-713-health-and-fitness-with-core-motion","summary":"Core Motion enables your applications to access a wide array of sensors on iOS and watchOS devices. Discover how steps and activity detection can be used with user elevation changes to develop fitness apps. Explore ways to observe wrist rotation and effort and translate them to immersive health and fitness experiences.","tags":[],"title":"Health and Fitness with Core Motion","url":"\/documentation\/wwdc16-713-health-and-fitness-with-core-motion\/"},{"category":"","section":"documentation","slug":"wwdc16-712-working-with-wide-color","summary":"Discover the fascinating details behind the display of color on Apple platforms. Go beyond the basics and learn how your apps can take advantage of a wider and deeper representation of color on iOS and macOS. Gain specific insights from the experts on optimizing your artwork asset pipeline and explore new API to develop more vivd, true to life experiences.","tags":[],"title":"Working with Wide Color","url":"\/documentation\/wwdc16-712-working-with-wide-color\/"},{"category":"","section":"documentation","slug":"wwdc16-711-nsurlsession-new-features-and-best-practices","summary":"NSURLSession provides a rich set of methods to support uploading and downloading content via HTTP and newer HTTP-based protocols, authentication with web servers, local caching of resources, and transfers that occur in the background while your app isn’t running — simplifying the complexities of modern day networking. Learn about new enhancements in HTTP\/2, introspection capabilities with networking metrics, and security and privacy enhancements for you and your customers.","tags":[],"title":"NSURLSession: New Features and Best Practices","url":"\/documentation\/wwdc16-711-nsurlsession-new-features-and-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc16-710-whats-new-in-homekit","summary":"Learn what’s new with HomeKit in iOS 10 including support for new types of accessories such as cameras and doorbells, enhancements in remotely connecting with accessories, how set up of Wi-Fi HomeKit accessories has been greatly improved, and how to write HomeKit enabled tvOS Apps.","tags":[],"title":"What’s New in HomeKit","url":"\/documentation\/wwdc16-710-whats-new-in-homekit\/"},{"category":"","section":"documentation","slug":"wwdc16-709-engineering-privacy-for-your-users","summary":"Learn about new developments in Privacy on iOS, macOS, watchOS, and tvOS that impact you and your apps. Explore techniques to respect your users’ privacy while building great features into your apps.","tags":[],"title":"Engineering Privacy for Your Users","url":"\/documentation\/wwdc16-709-engineering-privacy-for-your-users\/"},{"category":"","section":"documentation","slug":"wwdc16-708-advanced-notifications","summary":"3D Touch on Notifications provides users with access to media attachments and live content. See how your app can take advantage of this new functionality to provide a rich interactive experience within the notification itself.","tags":[],"title":"Advanced Notifications","url":"\/documentation\/wwdc16-708-advanced-notifications\/"},{"category":"","section":"documentation","slug":"wwdc16-707-introduction-to-notifications","summary":"Push and locally scheduled notifications can provide people with timely information and provide them with the ability to take appropriate actions in response. Hear about the new APIs to schedule, respond to, and manage delivery of notifications. Learn how to write an extension to decrypt and augment push notifications before they are displayed.","tags":[],"title":"Introduction to Notifications","url":"\/documentation\/wwdc16-707-introduction-to-notifications\/"},{"category":"","section":"documentation","slug":"wwdc16-706-whats-new-in-security","summary":"Designing security into your app requires that you follow secure coding practices and use the security features that are built into the operating system. Learn about new developments in Security on iOS, macOS, watchOS and tvOS that impact your apps. Hear about best practices for developing and distributing secure apps and protecting people’s data.","tags":[],"title":"What’s New in Security","url":"\/documentation\/wwdc16-706-whats-new-in-security\/"},{"category":"","section":"documentation","slug":"wwdc16-705-how-ios-security-really-works","summary":"Have you saved our 63-page iOS security white paper to your Reading List but find yourself too busy making great apps to get through it? You can keep your good intentions to devour every last detail, but meanwhile come join us for an illuminating talk on why we care so deeply about security as a design philosophy central to all our iOS products.","tags":[],"title":"How iOS Security Really Works","url":"\/documentation\/wwdc16-705-how-ios-security-really-works\/"},{"category":"","section":"documentation","slug":"wwdc16-704-whats-new-with-wallet-and-apple-pay","summary":"Get the latest news and updates from the Wallet and Apple Pay teams. Learn how to integrate Apple Pay into more places than ever before including watchOS, iOS Messages and Intents extensions. Learn about new tools to make testing and developing your Apple Pay-enabled apps even easier. We’ll also cover new features in Wallet for retailers, banks, and card issuers.","tags":[],"title":"What’s New with Wallet and Apple Pay","url":"\/documentation\/wwdc16-704-whats-new-with-wallet-and-apple-pay\/"},{"category":"","section":"documentation","slug":"wwdc16-703-apple-pay-on-the-web","summary":"This year, Apple Pay is coming to the web with Safari on both macOS and iOS. Now you can experience the convenience and security of Apple Pay in your store, in your app, and on your website. Discover how easy it is to set up Apple Pay on the web, and learn how designing for Apple Pay can increase conversions, user engagement, and customer satisfaction.","tags":[],"title":"Apple Pay on the Web","url":"\/documentation\/wwdc16-703-apple-pay-on-the-web\/"},{"category":"","section":"documentation","slug":"wwdc16-702-using-store-kit-for-inapp-purchases-with-swift-3","summary":"The StoreKit API allows apps to request payment for additional functionality or content. Hear about the latest changes to StoreKit including Swift 3.0 APIs, updates to Subscriptions and using StoreKit with iMessage apps. Learn best practices for receipt management and Sandbox testing.","tags":[],"title":"Using Store Kit for In-App Purchases with Swift 3","url":"\/documentation\/wwdc16-702-using-store-kit-for-inapp-purchases-with-swift-3\/"},{"category":"","section":"documentation","slug":"wwdc16-701-introducing-apple-file-system","summary":"The Apple File System (APFS) is the next-generation file system designed to scale from an Apple Watch to a Mac Pro. APFS is optimized for Flash\/SSD storage, and engineered with encryption as a primary feature. Learn about APFS benefits versus HFS+ and how to make sure your file system code is compatible.","tags":[],"title":"Introducing Apple File System","url":"\/documentation\/wwdc16-701-introducing-apple-file-system\/"},{"category":"","section":"documentation","slug":"wwdc16-612-game-technologies-for-apple-watch","summary":"watchOS 3 adds a lineup of technologies for developing games that are responsive, lightweight, and fun. Gain insights into techniques for creating great games for Apple Watch. Discover how to take advantage of gesture recognizers and the Digital Crown for gameplay, SpriteKit and SceneKit for 2D and 3D graphics, and Game Center for turn-based multiplayer games.","tags":[],"title":"Game Technologies for Apple Watch","url":"\/documentation\/wwdc16-612-game-technologies-for-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc16-611-whats-new-in-game-center","summary":"Dive into the latest additions to Game Center, Apple’s social gaming network. Check out new capabilities for persistent game sessions and how they provide added flexibility for single-player, real-time multiplayer, and turn-based games. Learn about changes that streamline Game Center and a new way to send game invites and join multiplayer matches.","tags":[],"title":"What’s New in Game Center","url":"\/documentation\/wwdc16-611-whats-new-in-game-center\/"},{"category":"","section":"documentation","slug":"wwdc16-610-whats-new-in-spritekit","summary":"SpriteKit adds new features to make it even easier to create high-performance, power-efficient 2D games. See how tile maps enable you to lay out large scenes quickly and check out new APIs for warp transformations and custom shader attributes. Learn about focus-based interactions on Apple TV, rendering on Apple Watch, and new tools built right into Xcode for measuring performance and integrating with GameplayKit.","tags":[],"title":"What’s New in SpriteKit","url":"\/documentation\/wwdc16-610-whats-new-in-spritekit\/"},{"category":"","section":"documentation","slug":"wwdc16-609-advances-in-scenekit-rendering","summary":"SceneKit is a fully featured high-level graphics framework enabling your apps and games to create 3D animated scenes and effects. Witness the biggest leap forward in SceneKit yet with the introduction of its new Physically-Based Renderer (PBR). Dive into new APIs for accurate materials, physically-based lights, HDR effects, and enhancements in Model I\/O. Walk through an example game using PBR and see how to integrate its workflow into your development.","tags":[],"title":"Advances in SceneKit Rendering","url":"\/documentation\/wwdc16-609-advances-in-scenekit-rendering\/"},{"category":"","section":"documentation","slug":"wwdc16-608-whats-new-in-gameplaykit","summary":"GameplayKit provides developers a collection of essential tools and techniques used to implement modern gameplay algorithms. Learn what’s new in GameplayKit and check out advances in pathfinding, autonomous agents, and game AI, as well as many enhancements supporting GameplayKit in Xcode. Tap into new capabilities for 2D and 3D spatial partitioning, and explore noise-based procedural data generation useful for height maps, natural textures, and more.","tags":[],"title":"What’s New in GameplayKit","url":"\/documentation\/wwdc16-608-whats-new-in-gameplaykit\/"},{"category":"","section":"documentation","slug":"wwdc16-607-controlling-game-input-for-apple-tv","summary":"Apple TV presents an incredible opportunity for developers to create new games made for the living room. See how the Game Controller framework can tap into the Siri Remote to harness touch and the built-in accelerometer and gyroscope to deliver engaging gameplay. Learn how to fully integrate MFi controllers, and understand best practices for developing titles that require a game controller.","tags":[],"title":"Controlling Game Input for Apple TV","url":"\/documentation\/wwdc16-607-controlling-game-input-for-apple-tv\/"},{"category":"","section":"documentation","slug":"wwdc16-606-advanced-metal-shader-optimization","summary":"The Metal shading language is an easy-to-use programming language for writing graphics and compute functions which execute on the GPU. Dive deeper into understanding the design patterns, memory access models, and detailed shader coding best practices which reduce bottlenecks and hide latency. Intended for experienced shader authors with a solid understanding of GPU architecture and hoping to extract every possible cycle.","tags":[],"title":"Advanced Metal Shader Optimization","url":"\/documentation\/wwdc16-606-advanced-metal-shader-optimization\/"},{"category":"","section":"documentation","slug":"wwdc16-605-whats-new-in-metal-part-2","summary":"Discover enhancements to the Metal shading language and how to use function specialization to improve performance while reducing the number of shader configurations in your app. Take advantage of resource read-writes to enable amazing new rendering techniques, understand how to support wide color, and accelerate your deep learning algorithms using the Metal Performance Shaders framework.","tags":[],"title":"What’s New in Metal, Part 2","url":"\/documentation\/wwdc16-605-whats-new-in-metal-part-2\/"},{"category":"","section":"documentation","slug":"wwdc16-604-whats-new-in-metal-part-1","summary":"Metal is the powerful low-overhead graphics and compute technology designed to unlock the power of the GPU. Check out the latest additions to the Metal frameworks and get details about supporting tessellation in your apps and games. Discover how to take control over synchronization and learn how to use resource heaps for even more efficient memory usage. See what’s new in Metal debugging and profiling tools and gain insight into analyzing and optimizing performance.","tags":[],"title":"What’s New in Metal, Part 1","url":"\/documentation\/wwdc16-604-whats-new-in-metal-part-1\/"},{"category":"","section":"documentation","slug":"wwdc16-603-adopting-metal-part-2","summary":"Building on the fundamentals, dive into the specifics of constructing games and graphics apps with Metal. Learn about scene management and understand how to manage and update Metal resources. Understand the rendering loop, command encoding, and multi-thread synchronization.","tags":[],"title":"Adopting Metal, Part 2","url":"\/documentation\/wwdc16-603-adopting-metal-part-2\/"},{"category":"","section":"documentation","slug":"wwdc16-602-adopting-metal-part-1","summary":"Metal provides the best access to the GPU on iOS, tvOS, and macOS, enabling you to maximize the graphics and compute potential of your apps and games. Get introduced to the essential concepts behind Metal, its low-overhead architecture, streamlined API, and support for efficient multi-threading. Start learning how to code with Metal in a walkthrough of rendering a basic scene.","tags":[],"title":"Adopting Metal, Part 1","url":"\/documentation\/wwdc16-602-adopting-metal-part-1\/"},{"category":"","section":"documentation","slug":"wwdc16-601-go-live-with-replaykit","summary":"ReplayKit is an easy-to-use framework that enables players to share gameplay recordings or broadcast live games to players and viewers online. Watch how live broadcasting can help build community and create new fans for your apps and games. Understand the APIs to include player commentary via the microphone and front-facing camera on iPhone and iPad, and check out new support for ReplayKit on Apple TV.","tags":[],"title":"Go Live with ReplayKit","url":"\/documentation\/wwdc16-601-go-live-with-replaykit\/"},{"category":"","section":"documentation","slug":"wwdc16-511-avcapturephotooutput-beyond-the-basics","summary":"Continue your learning from Session 501: Advances in iOS Photography, with some additional details on scene monitoring and resource management in AVFoundation’s powerful new AVCapturePhotoOutput API.","tags":[],"title":"AVCapturePhotoOutput - Beyond the Basics","url":"\/documentation\/wwdc16-511-avcapturephotooutput-beyond-the-basics\/"},{"category":"","section":"documentation","slug":"wwdc16-510-validating-http-live-streams","summary":"HTTP Live Streaming enables the reliable delivery of media content over a wide variety of network conditions. Learn best practices in HLS authoring, see how to verify your streams using the HTTP Live Streaming tools, and apply the results to improve the performance of your streams.","tags":[],"title":"Validating HTTP Live Streams","url":"\/documentation\/wwdc16-510-validating-http-live-streams\/"},{"category":"","section":"documentation","slug":"wwdc16-509-speech-recognition-api","summary":"iOS 10 brings a brand new Speech Recognition API that allows you to perform rapid and contextually informed speech recognition in both file-based and realtime scenarios. In this video, you will learn all about the new API and how to bring advanced speech recognition services into your apps.","tags":[],"title":"Speech Recognition API","url":"\/documentation\/wwdc16-509-speech-recognition-api\/"},{"category":"","section":"documentation","slug":"wwdc16-508-using-apple-news-format-to-create-rich-and-responsive-stories","summary":"Apple News beautifully introduces new readers to your stories. Learn about Apple News Format and how it can be used to author rich, responsive stories that intelligently adapt to all screen sizes. Discover the many features of Apple News including interactive galleries, video, audio, and animations which help to make your content more engaging than ever.","tags":[],"title":"Using Apple News Format to Create Rich and Responsive Stories","url":"\/documentation\/wwdc16-508-using-apple-news-format-to-create-rich-and-responsive-stories\/"},{"category":"","section":"documentation","slug":"wwdc16-507-delivering-an-exceptional-audio-experience","summary":"iOS, macOS, watchOS and tvOS offer a rich set of tools and APIs for recording, processing, and playing back audio in your apps. Learn how to choose the right API for your app, and the details on implementing each of them in order to deliver an outstanding audio experience.","tags":[],"title":"Delivering an Exceptional Audio Experience","url":"\/documentation\/wwdc16-507-delivering-an-exceptional-audio-experience\/"},{"category":"","section":"documentation","slug":"wwdc16-506-avkit-on-tvos","summary":"AVKit on tvOS offers an intuitive user interface for interaction with your media on this powerful new platform. AVKit is built on AVFoundation, which gives you access to the full potential of platform services for operating on time-based audiovisual media. Learn how to leverage the new content proposal APIs, and how to create a seamless interstitial playback experience. Management of media metadata and chapter navigation will also be covered.","tags":[],"title":"AVKit on tvOS","url":"\/documentation\/wwdc16-506-avkit-on-tvos\/"},{"category":"","section":"documentation","slug":"wwdc16-505-live-photo-editing-and-raw-processing-with-core-image","summary":"iOS 10 and macOS 10.12 brings a powerful set of new APIs to work with many types of photos. Explore using Core Image to process RAW image files from many popular cameras and recent iOS devices. See how to edit and enhance Live Photos directly within your app.","tags":[],"title":"Live Photo Editing and RAW Processing with Core Image","url":"\/documentation\/wwdc16-505-live-photo-editing-and-raw-processing-with-core-image\/"},{"category":"","section":"documentation","slug":"wwdc16-504-whats-new-in-http-live-streaming","summary":"HTTP Live Streaming offers a reliable media playback experiences over a wide variety of network conditions. Join us to learn how to deliver offline playback using the same media assets you already host for online playback. See new additions to the HLS protocol, such as support for fragmented MP4 and in-playlist metadata.","tags":[],"title":"What’s New in HTTP Live Streaming","url":"\/documentation\/wwdc16-504-whats-new-in-http-live-streaming\/"},{"category":"","section":"documentation","slug":"wwdc16-503-advances-in-avfoundation-playback","summary":"AVFoundation is a powerful framework for media operations, providing capture, editing, playback, and export. Learn about new APIs and methods for media playback. Create seamless loops, simplify your playback logic with “autowait”, and see how to deliver an even faster playback startup experience.","tags":[],"title":"Advances in AVFoundation Playback","url":"\/documentation\/wwdc16-503-advances-in-avfoundation-playback\/"},{"category":"","section":"documentation","slug":"wwdc16-502-getting-published-in-apple-news","summary":"Become a News Publisher. Apple News allows you to monetize your stories and find new readers. Learn how to sign up and discover how easy it is to integrate with your existing CMS or author stories using the News Publisher authoring tool.","tags":[],"title":"Getting Published in Apple News","url":"\/documentation\/wwdc16-502-getting-published-in-apple-news\/"},{"category":"","section":"documentation","slug":"wwdc16-501-advances-in-ios-photography","summary":"People love to take pictures with iPhone. In fact, it’s the most popular camera in the world, and photography apps empower this experience. Explore new AVFoundation Capture APIs which allow for the capture of Live Photos, RAW image data from the camera, and wide color photos.","tags":[],"title":"Advances in iOS Photography","url":"\/documentation\/wwdc16-501-advances-in-ios-photography\/"},{"category":"","section":"documentation","slug":"wwdc16-420-optimizing-web-content-in-your-app","summary":"The Web Inspector provides some sleek new tools to help you understand your app’s web content performance and memory usage. Explore how you can use Web Inspector’s new memory and JavaScript profiling tools to debug web content on iOS and macOS. Discover new features and learn best practices to maximize your effectiveness with the Web Inspector tools.","tags":[],"title":"Optimizing Web Content in Your App","url":"\/documentation\/wwdc16-420-optimizing-web-content-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc16-419-protocol-and-value-oriented-programming-in-uikit-apps","summary":"Building on last year’s Protocol-Oriented Programming and Building Better Apps with Value Types sessions, this year’s session will highlight tips and tricks for building better Swift apps. See how you can incorporate these design approaches into a real MVC-based Cocoa Touch app, especially in the view and controller layers, where you might not have thought of using these techniques before.","tags":[],"title":"Protocol and Value Oriented Programming in UIKit Apps","url":"\/documentation\/wwdc16-419-protocol-and-value-oriented-programming-in-uikit-apps\/"},{"category":"","section":"documentation","slug":"wwdc16-418-using-time-profiler-in-instruments","summary":"Learn how to make your apps faster and more efficient in this introduction to Time Profiler in Instruments. Walk through how to use Time Profiler to measure your app’s performance. Learn how Time Profiler works and can be used to identify problems and verify your fixes. Discover how easy it is to improve your app’s power usage and performance by using Instruments throughout your development process.","tags":[],"title":"Using Time Profiler in Instruments","url":"\/documentation\/wwdc16-418-using-time-profiler-in-instruments\/"},{"category":"","section":"documentation","slug":"wwdc16-417-debugging-tips-and-tricks","summary":"Spend an hour with the team responsible for the technology behind Xcode’s debugger: LLDB. Find out what’s new, what’s been there all along that you didn’t know about, and how best to take advantage of it all. This session will cover a range of topics with tips for both newcomers and experienced developers.","tags":[],"title":"Debugging Tips and Tricks","url":"\/documentation\/wwdc16-417-debugging-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc16-416-understanding-swift-performance","summary":"In this advanced session, find out how structs, classes, protocols, and generics are implemented in Swift. Learn about their relative costs in different dimensions of performance. See how to apply this information to speed up your code.","tags":[],"title":"Understanding Swift Performance","url":"\/documentation\/wwdc16-416-understanding-swift-performance\/"},{"category":"","section":"documentation","slug":"wwdc16-415-going-serverside-with-swift-open-source","summary":"While the Swift language makes it easy to write software that is incredibly fast and safe by design, Swift being open source means you can use it on an even broader range of platforms, from mobile devices to the desktop and in the cloud. Come for an overview of available projects at Swift.org and examples of the community in action.","tags":[],"title":"Going Server-side with Swift Open Source","url":"\/documentation\/wwdc16-415-going-serverside-with-swift-open-source\/"},{"category":"","section":"documentation","slug":"wwdc16-414-using-and-extending-the-xcode-source-editor","summary":"Learn about all of the new, and a few existing, features of Xcode source editor. See how you can make the most of new code completion features, Swift image and color literals, and snippets. We’ll also show how to add commands to the source editor with new Xcode Extensions that you can distribute on the Mac App Store.","tags":[],"title":"Using and Extending the Xcode Source Editor","url":"\/documentation\/wwdc16-414-using-and-extending-the-xcode-source-editor\/"},{"category":"","section":"documentation","slug":"wwdc16-413-introduction-to-xcode","summary":"Xcode enables you to create great apps for Apple platforms. This session will introduce you to the basics of creating a project with Xcode, and more. You’ll learn how to comfortably navigate your project and gain insights into working with workspaces, targets, and schemes. We’ll introduce you to version control workflows, and walk through using Xcode’s source editors and design tools. Join us if you’re new to Apple platforms or want to learn more about using Xcode.","tags":[],"title":"Introduction to Xcode","url":"\/documentation\/wwdc16-413-introduction-to-xcode\/"},{"category":"","section":"documentation","slug":"wwdc16-412-thread-sanitizer-and-static-analysis","summary":"Xcode 8 makes it easier to find several new categories of bugs with improvements in Runtime Sanitization and the Clang Static Analyzer. The Thread Sanitizer will help you find data races and other concurrency bugs. The static analyzer has been extended to search for localizability issues, check nullability, and find memory leaks in MRR code.","tags":[],"title":"Thread Sanitizer and Static Analysis","url":"\/documentation\/wwdc16-412-thread-sanitizer-and-static-analysis\/"},{"category":"","section":"documentation","slug":"wwdc16-411-system-trace-in-depth","summary":"Join engineers from the Instruments team for another focused look at the System Trace Instruments profiling template and how to get the most out of it. Discover how threads, virtual memory, and locking interact to affect performance. Dive deep for a practical look at how you can improve your app’s responsiveness and keep your users engaged.","tags":[],"title":"System Trace in Depth","url":"\/documentation\/wwdc16-411-system-trace-in-depth\/"},{"category":"","section":"documentation","slug":"wwdc16-410-visual-debugging-with-xcode","summary":"Discover Xcode’s enhancements for debugging autolayout issues at runtime. Learn how issues inside complex GKStateMachine objects can be easily debugged at runtime. Gain insight into finding performance bottlenecks inside SpriteKit and SceneKit apps more easily with the enhanced FPS gauge. Understand how to fix leaked and abandoned memory in your app by inspecting the heap from within your typical Xcode debugging workflow.","tags":[],"title":"Visual Debugging with Xcode","url":"\/documentation\/wwdc16-410-visual-debugging-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc16-409-advanced-testing-and-continuous-integration","summary":"Take an advanced class in Testing and Xcode Server. You’ll gain an in-depth knowledge on the lifecycle of a test, how they’re are hosted, and how using modern observation can help you make bulletproof tests for your app. Then, learn about changes in Xcode Server that make continuous integration easier than ever, including configuring your own user for testing, enhancements to issue tracking, email notifications and support for crash logs.","tags":[],"title":"Advanced Testing and Continuous Integration","url":"\/documentation\/wwdc16-409-advanced-testing-and-continuous-integration\/"},{"category":"","section":"documentation","slug":"wwdc16-408-introducing-swift-playgrounds","summary":"Learn more about Swift Playgrounds, the new iPad app that teaches coding using the powerful Swift programming language. Explore the featured content, complete with puzzles that help you master each coding concept. Learn more about the coding features of Swift Playgrounds and see how the editing experience was re-imagined for touch. Learn to use the included templates to build playgrounds and look at the available features in the new playground book format.","tags":[],"title":"Introducing Swift Playgrounds","url":"\/documentation\/wwdc16-408-introducing-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc16-407-auditing-your-apps-for-accessibility","summary":"Making your app accessible helps you reach all of your potential users. Get introduced to the new Accessibility Inspector and learn how it streamlines finding and fixing accessibility issues across all Apple platforms. Go beyond the basics with our experts as they guide you through the process of optimizing accessibility for your app","tags":[],"title":"Auditing Your Apps for Accessibility","url":"\/documentation\/wwdc16-407-auditing-your-apps-for-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc16-406-optimizing-app-startup-time","summary":"Launching an App is a complicated and subtle process and the ramifications on launch times of different App design patterns are often non-obvious. Come learn what happens in the time between when an App begins launching and when the main() function gets control and how that time relates to the code and structure of your App. Learn about the inner details of the dynamic loader, dyld, and best practices for structuring your code to perform at its best from the very start.","tags":[],"title":"Optimizing App Startup Time","url":"\/documentation\/wwdc16-406-optimizing-app-startup-time\/"},{"category":"","section":"documentation","slug":"wwdc16-405-whats-new-in-llvm","summary":"The Apple LLVM compiler in Xcode 8 adds new language features, improved diagnostics, and more powerful optimizations. Get an overview of some new Objective-C and C++ features and learn how to use advanced optimizations to speed up your apps.","tags":[],"title":"What’s New in LLVM","url":"\/documentation\/wwdc16-405-whats-new-in-llvm\/"},{"category":"","section":"documentation","slug":"wwdc16-404-getting-started-with-swift","summary":"Updated to include the latest features, syntax and best practices for Swift 3, this session introduces the basics of the Swift programming language. Learn the recommended manner in which to declare variables, define functions, work with fundamental value types, protocols, generics, and more. Explore some of the great features that make Swift a safe, fast, and expressive language.","tags":[],"title":"Getting Started with Swift","url":"\/documentation\/wwdc16-404-getting-started-with-swift\/"},{"category":"","section":"documentation","slug":"wwdc16-403-swift-api-design-guidelines","summary":"Swift 3 introduces new API Design Guidelines specifically crafted to the unique character of Swift for clear, concise code. This talk will explore the philosophy behind the Swift API Design Guidelines and their application throughout the Swift Standard Library and the Cocoa and Cocoa Touch APIs. See how this API transformation will affect your Swift code and learn how to ensure a smooth transition to Swift 3. Learn how Swift 3 imports Objective-C APIs and how to expose rich Swift interfaces for existing Objective-C libraries.","tags":[],"title":"Swift API Design Guidelines","url":"\/documentation\/wwdc16-403-swift-api-design-guidelines\/"},{"category":"","section":"documentation","slug":"wwdc16-402-whats-new-in-swift","summary":"Hear about the newest features in Swift 3, the third major release of the safe, fast, and expressive language, and the first major release built with the open source community. Gain insight into the latest changes in Xcode including enhanced migration support to help move your code to Swift 3. Learn how you can get involved in the open source community at Swift.org.","tags":[],"title":"What’s New in Swift","url":"\/documentation\/wwdc16-402-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc16-401-whats-new-in-xcode-app-signing","summary":"Xcode provides powerful options for managing projects for small and large development teams. Learn how new features in Xcode simplify the process of certificate management, app signing and configuration of your project’s build settings.","tags":[],"title":"What’s New in Xcode App Signing","url":"\/documentation\/wwdc16-401-whats-new-in-xcode-app-signing\/"},{"category":"","section":"documentation","slug":"wwdc16-305-whats-new-in-itunes-connect","summary":"iTunes Connect has been updated to make your experience with delivering apps to the App Store even better. Learn about time-saving improvements to managing screenshots, new ways to stay up to date with the iTunes Connect for iOS app, and upcoming features to help you gain insights into your data in App Analytics.","tags":[],"title":"What’s New in iTunes Connect","url":"\/documentation\/wwdc16-305-whats-new-in-itunes-connect\/"},{"category":"","section":"documentation","slug":"wwdc16-304-best-practices-for-building-apps-used-in-business-and-education","summary":"Even consumer-focused apps are used by people in business and education. See how minor changes can fine tune your app to meet the needs of these large organizations. Learn best practices for synching user-specific content on Shared iPad and how to add deep-link support for Classroom app, authentication integration via Touch ID, AppConfig driven customization, and much more.","tags":[],"title":"Best Practices for Building Apps Used in Business and Education","url":"\/documentation\/wwdc16-304-best-practices-for-building-apps-used-in-business-and-education\/"},{"category":"","section":"documentation","slug":"wwdc16-303-whats-new-in-apple-device-management","summary":"Learn about the latest developments in managing Apple devices in large organizations including Classroom and Shared iPad for Education. Learn the latest techniques to wirelessly configure settings, monitor compliance with policies, install apps and bulk configure devices with ease.","tags":[],"title":"What’s New in Apple Device Management","url":"\/documentation\/wwdc16-303-whats-new-in-apple-device-management\/"},{"category":"","section":"documentation","slug":"wwdc16-302-introducing-search-ads","summary":"Search Ads provides a new way to increase awareness of your apps in App Store search results. Learn how sponsored ads in App Store search work, see a preview of the powerful targeting options, reporting and attribution features and how quick and easy it is to get started.","tags":[],"title":"Introducing Search Ads","url":"\/documentation\/wwdc16-302-introducing-search-ads\/"},{"category":"","section":"documentation","slug":"wwdc16-301-introducing-expanded-subscriptions-in-itunes-connect","summary":"See what’s new in subscriptions. Learn how our improvements give you more flexibility and control over pricing, and provide powerful incentives to engage and retain your customers.","tags":[],"title":"Introducing Expanded Subscriptions in iTunes Connect","url":"\/documentation\/wwdc16-301-introducing-expanded-subscriptions-in-itunes-connect\/"},{"category":"","section":"documentation","slug":"wwdc16-242-whats-new-in-core-data","summary":"Core Data is a framework that you can use to manage the model layer objects in your application, providing generalized and automated solutions to common tasks associated with object life cycle, object graph management, and persistence. Learn about the latest advancements in and explore best practices for taking full advantage of this powerful framework.","tags":[],"title":"What’s New in Core Data","url":"\/documentation\/wwdc16-242-whats-new-in-core-data\/"},{"category":"","section":"documentation","slug":"wwdc16-241-public-transit-in-apple-maps","summary":"Launched last year with iOS 9 and macOS El Capitan, the new Transit feature in Apple Maps is customized for each city where it’s available. Hear about how the Apple Maps team ensures a great customer experience through a combination of transit agency data, field survey, and close attention to the unique transit culture of each city. If you’re a transit agency, learn about how you can help to ensure your customers have the most reliable information in Apple Maps.","tags":[],"title":"Public Transit in Apple Maps","url":"\/documentation\/wwdc16-241-public-transit-in-apple-maps\/"},{"category":"","section":"documentation","slug":"wwdc16-240-increase-usage-of-your-app-with-proactive-suggestions","summary":"iOS and macOS can proactively promote your app and data, thereby increasing user engagement. See how adopting a few simple APIs to inform the OS about your app’s capabilities can lead to your app being suggested in various places like the app switcher, on the lock screen, Contacts, and more.","tags":[],"title":"Increase Usage of Your App With Proactive Suggestions","url":"\/documentation\/wwdc16-240-increase-usage-of-your-app-with-proactive-suggestions\/"},{"category":"","section":"documentation","slug":"wwdc16-239-crafting-modern-cocoa-apps","summary":"Examine the technologies that make a modern macOS app. Come learn from the experts how to harness the power of Cocoa to build powerful, immersive apps. Whether you’re a seasoned Cocoa developer or new to the platform, this session is for you.","tags":[],"title":"Crafting Modern Cocoa Apps","url":"\/documentation\/wwdc16-239-crafting-modern-cocoa-apps\/"},{"category":"","section":"documentation","slug":"wwdc16-238-measurements-and-units","summary":"The Foundation framework, which includes the root object class, classes representing basic data types such as strings and byte arrays, and collection classes for storing other objects, has added new support for specifying Units and Measurements. Understand how to model your measurements and convert within dimensions. Learn from the experts how to use and surface Units and Measurements in your interfaces.","tags":[],"title":"Measurements and Units","url":"\/documentation\/wwdc16-238-measurements-and-units\/"},{"category":"","section":"documentation","slug":"wwdc16-237-getting-started-with-carekit","summary":"CareKit is a new open source framework designed to help you create personal care apps that can monitor, present and share personal health information. Learn how to create and extend Care Cards and an Insight Dashboard, and to package information for sharing with families or professional caregivers.","tags":[],"title":"Getting Started with CareKit","url":"\/documentation\/wwdc16-237-getting-started-with-carekit\/"},{"category":"","section":"documentation","slug":"wwdc16-236-whats-new-in-auto-layout","summary":"Get details about new features of Auto Layout in Xcode, Cocoa and Cocoa Touch. Explore the new NSGridView, allowing your Cocoa app to easily build grid interfaces. Dive deeper into new tools that enable you to quickly diagnose layout issues in your interface. Learn about the new features in Xcode to quickly build adaptive interfaces.","tags":[],"title":"What’s New in Auto Layout","url":"\/documentation\/wwdc16-236-whats-new-in-auto-layout\/"},{"category":"","section":"documentation","slug":"wwdc16-235-building-great-workout-apps","summary":"HealthKit provides robust tools for building great workout apps for Apple Watch. Learn how your workout app can collect data from Watch sensors, run and analyze data in real-time in the background, and contribute to Activity rings. Gain insights into creating a great standalone Watch experience and see how to display your workouts within the Health app and the Activity app on iOS.","tags":[],"title":"Building Great Workout Apps","url":"\/documentation\/wwdc16-235-building-great-workout-apps\/"},{"category":"","section":"documentation","slug":"wwdc16-234-whats-new-in-researchkit","summary":"ResearchKit is an open source framework you can use to build compelling apps that gather and present meaningful data used in medical research. Learn about new capabilities, how to create and extend surveys, how to create active tasks that use touch or other built-in and third-party accessory features, and how to effectively participate in the community.","tags":[],"title":"What’s New in ResearchKit","url":"\/documentation\/wwdc16-234-whats-new-in-researchkit\/"},{"category":"","section":"documentation","slug":"wwdc16-233-making-apps-adaptive-part-2","summary":"In this second part of a two part series, go beyond the basics in understanding how to make your apps adaptive. Learn through practical examples how to extend your application interfaces using UIKit. Get introduced to best practices for structuring your app for flexible interface designs. Learn from the experts what to keep in mind as you build apps for the future, today.","tags":[],"title":"Making Apps Adaptive, Part 2","url":"\/documentation\/wwdc16-233-making-apps-adaptive-part-2\/"},{"category":"","section":"documentation","slug":"wwdc16-232-whats-new-in-international-user-interfaces","summary":"Building a great international user interface goes beyond just translating your app. Explore new and improved APIs in iOS, macOS, and watchOS, and learn how Xcode 8 makes it easy to provide directional images to build first class apps for RTL languages. Hear from experts on how to fine-tune your international UI to create a seamless bidirectional experience and take your app in a new direction.","tags":[],"title":"What’s New in International User Interfaces","url":"\/documentation\/wwdc16-232-whats-new-in-international-user-interfaces\/"},{"category":"","section":"documentation","slug":"wwdc16-231-cloudkit-best-practices","summary":"CloudKit keeps app data updated across iOS, macOS, watchOS, tvOS, and the web so you can focus on building your app. Hear best practices from the CloudKit engineering team about how to take advantage of the APIs and push notifications in order to provide your users with the best experience. Learn about the ways Apple apps use CloudKit and how you can apply the same approaches in your app.","tags":[],"title":"CloudKit Best Practices","url":"\/documentation\/wwdc16-231-cloudkit-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc16-230-enhancing-voip-apps-with-callkit","summary":"CallKit is a new framework that lets your VoIP app integrate tightly with the native Phone UI. Learn how you can have your incoming calls displayed fully on the lock screen. Get details on how people can choose to use your app when making calls from the native Phone app’s contacts, favorites, and recents. See how adopting CallKit lets your app coexist seamlessly with other active calls, and allow your calls to interact with CarPlay and Bluetooth accessories.","tags":[],"title":"Enhancing VoIP Apps with CallKit","url":"\/documentation\/wwdc16-230-enhancing-voip-apps-with-callkit\/"},{"category":"","section":"documentation","slug":"wwdc16-229-developing-tvos-apps-using-tvmlkit-part-2","summary":"Learn about advanced techniques in TVML based apps, such as bridging between native and javascript code, creating your own custom views for use inside of templates, creating your own custom templates, how to introduce UIKit view controllers alongside TVMLKit based templates, and additional best practices you can apply to your apps.","tags":[],"title":"Developing tvOS Apps Using TVMLKit: Part 2","url":"\/documentation\/wwdc16-229-developing-tvos-apps-using-tvmlkit-part-2\/"},{"category":"","section":"documentation","slug":"wwdc16-228-a-peek-at-3d-touch","summary":"3D Touch adds a completely new dimension to the iOS user interface and introduces an entirely new way to interact with your iPhone. Explore the existing API and get introduced to additions in iOS 10 that allow you to push the boundaries of 3D Touch. Learn about best practices for incorporating 3D Touch into your apps, how to add support for Quick Actions, Peek, and Pop.","tags":[],"title":"A Peek at 3D Touch","url":"\/documentation\/wwdc16-228-a-peek-at-3d-touch\/"},{"category":"","section":"documentation","slug":"wwdc16-227-architecting-for-performance-on-watchos-3","summary":"A well performing Watch app begins with great app architecture. Join us to discover strategies you can apply to keep your app responsive, lower your app’s resume time, and stay memory efficient. Learn how we used these same principles in the Stocks app to enhance the user experience for watchOS 3.","tags":[],"title":"Architecting for Performance on watchOS 3","url":"\/documentation\/wwdc16-227-architecting-for-performance-on-watchos-3\/"},{"category":"","section":"documentation","slug":"wwdc16-226-whats-new-with-cloudkit","summary":"CloudKit is the framework that powers iCloud services on all of Apple’s platforms. Learn about the new features that have been added over the past year, and dive deep into the new sharing APIs that lets you share private data between iCloud users.","tags":[],"title":"What’s New with CloudKit","url":"\/documentation\/wwdc16-226-whats-new-with-cloudkit\/"},{"category":"","section":"documentation","slug":"wwdc16-225-extending-your-apps-with-sirikit","summary":"Learn by example how to integrate SiriKit into your app. See how easily you can create your first Intents extension to expose your app’s core functionality in Siri. Find out how to bring your app’s user interface into Siri, creating a unique and recognizable experience for your customers.","tags":[],"title":"Extending Your Apps with SiriKit","url":"\/documentation\/wwdc16-225-extending-your-apps-with-sirikit\/"},{"category":"","section":"documentation","slug":"wwdc16-224-imessage-apps-and-stickers-part-2","summary":"Messages apps allow people to collaborate by using your app. Learn how people can work together to accomplish a task within the conversation. Customize the appearance of the messages your app can send. Learn about how to manage your app state in one-to-one and group conversations to provide an engaging and collaborative experience.","tags":[],"title":"iMessage Apps and Stickers, Part 2","url":"\/documentation\/wwdc16-224-imessage-apps-and-stickers-part-2\/"},{"category":"","section":"documentation","slug":"wwdc16-223-making-the-most-of-search-apis","summary":"Search APIs make it easy for users to discover information in your app and the app itself. New features expand the search capabilities allowing users to search directly in your app and enable you to search your own app index. Learn about the latest API updates and the new privacy-friendly method for improving the ranking of your app content.","tags":[],"title":"Making the Most of Search APIs","url":"\/documentation\/wwdc16-223-making-the-most-of-search-apis\/"},{"category":"","section":"documentation","slug":"wwdc16-222-making-apps-adaptive-part-1","summary":"In this first part of a two part series, explore the motivation and concepts necessary to take advantage of trait collections. Walk through building an interface in Xcode and learn from the experts how to take advantage of new features to more easily create your app for different device sizes and configurations.","tags":[],"title":"Making Apps Adaptive, Part 1","url":"\/documentation\/wwdc16-222-making-apps-adaptive-part-1\/"},{"category":"","section":"documentation","slug":"wwdc16-221-optimizing-ondemand-resources","summary":"Using On-Demand Resources allows you to create smaller app bundles, enable faster downloads, and add more content than ever before on iOS and tvOS. Learn the recommended approach for delivering apps packaged with On-Demand Resources. Explore strategies for pre-fetching content and understand how to optimize the first-launch experience.","tags":[],"title":"Optimizing On-Demand Resources","url":"\/documentation\/wwdc16-221-optimizing-ondemand-resources\/"},{"category":"","section":"documentation","slug":"wwdc16-220-leveraging-touch-input-on-ios","summary":"Learn essential best practices for using event input from Apple Pencil in your drawing apps. Gain a practical understanding of the concepts behind efficient and accurate touch event processing. Get details about the touch input pipeline on iOS and how to take advantage of it in all your apps.","tags":[],"title":"Leveraging Touch Input on iOS","url":"\/documentation\/wwdc16-220-leveraging-touch-input-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc16-219-whats-new-in-uicollectionview-in-ios-10","summary":"UICollectionView is a powerful class allowing your app to manage and customize the layout of views. iOS 10 brings enhancements for better performance, easier layout and brings features you’ve been looking for. Learn how to make your apps richer and faster by using new features in UICollectionView and its sibling, UITableView.","tags":[],"title":"What’s New in UICollectionView in iOS 10","url":"\/documentation\/wwdc16-219-whats-new-in-uicollectionview-in-ios-10\/"},{"category":"","section":"documentation","slug":"wwdc16-218-keeping-your-watch-app-up-to-date","summary":"Keeping your Apple Watch app up to date is key to creating a great experience on watchOS 3. Learn how to use the new background tasks to keep your complications and the new watchOS 3 Dock snapshots consistent with your app’s underlying model. Discover how to get the most from NSURLSessions and Watch Connectivity to keep data fresh and glanceable.","tags":[],"title":"Keeping Your Watch App Up to Date","url":"\/documentation\/wwdc16-218-keeping-your-watch-app-up-to-date\/"},{"category":"","section":"documentation","slug":"wwdc16-217-introducing-sirikit","summary":"iOS 10 introduces SiriKit, a new framework enabling apps to integrate with Siri. Simply by speaking, your apps can send messages, place calls, send payments, and more. Learn how SiriKit helps you create new experiences on iOS and explore design principles for creating a great Siri experience.","tags":[],"title":"Introducing SiriKit","url":"\/documentation\/wwdc16-217-introducing-sirikit\/"},{"category":"","section":"documentation","slug":"wwdc16-216-advances-in-uikit-animations-and-transitions","summary":"Direct onscreen manipulation is the cornerstone of the user experience on iOS. iOS 10 includes new support for making onscreen interactions even more immersive and interactive. Dive straight into the philosophy and techniques of building completely interactive, interruptible animations in your apps.","tags":[],"title":"Advances in UIKit Animations and Transitions","url":"\/documentation\/wwdc16-216-advances-in-uikit-animations-and-transitions\/"},{"category":"","section":"documentation","slug":"wwdc16-215-focus-interaction-on-tvos","summary":"The focus interaction model is a critical component of an engaging and intuitive experience on tvOS. Learn more about how it works, some additions and changes to the API, as well as tips and tricks for making your tvOS app even better.","tags":[],"title":"Focus Interaction on tvOS","url":"\/documentation\/wwdc16-215-focus-interaction-on-tvos\/"},{"category":"","section":"documentation","slug":"wwdc16-214-extending-your-app-with-safari-app-extensions","summary":"Learn how to bring your Content Blocker App Extensions to macOS and how to expose your application’s abilities through Safari with Safari App Extensions. Safari App Extensions let you take full advantage of web technologies, Cocoa, and other system frameworks that you already use in your app on macOS.","tags":[],"title":"Extending your App with Safari App Extensions","url":"\/documentation\/wwdc16-214-extending-your-app-with-safari-app-extensions\/"},{"category":"","section":"documentation","slug":"wwdc16-213-improving-existing-apps-with-modern-best-practices","summary":"The best way to avoid technical debt is to incrementally build-up technical credit. This session builds on last year’s Modernizing Existing Apps with Swift presentation to show you how you can continue modernizing your codebase while adopting best practices and adding new feature work.","tags":[],"title":"Improving Existing Apps with Modern Best Practices","url":"\/documentation\/wwdc16-213-improving-existing-apps-with-modern-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc16-212-developing-tvos-apps-using-tvmlkit-part-1","summary":"Join us for an introduction to TVMLKit, a template-based UI layout technology that is part of tvOS. Learn about new features coming in tvOS 10, as well as best practices in architecting your application, styling and customization of templates, and media playback.","tags":[],"title":"Developing tvOS Apps Using TVMLKit: Part 1","url":"\/documentation\/wwdc16-212-developing-tvos-apps-using-tvmlkit-part-1\/"},{"category":"","section":"documentation","slug":"wwdc16-211-quick-interaction-techniques-for-watchos","summary":"Quick interactions are essential for creating a compelling Apple Watch app. Gain insights into new gesture, Digital Crown, navigation, and notification APIs, and see how to use these API alongside SceneKit and SpriteKit to create rich, glanceable interfaces. Explore how this expanded toolbox can help make your watch apps quick and responsive.","tags":[],"title":"Quick Interaction Techniques for watchOS","url":"\/documentation\/wwdc16-211-quick-interaction-techniques-for-watchos\/"},{"category":"","section":"documentation","slug":"wwdc16-210-mastering-uikit-on-tvos","summary":"Learn how to make your tvOS interface more dynamic, intuitive, and high-performing with tips and tricks learned in this session.","tags":[],"title":"Mastering UIKit on tvOS","url":"\/documentation\/wwdc16-210-mastering-uikit-on-tvos\/"},{"category":"","section":"documentation","slug":"wwdc16-209-getting-the-most-out-of-healthkit","summary":"HealthKit offers more than ever to developers joining in Apple’s vibrant health and fitness ecosystem. Discover new ways to integrate the popular activity-tracking features of Apple Watch with your own app. Learn how to contribute to an even more complete picture of users’ health data by reading and writing Health Documents from your organization. Review core concepts for working with HealthKit and explore best practices for managing data to ensure your users enjoy a seamless experience.","tags":[],"title":"Getting the Most Out of HealthKit","url":"\/documentation\/wwdc16-209-getting-the-most-out-of-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc16-208-whats-new-in-watchos-3","summary":"watchOS 3 brings together notifications, complications, and the new Dock to keep your apps glanceable and responsive. Find out about the new additions to watchOS to create stunning visuals and learn about new snapshotting APIs to ensure your app is up to date when people glance at their wrist. Take a tour of watchOS 3 enhancements with us and find out which sessions you won’t want to miss throughout the week.","tags":[],"title":"What’s New in watchOS 3","url":"\/documentation\/wwdc16-208-whats-new-in-watchos-3\/"},{"category":"","section":"documentation","slug":"wwdc16-207-whats-new-in-foundation-for-swift","summary":"Underlying nearly every iOS, macOS, watchOS, and tvOS application sits the Foundation framework. See how improvements to the fundamental set of API in Foundation will improve the experience of using Swift for the entire Cocoa and Cocoa Touch SDK. Learn how Foundation framework’s new value types, adoption of standard library protocols, additional type safety, better generics, and custom operators will also make your own Swift code safer, faster, and more expressive.","tags":[],"title":"What’s New in Foundation for Swift","url":"\/documentation\/wwdc16-207-whats-new-in-foundation-for-swift\/"},{"category":"","section":"documentation","slug":"wwdc16-206-whats-new-in-tvos","summary":"Apps are quickly changing how we experience TV today, and tvOS is the foundation upon which new apps and ideas are being built. Take your app to the next level with great new features in tvOS 10. Learn all about the new interface appearance APIs, support for badging and notifications, and more.","tags":[],"title":"What’s New in tvOS","url":"\/documentation\/wwdc16-206-whats-new-in-tvos\/"},{"category":"","section":"documentation","slug":"wwdc16-205-whats-new-in-cocoa-touch","summary":"The UIKit framework provides the crucial infrastructure needed to construct and manage iOS apps, and UIKit continues to advance the state of the art for app design with many new features. Dive straight into new features across the iOS frameworks that allow your apps to take advantage of many new system services, as well as to offer services to other apps. This is your first stop to discover the many sessions to see about harnessing the power of iOS 10.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc16-205-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc16-204-imessage-apps-and-stickers-part-1","summary":"Messages allows your apps to create an expressive experience within a conversation. Get an overview of the iMessage App architecture. See how Xcode can easily create a simple sticker pack with your art. Learn how to make an iMessage app that has a custom sticker grid and can make any image you create into a sticker. Go beyond the basic sticker and create animated stickers. Learn how to perfect your iMessage app presentation and layout.","tags":[],"title":"iMessage Apps and Stickers, Part 1","url":"\/documentation\/wwdc16-204-imessage-apps-and-stickers-part-1\/"},{"category":"","section":"documentation","slug":"wwdc16-203-whats-new-in-cocoa","summary":"macOS brings many new enhancements such as automatic window tabbing, enhanced color reproduction, and improved presentation of right-to-left languages. Get introduced to new APIs for these features and more, such as NSGridView and NSMeasurement. Learn about new conventions for APIs in Swift and Objective-C. This is your first stop to discover exciting new features in Cocoa sessions throughout the week.","tags":[],"title":"What’s New in Cocoa","url":"\/documentation\/wwdc16-203-whats-new-in-cocoa\/"},{"category":"","section":"documentation","slug":"wwdc16-202-whats-new-in-accessibility","summary":"Explore the new accessibility features for iOS, tvOS, and macOS. Gain specific knowledge of how best to adapt your app to make it accessible to everyone, regardless of their physical or learning abilities. Learn from the experts about advanced accessibility topics and how best to structure your app interface for accessibility.","tags":[],"title":"What’s New in Accessibility","url":"\/documentation\/wwdc16-202-whats-new-in-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc16-201-internationalization-best-practices","summary":"Following some simple practices when writing your app can help make it world-ready. Learn about what’s new, how to take greater advantage of existing frameworks, and review some common pitfalls and how to avoid them. Hear some ideas for going one step further and optimizing your app for different countries.","tags":[],"title":"Internationalization Best Practices","url":"\/documentation\/wwdc16-201-internationalization-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc16-108-marvel-making-a-difference-in-the-real-world","summary":"The heroes and villains of Marvel have captivated a worldwide audience for over 75 years. Marvel Games Creative Director Bill Rosemann lifts up the masks of Spider-Man, Black Panther, the Guardians of the Galaxy and more to reveal the true power behind the world’s most heroic brand.","tags":[],"title":"Marvel: Making a Difference in the Real World","url":"\/documentation\/wwdc16-108-marvel-making-a-difference-in-the-real-world\/"},{"category":"","section":"documentation","slug":"wwdc16-106-talking-in-pictures-reconstructing-the-building-blocks-of-language","summary":"When Ajit Narayanan began working on technologies for children with disabilities in India in 2008, it was the beginning of an incredible journey down a rabbit hole — one that took him and his team on a wild ride across the worlds of electrical engineering, autism, cross-cultural communication and the mathematics of language. His journey led him to build Avaz, a wheelchair-mounted tablet to help people with disabilities communicate, then even more ambitiously, to invent FreeSpeech, an entirely new visual language that could break down language barriers altogether. Ajit will talk about the series of events that led to the creation of the Avaz and FreeSpeech apps, their impact in India and around the world (earning him the National Award for Empowerment of People with Disabilities from the President of India) and his ideas on the transformative role that apps can play in education.","tags":[],"title":"Talking In Pictures: Reconstructing the Building Blocks of Language","url":"\/documentation\/wwdc16-106-talking-in-pictures-reconstructing-the-building-blocks-of-language\/"},{"category":"","section":"documentation","slug":"wwdc16-105-tapping-into-innovative-solutions-to-save-the-worlds-wildlife","summary":"Wildlife populations across the globe face innumerable threats that have resulted in dwindling numbers of many species. Ginette Hemley, SVP of Wildlife Conservation at World Wildlife Fund, will take us through many of the bold new approaches to conservation that organizations like WWF are taking to tackle these challenges. One of the most promising and potentially game-changing ideas for solving conservation problems around the world is by applying technology in creative new ways. From examining polar bear DNA to utilizing devices such as thermal imaging cameras and gunshot detectors to drawing upon the power of social networks and apps, learn about the surprising ways that WWF and its partners are harnessing the power of technology to keep up with the planet’s most urgent wildlife conservation challenges.","tags":[],"title":"Tapping into Innovative Solutions to Save the World’s Wildlife","url":"\/documentation\/wwdc16-105-tapping-into-innovative-solutions-to-save-the-worlds-wildlife\/"},{"category":"","section":"documentation","slug":"wwdc16-104-disability-and-innovation-the-universal-benefits-of-accessible-design","summary":"White House Champion of Change, Forbes 30 under 30 leader, and BBC Women of Africa Hero, Haben Girma is an acclaimed accessibility and inclusion advocate. The first deaf blind person to graduate from Harvard Law School, Haben champions equal access to information for people with disabilities, earning her recognition from both President Obama and President Clinton. Through this presentation, Haben will share how designing with accessibility in mind benefits not just users with disabilities, but developers, too. Throughout history, disability has sparked innovation, leading to breakthroughs in wide-ranging inventions from keyboards to telephones. Hear Haben’s remarkable story and learn how incorporating universal access principles into product development can increase access for people with disabilities while simultaneously improving the overall usability of your app.","tags":[],"title":"Disability and Innovation: The Universal Benefits of Accessible Design","url":"\/documentation\/wwdc16-104-disability-and-innovation-the-universal-benefits-of-accessible-design\/"},{"category":"","section":"documentation","slug":"wwdc16-103-apple-design-awards","summary":"Join us for an unforgettable award ceremony celebrating developers and their outstanding work. The 2016 Apple Design Awards recognize state of the art iOS, macOS, watchOS, and tvOS apps that reflect excellence in design and innovation.","tags":[],"title":"Apple Design Awards","url":"\/documentation\/wwdc16-103-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc16-102-platforms-state-of-the-union","summary":"WWDC 2016 Platforms State of the Union","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc16-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc16-101-keynote","summary":"WWDC 2016 Keynote","tags":[],"title":"Keynote","url":"\/documentation\/wwdc16-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc16","summary":"Xcode 8, Swift 3.0, iOS 10, macOS 10.12 (Sierra), tvOS 10, watchOS 3.","tags":[],"title":"WWDC16","url":"\/documentation\/wwdc16\/"},{"category":"","section":"documentation","slug":"wwdc15-805-apple-watch-design-tips-and-tricks","summary":"Get essential design guidance for creating Apple Watch apps that support quick and efficient interaction, make accessing features and information more convenient, and compliment their companion iOS apps. Learn key tips about information architecture, layout, typography, color and app icon design that will make your app easy to use, beautiful and delightful.","tags":[],"title":"Apple Watch Design Tips and Tricks","url":"\/documentation\/wwdc15-805-apple-watch-design-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc15-804-introducing-the-new-system-fonts","summary":"Fonts lay at the intersection of design and engineering. Get introduced to typographic principles and how they apply to the San Francisco fonts. Hear what makes this family of fonts unique and how to effectively take advantage of their advanced features. Learn best practices when designing and implementing interfaces with text.","tags":[],"title":"Introducing the New System Fonts","url":"\/documentation\/wwdc15-804-introducing-the-new-system-fonts\/"},{"category":"","section":"documentation","slug":"wwdc15-803-designing-with-animation","summary":"Animation is a powerful tool for creating a delightful and intuitive app experience. We will show you how to get started with animations, how to make them effective for your user interface, and how to save time coding by building animations into interactive prototypes.","tags":[],"title":"Designing with Animation","url":"\/documentation\/wwdc15-803-designing-with-animation\/"},{"category":"","section":"documentation","slug":"wwdc15-802-designing-for-apple-watch","summary":"Apple Watch represents a new chapter in the way people relate to technology. It’s the most personal device Apple has ever designed, and it enables new ways to receive information and to interact with apps. Learn about the foundations on which Apple Watch was designed and how they lead to Apple Watch apps that complement the iPhone, support lightweight interaction and deliver timely and relevant information to the wrist. Discover how to create usable and beautiful apps, notifications and glances through effective use of typography, information design, layout, animation, and color.","tags":[],"title":"Designing for Apple Watch","url":"\/documentation\/wwdc15-802-designing-for-apple-watch\/"},{"category":"","section":"documentation","slug":"wwdc15-801-designing-for-future-hardware","summary":"Design for tomorrow’s products today. See examples of how Apple and partners designed software for Apple Watch and other products before they even existed. Learn techniques for designing and prototyping so you can create great apps for hardware accessories and new products before they are available.","tags":[],"title":"Designing for Future Hardware","url":"\/documentation\/wwdc15-801-designing-for-future-hardware\/"},{"category":"","section":"documentation","slug":"wwdc15-720-whats-new-in-notifications","summary":"Remote notifications are sent by your server to the Apple Push Notification service, which pushes the notifications to each device. Your app may take different actions, such as displaying a message to the user or downloading new data. Find out about important changes to the provider protocol. Learn about enhancements to the way your app can respond to notifications.","tags":[],"title":"What’s New in Notifications","url":"\/documentation\/wwdc15-720-whats-new-in-notifications\/"},{"category":"","section":"documentation","slug":"wwdc15-719-your-app-and-next-generation-networks","summary":"IPv6 is growing exponentially and carriers worldwide are moving to pure IPv6 APNs. Learn about new tools to test your apps for compatibility and get expert advice on making sure your apps work in all network environments.  iOS 9 and OS X 10.11 now support the latest TCP standards. Hear from the experts on TCP Fast Open and Explicit Congestion Notification, and find out how it benefits your apps.","tags":[],"title":"Your App and Next Generation Networks","url":"\/documentation\/wwdc15-719-your-app-and-next-generation-networks\/"},{"category":"","section":"documentation","slug":"wwdc15-718-building-responsive-and-efficient-apps-with-gcd","summary":"watchOS and iOS Multitasking place increased demands on your application’s efficiency and responsiveness.  With expert guidance from the GCD team, learn about threads, queues, runloops and best practices for their use in a modern app.  Take a deep dive into QoS, its propagation and advanced techniques for debugging your GCD-enabled app.","tags":[],"title":"Building Responsive and Efficient Apps with GCD","url":"\/documentation\/wwdc15-718-building-responsive-and-efficient-apps-with-gcd\/"},{"category":"","section":"documentation","slug":"wwdc15-717-whats-new-in-network-extension-and-vpn","summary":"The Network Extension framework allows apps to customize and extend the core networking features of iOS and OS X. Learn how to use new VPN features and NetworkExtension API to create network security solutions for education and enterprise.","tags":[],"title":"What’s New in Network Extension and VPN","url":"\/documentation\/wwdc15-717-whats-new-in-network-extension-and-vpn\/"},{"category":"","section":"documentation","slug":"wwdc15-715-cloudkit-tips-and-tricks","summary":"CloudKit makes it easy to store and retrieve any kind of data from iCloud. Dive into the API with the CloudKit framework team as they explore some of its lesser-known features, explore best practices around subscriptions and queries, and reveal its hidden gems.","tags":[],"title":"CloudKit Tips and Tricks","url":"\/documentation\/wwdc15-715-cloudkit-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc15-714-whats-new-in-core-location","summary":"Learn what’s new in Core Location. Discover how to use Core Location with Apple Watch, and how to make the best use of location services to develop powerful and compelling apps.","tags":[],"title":"What’s New in Core Location","url":"\/documentation\/wwdc15-714-whats-new-in-core-location\/"},{"category":"","section":"documentation","slug":"wwdc15-713-introducing-watch-connectivity","summary":"Getting information to your Watch app is crucial. Learn how to leverage NSURLSession to get your data from the Internet. Tap into the new WatchConnectivity framework for device to device communication and transferring of data. See real-world examples and learn best practices to understand when to use your WatchKit extension and when to leverage your iPhone app.","tags":[],"title":"Introducing Watch Connectivity","url":"\/documentation\/wwdc15-713-introducing-watch-connectivity\/"},{"category":"","section":"documentation","slug":"wwdc15-712-low-energy-high-performance-compression-and-accelerate","summary":"The Accelerate framework gives you fast, energy efficient signal and image processing and linear algebra libraries. Learn about a new library, dedicated to high performance compression. simd.h, introduced in iOS 8 and OS X 10.10, is the unified 2d and 3d math library for graphics and games. Find out how you can use simd.h and what’s new in iOS 9 and OS X 10.11.","tags":[],"title":"Low Energy, High Performance: Compression and Accelerate","url":"\/documentation\/wwdc15-712-low-energy-high-performance-compression-and-accelerate\/"},{"category":"","section":"documentation","slug":"wwdc15-711-networking-with-nsurlsession","summary":"Learn about App Transport Security, HTTP\/2 protocol support, new NSURLSession API, and best practices for networking in apps, extensions, and WatchKit apps.","tags":[],"title":"Networking with NSURLSession","url":"\/documentation\/wwdc15-711-networking-with-nsurlsession\/"},{"category":"","section":"documentation","slug":"wwdc15-710-cloudkit-js-and-web-services","summary":"CloudKit.js is the new library that provides web access to your app data stored in iCloud. Explore the new web service APIs and learn how to extend your iOS or OS X apps to the web using CloudKit.","tags":[],"title":"CloudKit JS and Web Services","url":"\/documentation\/wwdc15-710-cloudkit-js-and-web-services\/"},{"category":"","section":"documentation","slug":"wwdc15-709-introducing-search-apis","summary":"Making your app more discoverable leads to more downloads and generates revenue. iOS 9 adds a variety of ways to surface the rich content in your app making search results more relevant.  Understand how you can enhance search results with App History and CoreSpotlight.  See how small changes on your website can produce better Safari suggestions.  Gain insights into how deep app links can bring people directly where they want to go in your app, making your app’s content even more discoverable and searchable than content on the traditional web.","tags":[],"title":"Introducing Search APIs","url":"\/documentation\/wwdc15-709-introducing-search-apis\/"},{"category":"","section":"documentation","slug":"wwdc15-708-debugging-energy-issues","summary":"Learn how to debug energy issues in your app. See the energy debugging tools on iOS and walk through debugging common energy issues in a sample app.","tags":[],"title":"Debugging Energy Issues","url":"\/documentation\/wwdc15-708-debugging-energy-issues\/"},{"category":"","section":"documentation","slug":"wwdc15-707-achieving-allday-battery-life","summary":"Learn why efficient software is the key to long battery life for both OS X and iOS devices. We’ll explore where the energy in our batteries goes, how Apple hardware and software efficiently manage energy, and how you can make your code most efficient to ensure long battery life.","tags":[],"title":"Achieving All-day Battery Life","url":"\/documentation\/wwdc15-707-achieving-allday-battery-life\/"},{"category":"","section":"documentation","slug":"wwdc15-706-security-and-your-apps","summary":"Your reputation depends on protecting your users’ data. Do this by taking advantage of the Security frameworks built into iOS, OS X and watchOS. Find out about new developments in Security and learn the best practices to develop secure apps and protect your users’ data.","tags":[],"title":"Security and Your Apps","url":"\/documentation\/wwdc15-706-security-and-your-apps\/"},{"category":"","section":"documentation","slug":"wwdc15-705-whats-new-in-core-motion","summary":"See what’s new in Core Motion. Learn how your application can take advantage of the motion sensors on iOS devices. Walk through new features of the pedometer and learn how to use the altimeter to take your app to the next level. Get personal with motion APIs and sensor data on the Apple Watch. Run through a demo that uses motion-context awareness to make an application feel smarter!","tags":[],"title":"What’s New in Core Motion","url":"\/documentation\/wwdc15-705-whats-new-in-core-motion\/"},{"category":"","section":"documentation","slug":"wwdc15-704-whats-new-in-cloudkit","summary":"CloudKit is the framework that powers iCloud on iOS, OS X, and now iCloud on the web. Hear how we’ve been working to make CloudKit more accessible to all your users with the web services API and Javascript library. Learn about reporting available in the updated Dashboard and the new, more flexible public database storage pricing.","tags":[],"title":"What’s New in CloudKit","url":"\/documentation\/wwdc15-704-whats-new-in-cloudkit\/"},{"category":"","section":"documentation","slug":"wwdc15-703-privacy-and-your-app","summary":"Learn about new developments in Privacy in iOS, OS X, and watchOS that impact your apps. Hear about best practices for delivering great features and respecting your customers’ privacy.","tags":[],"title":"Privacy and Your App","url":"\/documentation\/wwdc15-703-privacy-and-your-app\/"},{"category":"","section":"documentation","slug":"wwdc15-702-apple-pay-within-apps","summary":"Apple Pay is the easy, secure, and private way to pay for physical goods and services within apps on iPhone 6, iPad Air 2, and iPad mini 3. Find out how you can increase conversion rates in your checkout experience by integrating with Apple Pay APIs. And learn more about what’s new with Apple Pay within apps in iOS 9.","tags":[],"title":"Apple Pay Within Apps","url":"\/documentation\/wwdc15-702-apple-pay-within-apps\/"},{"category":"","section":"documentation","slug":"wwdc15-701-wallet-the-home-for-apple-pay-and-more","summary":"Passbook is now Wallet.  Wallet stores your coupons, boarding passes, event tickets, and even the credit and debit cards you use with Apple Pay. In iOS 9, Wallet makes the Apple Pay experience even better and integrates more with Apple Watch.  Learn about the Wallet app, new kinds of passes, and how your app can integrate and interact with Wallet.","tags":[],"title":"Wallet - The home for Apple Pay and more","url":"\/documentation\/wwdc15-701-wallet-the-home-for-apple-pay-and-more\/"},{"category":"","section":"documentation","slug":"wwdc15-610-metal-performance-optimization-techniques","summary":"Learn best practices to maximize the efficiency of your Metal based apps and attain high frame rates. Gain insight into powerful tools for analyzing and optimizing performance for both the CPU and GPU. Discover how to identify bottlenecks, tune performance hot-spots, and overcome any hurdles that could keep your app from reaching its potential.","tags":[],"title":"Metal Performance Optimization Techniques","url":"\/documentation\/wwdc15-610-metal-performance-optimization-techniques\/"},{"category":"","section":"documentation","slug":"wwdc15-609-deeper-into-gameplaykit-with-demobots","summary":"Dive into the tools and technologies used to construct the DemoBots developer sample. Gain a practical understanding of how DemoBots implements its gameplay logic with GameplayKit and visuals using SpriteKit.  See how the sample integrates On Demand Resources and other system services.","tags":[],"title":"Deeper into GameplayKit with DemoBots","url":"\/documentation\/wwdc15-609-deeper-into-gameplaykit-with-demobots\/"},{"category":"","section":"documentation","slug":"wwdc15-608-introducing-gameplaykit","summary":"GameplayKit provides a collection of essential tools and techniques used to implement gameplay logic. Get introduced to the GameplayKit framework and see how to put its capabilities to work in your own titles. Learn about managing state machines, controlling game entities, and implementing rule systems. Dive into its built-in tools for randomization, pathfinding, and advanced simulation.","tags":[],"title":"Introducing GameplayKit","url":"\/documentation\/wwdc15-608-introducing-gameplaykit\/"},{"category":"","section":"documentation","slug":"wwdc15-607-whats-new-in-metal-part-2","summary":"Your app can be ready to harness the power of Metal starting with just a few lines of code. Get introduced to the new MetalKit framework and learn its simple API for model and texture loading, animation control, and other common tasks. Plug into Metal Performance Shaders and access a powerful library of image-processing operations tuned for Apple hardware.","tags":[],"title":"What’s New in Metal, Part 2","url":"\/documentation\/wwdc15-607-whats-new-in-metal-part-2\/"},{"category":"","section":"documentation","slug":"wwdc15-606-enhancements-to-scenekit","summary":"SceneKit is a high-level graphics framework that helps you create 3D animated scenes and effects in your apps. See how to take advantage of the new capabilities and performance gains enabled by SceneKit’s new Metal-based renderer. Check out the innovative Scene Editor, enabling you to build game levels and other scenes directly within Xcode. Learn about new features for realistic shading, enhancements for physics, and dynamic spatial audio.","tags":[],"title":"Enhancements to SceneKit","url":"\/documentation\/wwdc15-606-enhancements-to-scenekit\/"},{"category":"","section":"documentation","slug":"wwdc15-605-going-social-with-replaykit-and-game-center","summary":"ReplayKit provides an easy-to-use framework that lets players record their gameplay — amazing plays, great victories, or solutions to tough challenges — and share video with other players and viewers online. Get introduced to the ReplayKit framework and see how to enable its capability for sharing game video and audio in your games and other apps. Then get the latest news about Game Center, Apple’s social gaming network. Learn about the new model for pre-release testing with Game Center and enhancements for multiplayer games.","tags":[],"title":"Going Social with ReplayKit and Game Center","url":"\/documentation\/wwdc15-605-going-social-with-replaykit-and-game-center\/"},{"category":"","section":"documentation","slug":"wwdc15-604-whats-new-in-spritekit","summary":"SpriteKit provides everything you’ll need to build 2D games with high-performance graphics and engaging gameplay. Check out new APIs for managing a virtual camera and delivering spatial audio. See the all-new timeline-based Actions editor built right into Xcode, and learn about deep integration with Metal, SceneKit, GameplayKit, and more.","tags":[],"title":"What’s New in SpriteKit","url":"\/documentation\/wwdc15-604-whats-new-in-spritekit\/"},{"category":"","section":"documentation","slug":"wwdc15-603-whats-new-in-metal-part-1","summary":"Metal provides extremely efficient access to the GPU through its streamlined API and high-performance architecture. Check out what’s new in Metal and dive into support for Metal on OS X. Understand enhancements to the Metal memory model and learn how to prepare assets for delivery in Metal-based apps and games.","tags":[],"title":"What’s New in Metal, Part 1","url":"\/documentation\/wwdc15-603-whats-new-in-metal-part-1\/"},{"category":"","section":"documentation","slug":"wwdc15-602-managing-3d-assets-with-model-io","summary":"Model I\/O provides a seamless infrastructure for accessing and managing 3D models. Its high-performance architecture supports reading and writing popular mesh and model formats, textures, and materials. Get introduced to the Model I\/O framework and learn key details about its integration with SceneKit, MetalKit, and GLKit.","tags":[],"title":"Managing 3D Assets with Model I\/O","url":"\/documentation\/wwdc15-602-managing-3d-assets-with-model-io\/"},{"category":"","section":"documentation","slug":"wwdc15-511-safari-extensibility-content-blocking-and-shared-links","summary":"Safari in iOS 9 and OS X El Capitan delivers new ways for your app to extend Safari’s behavior. Learn how to create Shared Links and Content Blocking extensions for iOS and OS X, and about changes to the Safari Extension development process.","tags":[],"title":"Safari Extensibility: Content Blocking and Shared Links","url":"\/documentation\/wwdc15-511-safari-extensibility-content-blocking-and-shared-links\/"},{"category":"","section":"documentation","slug":"wwdc15-510-whats-new-in-core-image","summary":"The newly-unified architecture of Core Image gives iOS and OS X apps access to even more image processing power. Learn about new CIFilters and enhancements to the CIKernel language. See how to use Core Image with AV Foundation and Metal to expand the capabilities of your app.","tags":[],"title":"What’s New in Core Image","url":"\/documentation\/wwdc15-510-whats-new-in-core-image\/"},{"category":"","section":"documentation","slug":"wwdc15-509-seamless-linking-to-your-app","summary":"Learn how to increase app engagement by using universal links to lead users directly to your App when they tap links to your website. Discover how Smart App Banners and Shared Web Credentials give your users the most integrated mobile experience possible.","tags":[],"title":"Seamless Linking to Your App","url":"\/documentation\/wwdc15-509-seamless-linking-to-your-app\/"},{"category":"","section":"documentation","slug":"wwdc15-508-audio-unit-extensions","summary":"Learn about using Audio Unit Extensions to provide your App with sophisticated audio manipulation and processing capabilities. Explore the architecture and  fundamentals of an App that uses Audio Unit Extensions, and how your app can benefit from their power.","tags":[],"title":"Audio Unit Extensions","url":"\/documentation\/wwdc15-508-audio-unit-extensions\/"},{"category":"","section":"documentation","slug":"wwdc15-507-whats-new-in-core-audio","summary":"See what’s new in Core Audio. Learn about enhancements to AVAudioEngine such as Compressed audio format support, more flexible node connections and new Sequencer functionality. Learn how to take advantage of digital audio between your OS X and iOS devices via Lightning. Learn best practices and what’s new in AVAudioSession.","tags":[],"title":"What’s New in Core Audio","url":"\/documentation\/wwdc15-507-whats-new-in-core-audio\/"},{"category":"","section":"documentation","slug":"wwdc15-506-editing-movies-in-av-foundation","summary":"Learn how to use the new AVMutableMovie class to modify media files and simplify your editing workflows. See how to support segment-based editing and discover the power of sample reference movies.","tags":[],"title":"Editing Movies in AV Foundation","url":"\/documentation\/wwdc15-506-editing-movies-in-av-foundation\/"},{"category":"","section":"documentation","slug":"wwdc15-505-using-safari-to-deliver-and-debug-a-responsive-web-design","summary":"Safari has a powerful new interface for designing responsive web experiences. Explore this great new feature and other new capabilities and improvements to the Web Inspector—WebKit’s built-in development tool. Discover how you can use Safari and Web Inspector to powerfully and efficiently design, debug, and optimize for the web.","tags":[],"title":"Using Safari to Deliver and Debug a Responsive Web Design","url":"\/documentation\/wwdc15-505-using-safari-to-deliver-and-debug-a-responsive-web-design\/"},{"category":"","section":"documentation","slug":"wwdc15-504-introducing-safari-view-controller","summary":"The new SFSafariViewController class enables you to deliver interactive web content in your app just like Safari, including the key Safari UI elements already familiar to your users. See how to easily bring Safari features like Reader and AutoFill into your app, and provide a great web viewing experience with fewer lines of code.","tags":[],"title":"Introducing Safari View Controller","url":"\/documentation\/wwdc15-504-introducing-safari-view-controller\/"},{"category":"","section":"documentation","slug":"wwdc15-503-monetize-and-promote-your-app-with-iad","summary":"iAd is Apple’s advertising platform, designed to enable developers to monetize and promote their apps in over 100 countries. See how iAd technologies built into iOS make it easy to enable advertising to generate revenue, identify user segments for re-engagement and understand the impact of your marketing campaigns. Learn how to promote your app to new users and create targeted campaigns designed to re-engage those you already have.","tags":[],"title":"Monetize and Promote Your App with iAd","url":"\/documentation\/wwdc15-503-monetize-and-promote-your-app-with-iad\/"},{"category":"","section":"documentation","slug":"wwdc15-502-content-protection-for-http-live-streaming","summary":"FairPlay streaming provides industrial-grade protection for audio and video content. Learn how to implement and deploy FairPlay streaming to protect content when using HTTP Live Streaming.","tags":[],"title":"Content Protection for HTTP Live Streaming","url":"\/documentation\/wwdc15-502-content-protection-for-http-live-streaming\/"},{"category":"","section":"documentation","slug":"wwdc15-501-whats-new-in-web-development-in-webkit-and-safari","summary":"Learn about exciting new features in WebKit and Safari that will help you make your content feel alive. See compelling new interactions made possible by the Force Touch trackpad and enhanced scrolling support. Expand your design toolkit with high performance filters for stunning image and backdrop effects, and embrace the connected living room with updated AirPlay support.","tags":[],"title":"What’s New in Web Development in WebKit and Safari","url":"\/documentation\/wwdc15-501-whats-new-in-web-development-in-webkit-and-safari\/"},{"category":"","section":"documentation","slug":"wwdc15-414-building-better-apps-with-value-types-in-swift","summary":"Swift supports rich first-class value types in the form of powerful structs, which provide new ways to architect your apps. Learn about the differences between reference and value types, how value types help you elegantly solve common problems around mutability and thread safety, and discover how Swift’s unique capabilities might change the way you think about abstraction.","tags":[],"title":"Building Better Apps with Value Types in Swift","url":"\/documentation\/wwdc15-414-building-better-apps-with-value-types-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc15-413-advanced-debugging-and-the-address-sanitizer","summary":"Discover UI debugging and how to use advanced breakpoint actions to quickly explore and fix your app. Learn how the new Address Sanitizer feature finds buffer overflows, use-after-free errors, and other memory corruption bugs at run time.","tags":[],"title":"Advanced Debugging and the Address Sanitizer","url":"\/documentation\/wwdc15-413-advanced-debugging-and-the-address-sanitizer\/"},{"category":"","section":"documentation","slug":"wwdc15-412-profiling-in-depth","summary":"Learn about time profiling down to the disassembly level to help you investigate the minute details of your application that affect its performance and responsiveness.","tags":[],"title":"Profiling in Depth","url":"\/documentation\/wwdc15-412-profiling-in-depth\/"},{"category":"","section":"documentation","slug":"wwdc15-411-swift-in-practice","summary":"Learn how Swift can help you define away some common pitfalls in app development, allowing your apps to benefit from safer runtime behavior while enjoying strong guarantees provided by Swift at compile-time. Hear about how API availability checking in Swift allows you to easily take advantage of new APIs while guaranteeing safe deployment to earlier OS releases. See how enumerations and protocols can help not only maintain compile-time invariants between your app’s code and assets but also reduce boilerplate.","tags":[],"title":"Swift in Practice","url":"\/documentation\/wwdc15-411-swift-in-practice\/"},{"category":"","section":"documentation","slug":"wwdc15-410-continuous-integration-and-code-coverage-in-xcode","summary":"Xcode 7 includes new code coverage features to help you design a powerful test harness for your app. Learn all about coverage along with integration and improvements with Xcode Server.","tags":[],"title":"Continuous Integration and Code Coverage in Xcode","url":"\/documentation\/wwdc15-410-continuous-integration-and-code-coverage-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc15-409-optimizing-swift-performance","summary":"Hear from the experts about how you can write faster Swift code and use Instruments to identify performance bottlenecks. Dive deep into specific techniques that will help you produce the most efficient code possible.","tags":[],"title":"Optimizing Swift Performance","url":"\/documentation\/wwdc15-409-optimizing-swift-performance\/"},{"category":"","section":"documentation","slug":"wwdc15-408-protocoloriented-programming-in-swift","summary":"At the heart of Swift’s design are two incredibly powerful ideas: protocol-oriented programming and first class value semantics. Each of these concepts benefit predictability, performance, and productivity, but together they can change the way we think about programming. Find out how you can apply these ideas to improve the code you write.","tags":[],"title":"Protocol-Oriented Programming in Swift","url":"\/documentation\/wwdc15-408-protocoloriented-programming-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc15-407-implementing-ui-designs-in-interface-builder","summary":"Apps that stand out must be attractive, intuitive, and easy to use. Interface Builder experts will give you the skills to turn your idea into a world class app. Learn to use the new stacks feature, create adaptable interfaces, employ asset catalogs, and design custom UI to build an outstanding app for Mac, iPhone, iPad and Apple Watch.","tags":[],"title":"Implementing UI Designs in Interface Builder","url":"\/documentation\/wwdc15-407-implementing-ui-designs-in-interface-builder\/"},{"category":"","section":"documentation","slug":"wwdc15-406-ui-testing-in-xcode","summary":"Xcode 7 introduces new UI testing features fully integrated into the IDE. Learn about the new APIs and how UI testing fits in with existing testing features in Xcode. See how to get started by recording your app, and how to efficiently craft and maintain UI tests.","tags":[],"title":"UI Testing in Xcode","url":"\/documentation\/wwdc15-406-ui-testing-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc15-405-authoring-rich-playgrounds","summary":"Learn about the new features in Xcode playgrounds such as inline results, auxiliary sources and resources, multiple pages, and markup for formatted text. Find out how to explore programming problems in a playground, and create engaging experiences for teaching and learning.","tags":[],"title":"Authoring Rich Playgrounds","url":"\/documentation\/wwdc15-405-authoring-rich-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc15-404-app-thinning-in-xcode","summary":"The app distribution pipeline is becoming more powerful and flexible. Learn to create full featured apps that are delivered to users devices with new App Thinning features such as slicing and ODR. See how to integrate these new features into your continuous integration and testing processes, and discover workflows for creating on-demand, tailored content.","tags":[],"title":"App Thinning in Xcode","url":"\/documentation\/wwdc15-404-app-thinning-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc15-403-improving-your-existing-apps-with-swift","summary":"See how you can incrementally add Swift into your existing Objective-C codebase and app development workflow. Learn how to leverage Swift’s powerful language features to develop robust applications that are faster to write and easier to maintain.","tags":[],"title":"Improving Your Existing Apps with Swift","url":"\/documentation\/wwdc15-403-improving-your-existing-apps-with-swift\/"},{"category":"","section":"documentation","slug":"wwdc15-402-whats-new-in-lldb","summary":"Enhancements to LLDB simplify life for Swift and Objective-C developers alike. Experienced developers will find new powers within the debugging console, and learn more about the connection between the debugger and Swift REPL. Newcomers will get insight into the range of possibilities hidden behind the LLDB prompt.","tags":[],"title":"What’s New in LLDB","url":"\/documentation\/wwdc15-402-whats-new-in-lldb\/"},{"category":"","section":"documentation","slug":"wwdc15-401-swift-and-objectivec-interoperability","summary":"Discover new features that make it easier than ever to craft Objective-C APIs that work beautifully in Swift, as well as new Swift language features that provide even better interoperability. Apple engineers will also discuss enhancements to Apple’s SDKs that improve the Swift experience.","tags":[],"title":"Swift and Objective-C Interoperability","url":"\/documentation\/wwdc15-401-swift-and-objectivec-interoperability\/"},{"category":"","section":"documentation","slug":"wwdc15-306-supporting-the-enterprise-with-os-x-automation","summary":"Automation is the life blood of any organization, providing speed, accuracy, and the ability to efficiently scale in-house processes. See how the automation technologies in OS X can easily and quickly configure shared-use iOS devices, generate, update, and distribute company documents and provide reliable desktop solutions for the back-office. With tools like Automator, AppleScript, and the new JavaScript for Automation (JXA), creating problem-solving solutions has become even easier and even more interesting.","tags":[],"title":"Supporting the Enterprise with OS X Automation","url":"\/documentation\/wwdc15-306-supporting-the-enterprise-with-os-x-automation\/"},{"category":"","section":"documentation","slug":"wwdc15-304-itunes-connect-development-to-distribution","summary":"Get more acquainted with iTunes Connect, your gateway to the App Store. Dive into unique services like TestFlight for beta testing and Transporter to help automate metadata setup for your apps. Discover the power of adding rich media to your app store page, the benefits of broadening your distribution path globally, and the abundance of help resources.","tags":[],"title":"iTunes Connect: Development to Distribution","url":"\/documentation\/wwdc15-304-itunes-connect-development-to-distribution\/"},{"category":"","section":"documentation","slug":"wwdc15-303-getting-the-most-out-of-app-analytics","summary":"App Analytics is the powerful new tool inside iTunes Connect. Get a walk through of the metrics related to user engagement, marketing campaigns, monetization and more. Gain valuable insights from data that only Apple provides, so you can build better iOS apps and a more informed app business.","tags":[],"title":"Getting the Most out of App Analytics","url":"\/documentation\/wwdc15-303-getting-the-most-out-of-app-analytics\/"},{"category":"","section":"documentation","slug":"wwdc15-302-whats-new-in-itunes-connect","summary":"iTunes Connect is the gateway to sharing your creativity on the App Store. Learn about new opportunities to get your products out on Apple Watch. See how the latest improvements to TestFlight as well as other new upcoming features on the iTunes Connect, will help you make the most of Apple’s digital storefront.","tags":[],"title":"What’s New in iTunes Connect","url":"\/documentation\/wwdc15-302-whats-new-in-itunes-connect\/"},{"category":"","section":"documentation","slug":"wwdc15-301-whats-new-in-managing-apple-devices","summary":"Learn about the latest developments in managing Apple devices in large organizations. Learn the latest techniques to wirelessly configure settings, monitor compliance with policies, install apps and bulk configure devices with ease.","tags":[],"title":"What’s New in Managing Apple Devices","url":"\/documentation\/wwdc15-301-whats-new-in-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc15-234-building-document-based-apps","summary":"UIDocument is a robust way to model user-generated content in your app. See how to easily integrate your app’s documents with iCloud, file extensions, and document browsers. Learn how to build a document-based app from the ground up.","tags":[],"title":"Building Document Based Apps","url":"\/documentation\/wwdc15-234-building-document-based-apps\/"},{"category":"","section":"documentation","slug":"wwdc15-233-advanced-touch-input-on-ios","summary":"Learn about the touch input and drawing pipelines. Gain specific insights in how best to design your app to minimize latency in receiving touches and maximizing the performance of drawing content on the screen. Explore new API in UIKit and learn best practices for faster and smoother input.","tags":[],"title":"Advanced Touch Input on iOS","url":"\/documentation\/wwdc15-233-advanced-touch-input-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc15-232-best-practices-for-progress-reporting","summary":"NSProgress lets you easily and accurately report the progress of work in your app. Understand the concepts behind progress reporting and how to design code that accurately and efficiently reports its progress. Gain specific insights on how to receive progress updates from framework APIs, fold that into your own progress reporting, and show that progress in your app. Hear from the experts about best practices and how to master the NSProgress APIs.","tags":[],"title":"Best Practices for Progress Reporting","url":"\/documentation\/wwdc15-232-best-practices-for-progress-reporting\/"},{"category":"","section":"documentation","slug":"wwdc15-231-cocoa-touch-best-practices","summary":"Small improvements can make a big impact on your iOS app’s performance and launch time. Learn best practices to optimize your UIKit-based applications. See how to future-proof your app for what may be next, and walk through numerous real world examples for more responsive and dynamic collection and table views.","tags":[],"title":"Cocoa Touch Best Practices","url":"\/documentation\/wwdc15-231-cocoa-touch-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc15-230-performance-on-ios-and-watchos","summary":"Great performance is a prerequisite for delivering a compelling and immersive app experience that keeps users engaged. Learn best practices and strategies for characterizing and improving the performance of your code for iPhone, iPad, and Apple Watch.","tags":[],"title":"Performance on iOS and watchOS","url":"\/documentation\/wwdc15-230-performance-on-ios-and-watchos\/"},{"category":"","section":"documentation","slug":"wwdc15-229-whats-new-in-uikit-dynamics-and-visual-effects","summary":"Dynamic interfaces create fluid and rich interactions. Hear about new dynamic behaviors that have been added in UIKit and how to take advantage of them in your applications. Gain a practical understanding of how to integrate dynamics with AutoLayout. Learn about enhancements to UI Kit Visual Effects.","tags":[],"title":"What’s New in UIKit Dynamics and Visual Effects","url":"\/documentation\/wwdc15-229-whats-new-in-uikit-dynamics-and-visual-effects\/"},{"category":"","section":"documentation","slug":"wwdc15-228-watchkit-tips-and-tricks","summary":"Apple Watch apps should load quickly and be responsive to users. Learn tips and tricks for optimizing your existing apps and gain insights specific to communicating between Apple Watch and iPhone, creating responsive layouts, decreasing loading times, and more.","tags":[],"title":"WatchKit Tips and Tricks","url":"\/documentation\/wwdc15-228-watchkit-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc15-227-whats-new-in-internationalization","summary":"With the majority of Apple’s market outside of the US, it’s critical to learn about the latest advancements in Internationalization support to make your app truly localized. Gain insight into best practices for using formatters to display information correctly, how to easily handle pluralization in any language, how to avoid the most common localization pitfalls, and much more. Whether you are looking to significantly expand your market or want to take advantage of powerful new features for all languages, you don’t want to miss this session.","tags":[],"title":"What’s New in Internationalization","url":"\/documentation\/wwdc15-227-whats-new-in-internationalization\/"},{"category":"","section":"documentation","slug":"wwdc15-226-advanced-nsoperations","summary":"Operations are a flexible way to model your app’s business logic, but they can do so much more. See how NSOperation forms the heart of the WWDC app, and how using features like dependencies, readiness, and composition allow you to quickly and easily build dynamic and complex apps.","tags":[],"title":"Advanced NSOperations","url":"\/documentation\/wwdc15-226-advanced-nsoperations\/"},{"category":"","section":"documentation","slug":"wwdc15-225-whats-new-in-nscollectionview","summary":"NSCollectionView has been displaying grids of views for many years.  OS X 10.11 brings a major update to the capabilities of NSCollectionView.  Much of the design of UICollectionView in iOS is now available for OS X apps.  Understand the details of the enhancements and how you can harness them in your apps.","tags":[],"title":"What’s New in NSCollectionView","url":"\/documentation\/wwdc15-225-whats-new-in-nscollectionview\/"},{"category":"","section":"documentation","slug":"wwdc15-224-app-extension-best-practices","summary":"App extensions allow powerful ways to expose your application’s abilities throughout iOS and other apps. Discover best practices for various extension types and see how to effectively communicate between your extension and its parent application or the network. Learn techniques for using the shared keychain and see how to improve discovery of your share and action extensions.","tags":[],"title":"App Extension Best Practices","url":"\/documentation\/wwdc15-224-app-extension-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc15-223-introducing-the-contacts-framework-for-ios-and-os-x","summary":"Whether it’s getting contact information, managing a social graph, or adding a new friend, Contacts are a critical piece of many apps. OS X El Capitan and iOS 9 now share a new Contacts API. Understand the design, goals, and benefits of this new framework. Gain critical insights into how to make a smooth transition for your app to this new framework.","tags":[],"title":"Introducing the Contacts Framework for iOS and OS X","url":"\/documentation\/wwdc15-223-introducing-the-contacts-framework-for-ios-and-os-x\/"},{"category":"","section":"documentation","slug":"wwdc15-222-new-uikit-support-for-international-user-interfaces","summary":"iOS 9 brings complete right-to-left support for Arabic, Hebrew, and other languages.  Going beyond basic text, your app’s entire interface can now flip to provide a native right-to-left experience. Learn what behavior you get for free from UIKit, and hear details about adding right-to-left support in custom interfaces.  Hear from experts about how to evaluate the readiness of your app for these languages.  Understand best practices to avoid common pitfalls and to create a seamless bi-directional app.","tags":[],"title":"New UIKit Support for International User Interfaces","url":"\/documentation\/wwdc15-222-new-uikit-support-for-international-user-interfaces\/"},{"category":"","section":"documentation","slug":"wwdc15-221-improving-the-full-screen-window-experience","summary":"Full screen windows enable people to focus on the task at hand by removing extra system UI and deferring to more of the content they care about. OS X 10.11 adds new flexibility to how these full screen windows can be configured and controlled. Hear from the experts how to get your Mac app ready to take advantage of this new functionality. Learn key strategies to making your window content be adaptive depending on the space available.","tags":[],"title":"Improving the Full Screen Window Experience","url":"\/documentation\/wwdc15-221-improving-the-full-screen-window-experience\/"},{"category":"","section":"documentation","slug":"wwdc15-220-whats-new-in-core-data","summary":"Learn about the latest enhancements to the Core Data framework. Hear how to efficiently delete objects, ensure uniqueness, and easily migrate your persistent stores to new locations.","tags":[],"title":"What’s New in Core Data","url":"\/documentation\/wwdc15-220-whats-new-in-core-data\/"},{"category":"","section":"documentation","slug":"wwdc15-219-mysteries-of-auto-layout-part-2","summary":"Continue your pursuit of Auto Layout mastery. Gain high level insight into how Auto Layout works, and strategies for debugging layout issues. Learn how to use new APIs for constraint creation and layout guides to build more complex layouts.","tags":[],"title":"Mysteries of Auto Layout, Part 2","url":"\/documentation\/wwdc15-219-mysteries-of-auto-layout-part-2\/"},{"category":"","section":"documentation","slug":"wwdc15-218-mysteries-of-auto-layout-part-1","summary":"Auto Layout is a powerful constraint-based layout engine that can drive complex and dynamic interfaces on both iOS and OS X.   Learn about the new UIStackView, now your first stop for interfaces built with Auto Layout. See how to build self-sizing views using Auto Layout, and gain critical insights into the inner workings of Auto Layout.","tags":[],"title":"Mysteries of Auto Layout, Part 1","url":"\/documentation\/wwdc15-218-mysteries-of-auto-layout-part-1\/"},{"category":"","section":"documentation","slug":"wwdc15-217-adopting-new-trackpad-features","summary":"The new Force Touch trackpad adds a whole new dimension to user interactions. OS X 10.11 introduces system controls that support pressure behaviors. Understand how to integrate with these behaviors and support them in custom controls. See how to use the Taptic Engine to provide subtle physical feedback based on trackpad input. Hear best practices for adopting new swiping gestures.","tags":[],"title":"Adopting New Trackpad Features","url":"\/documentation\/wwdc15-217-adopting-new-trackpad-features\/"},{"category":"","section":"documentation","slug":"wwdc15-216-layout-and-animation-techniques-for-watchkit","summary":"Advanced layouts and animations are essential to your app’s interface. Gain insights into group layout mechanics and the new element animation APIs introduced in WatchKit for watchOS 2. Understand how to create layouts that work well with animations and learn other techniques to add liveliness to your apps.","tags":[],"title":"Layout and Animation Techniques for WatchKit","url":"\/documentation\/wwdc15-216-layout-and-animation-techniques-for-watchkit\/"},{"category":"","section":"documentation","slug":"wwdc15-215-whats-new-in-storyboards","summary":"Storyboards are a great way to build the user interface and flow of your application on iOS and OS X. Gain an understanding of how to effectively organize your storyboards, define segues for your interface, and easily unwind transitions. Dive into a detailed discussion of the new APIs, and hear tips on how to create great user interfaces.","tags":[],"title":"What’s New in Storyboards","url":"\/documentation\/wwdc15-215-whats-new-in-storyboards\/"},{"category":"","section":"documentation","slug":"wwdc15-214-introducing-on-demand-resources","summary":"iOS 9 introduces On Demand Resources, enabling the efficient delivery of rich games and full featured applications using dynamically loaded content. Significantly reduce the time between purchasing and running an app from the App Store, while also decreasing the required storage space by downloading and retaining only content that is necessary. Dive into the latest enhancements in app packaging and learn the APIs to allow your app to acquire only its essential resources.","tags":[],"title":"Introducing On Demand Resources","url":"\/documentation\/wwdc15-214-introducing-on-demand-resources\/"},{"category":"","section":"documentation","slug":"wwdc15-213-building-apps-with-researchkit","summary":"ResearchKit is an open source framework introduced by Apple that allows researchers and developers to create powerful apps for medical research. Learn how to easily create visual consent flows, real-time dynamic active tasks, and surveys using a variety of customizable modules that you can build upon and share with the community.","tags":[],"title":"Building Apps with ResearchKit","url":"\/documentation\/wwdc15-213-building-apps-with-researchkit\/"},{"category":"","section":"documentation","slug":"wwdc15-212-optimizing-your-app-for-multitasking-on-ipad-in-ios-9","summary":"Multitasking in iOS 9 allows two side-by-side apps and the Picture-in-Picture window to simultaneously run onscreen at the same time. Discover essential techniques for designing efficient, responsive apps to give your users a fluid, immersive experience with Slide Over, Split View, and Picture-in-Picture.","tags":[],"title":"Optimizing Your App for Multitasking on iPad in iOS 9","url":"\/documentation\/wwdc15-212-optimizing-your-app-for-multitasking-on-ipad-in-ios-9\/"},{"category":"","section":"documentation","slug":"wwdc15-211-multitasking-essentials-for-mediabased-apps-on-ipad-in-ios-9","summary":"iOS 9 on iPad introduces the ability to view and interact with more than one app at a time. Learn advanced techniques for efficiently sharing resources and presenting media while other apps are in the foreground. Tap into the potential of Picture in Picture to allow your video content to play above other apps, and explore multitasking best practices for creating great experiences in this environment.","tags":[],"title":"Multitasking Essentials for Media-Based Apps on iPad in iOS 9","url":"\/documentation\/wwdc15-211-multitasking-essentials-for-mediabased-apps-on-ipad-in-ios-9\/"},{"category":"","section":"documentation","slug":"wwdc15-210-whats-new-in-homekit","summary":"HomeKit is Apple’s framework that enables apps to easily and securely interact with HomeKit enabled accessories such as lights, locks, thermostats and more. Learn about the improvements to HomeKit, including support for new accessory types, easy ways to setup and remotely manage accessories.","tags":[],"title":"What’s New in HomeKit","url":"\/documentation\/wwdc15-210-whats-new-in-homekit\/"},{"category":"","section":"documentation","slug":"wwdc15-209-creating-complications-with-clockkit","summary":"Making your app’s information available to users on Apple Watch is even easier in watchOS 2. Learn how to create custom complications for Watch faces using the new ClockKit framework and see how to provide data through numerous templates using text and images.","tags":[],"title":"Creating Complications with ClockKit","url":"\/documentation\/wwdc15-209-creating-complications-with-clockkit\/"},{"category":"","section":"documentation","slug":"wwdc15-208-watchkit-indepth-part-2","summary":"Move beyond architecture changes for Watch apps and explore the different ways you can use the Digital Crown to enhance your apps. Find out how to create persistent app experiences to keep your Watch app at the ready for users and learn how to use the playback and recording APIs to add audio and video to your Watch apps.","tags":[],"title":"WatchKit In-Depth, Part 2","url":"\/documentation\/wwdc15-208-watchkit-indepth-part-2\/"},{"category":"","section":"documentation","slug":"wwdc15-207-watchkit-indepth-part-1","summary":"watchOS 2 provides a new architecture that runs your WatchKit extension directly on Apple Watch. Take an in-depth look at how this new architecture works. Learn how to migrate existing WatchKit apps to watchOS 2, how to support both versions of watchOS, and hear about updates to Glances and Notifications.","tags":[],"title":"WatchKit In-Depth, Part 1","url":"\/documentation\/wwdc15-207-watchkit-indepth-part-1\/"},{"category":"","section":"documentation","slug":"wwdc15-206-whats-new-in-mapkit","summary":"See what’s new in MapKit. Learn about improvements to existing APIs and new ways of incorporating transit ETAs and Flyover map views in your app.","tags":[],"title":"What’s New in MapKit","url":"\/documentation\/wwdc15-206-whats-new-in-mapkit\/"},{"category":"","section":"documentation","slug":"wwdc15-205-getting-started-with-multitasking-on-ipad-in-ios-9","summary":"iOS 9 on iPad introduces the ability to view and interact with more than one app at a time. Discover how to update your code to take advantage of enhancements to multitasking and how to participate in Slide Over and Split View. Learn specifics about how to architect your app and understand best practices for adapting to a dynamically sized interface.","tags":[],"title":"Getting Started with Multitasking on iPad in iOS 9","url":"\/documentation\/wwdc15-205-getting-started-with-multitasking-on-ipad-in-ios-9\/"},{"category":"","section":"documentation","slug":"wwdc15-204-apple-watch-accessibility","summary":"Building on the strong accessibility support in iOS, Apple Watch offers assistive features like VoiceOver and Zoom.  Gain insights into how these accessibility features work on Apple Watch, and how to make sure your app can be accessible to all users.","tags":[],"title":"Apple Watch Accessibility","url":"\/documentation\/wwdc15-204-apple-watch-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc15-203-whats-new-in-healthkit","summary":"HealthKit is Apple’s framework to centralize the data storage of personal health information. Hear about the latest enhancements to the framework, supporting new types of data, efficiently deleting objects, and integrating HealthKit into your Apple Watch app.","tags":[],"title":"What’s New in HealthKit","url":"\/documentation\/wwdc15-203-whats-new-in-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc15-202-whats-new-in-cocoa","summary":"Cocoa is a powerful set of frameworks on which OS X is built. Gain an overview of the advances in AppKit, Foundation, and related frameworks. Find out what technologies you need to focus on and what techniques you should adopt to develop state of the art apps for OS X. Start here for a high level view of what’s changed, and get pointers to relevant sessions for more depth.","tags":[],"title":"What’s New in Cocoa","url":"\/documentation\/wwdc15-202-whats-new-in-cocoa\/"},{"category":"","section":"documentation","slug":"wwdc15-201-ios-accessibility","summary":"iOS has transformed the lives of many users with a range of physical and learning disabilities. Learn how to create apps that leverage the power and simplicity of Apple’s assistive technologies to make them accessible to the broadest audience possible. Hear about the latest advancements in iOS accessibility and how you can take advantage of them today.","tags":[],"title":"iOS Accessibility","url":"\/documentation\/wwdc15-201-ios-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc15-112-think-audacious","summary":"When Debbie Sterling heard from Steve Jobs at her Stanford graduation that she should “never settle” until she found her true passion, she took this to heart.  After graduating from Stanford with a degree in Mechanical Engineering and Product Design, she had firsthand knowledge of how significantly men outnumber women in science, technology, engineering and math.  Debbie then became obsessed with the notion of “disrupting the pink aisle” with a toy that would introduce girls to the joy of engineering at a young age.  Industry leaders told her the idea would fail, but less than three years after launching GoldieBlox on Kickstarter, she has made significant strides in her quest to bridge the gender gap in STEM:  she has launched massively successful viral videos, a Superbowl ad that brought mainstream awareness to her mission, an award-winning iOS app and GoldieBlox presence in more than 6,000 retail stores worldwide.  Debbie has also recently been selected to join the Presidential Ambassadors for Global Entrepreneurship, a select group ‘committed to helping develop the next generation of entrepreneurs around the world.’  Hear Debbie’s story of challenging the status quo, achieving audacious goals, and igniting a national conversation about breaking gender stereotypes.","tags":[],"title":"Think Audacious","url":"\/documentation\/wwdc15-112-think-audacious\/"},{"category":"","section":"documentation","slug":"wwdc15-108-building-watch-apps","summary":"Building Watch apps with Xcode 7 is easy and straight-forward. Learn how to build and debug a Watch app for watchOS 2 from the ground up. Walk through adding a Watch app to an existing application, building the user interface, debugging and profiling with Instruments, and discover how to efficiently communicate between iPhone and Apple Watch.","tags":[],"title":"Building Watch Apps","url":"\/documentation\/wwdc15-108-building-watch-apps\/"},{"category":"","section":"documentation","slug":"wwdc15-107-whats-new-in-cocoa-touch","summary":"iOS 9 expands on adaptivity with Multitasking. Learn about additions to UIKit to support truly universal layout sizes and types. Get introduced to all-new frameworks and APIs for Cocoa Touch such as a new Contacts framework, text-editing gestures, enhancements to dynamics and visual effects, and much more. Come find out which sessions you won’t want to miss throughout the week.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc15-107-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc15-106-whats-new-in-swift","summary":"Swift continues its rapid advancement with version 2. New optimizations make your app run even faster, and new syntax makes your code more expressive. Learn about powerful new features like error handling, testability, and availability checking. This session will help you write even better apps by moving to Swift 2.","tags":[],"title":"What’s New in Swift","url":"\/documentation\/wwdc15-106-whats-new-in-swift\/"},{"category":"","section":"documentation","slug":"wwdc15-105-introducing-watchkit-for-watchos-2","summary":"WatchKit for watchOS 2 introduces many new capabilities for creating responsive Watch experiences. Beyond a faster architecture, learn about all new support for the Digital Crown, fluid animations, and media playback and recording. Find out how to make use of accelerometer and heart rate data, as well as providing physical feedback via the Taptic Engine.","tags":[],"title":"Introducing WatchKit for watchOS 2","url":"\/documentation\/wwdc15-105-introducing-watchkit-for-watchos-2\/"},{"category":"","section":"documentation","slug":"wwdc15-104-whats-new-in-xcode","summary":"Xcode is the development environment for creating great apps for Apple’s platforms. Start the week by watching the Xcode team demonstrate the latest features and improved workflows in Xcode 7. This session also provides a complete overview of the in-depth developer tools topics covered at WWDC 2015.","tags":[],"title":"What’s New in Xcode","url":"\/documentation\/wwdc15-104-whats-new-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc15-103-apple-design-awards","summary":"Join us for an unforgettable award ceremony celebrating developers and their outstanding work. The 2015 Apple Design Awards recognize state of the art iOS, OS X, and Apple Watch apps that reflect excellence in design and innovation.","tags":[],"title":"Apple Design Awards","url":"\/documentation\/wwdc15-103-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc15-102-platforms-state-of-the-union","summary":"WWDC 2015 Platforms State of the Union","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc15-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc15-101-keynote","summary":"WWDC 2015 Keynote","tags":[],"title":"Keynote","url":"\/documentation\/wwdc15-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc15","summary":"Xcode 7, Swift 2.0, iOS 9, macOS 10.11 (El Capitan), watchOS 2.","tags":[],"title":"WWDC15","url":"\/documentation\/wwdc15\/"},{"category":"","section":"documentation","slug":"wwdc14-718-adopting-airprint","summary":"AirPrint is widely supported by all the well-known printer companies. Learn how quick and easy it is to support AirPrint in your app. Discover what’s new and improved in the iOS printing system.","tags":[],"title":"Adopting AirPrint","url":"\/documentation\/wwdc14-718-adopting-airprint\/"},{"category":"","section":"documentation","slug":"wwdc14-717-kids-and-apps","summary":"With Student Accounts and Family Sharing, kids under age 13 can now have fully-featured accounts for buying apps and In-App Purchases. However, regulations in the US and other countries limit what information you can collect from kids without parental permission. Learn about the new account programs, whether and how to check the age of your app’s user, what you can and can’t do without parental permission, and how to request parental consent if you need to.","tags":[],"title":"Kids and Apps","url":"\/documentation\/wwdc14-717-kids-and-apps\/"},{"category":"","section":"documentation","slug":"wwdc14-715-user-privacy-in-ios-and-os-x","summary":"Learn about new iOS and OS X privacy features and get details on new and updated APIs. Hear best practices for delivering great features and respecting your customers’ privacy.","tags":[],"title":"User Privacy in iOS and OS X","url":"\/documentation\/wwdc14-715-user-privacy-in-ios-and-os-x\/"},{"category":"","section":"documentation","slug":"wwdc14-714-fix-bugs-faster-using-activity-tracing","summary":"Finding and diagnosing application bugs can be very difficult. Activity Tracing is a new technology that can dramatically improve your speed and efficiency finding bugs in your code. Log trace messages to an auto-generated ring buffer while associating them with the originating user action. Reduce the time sifting through unrelated log messages trying to understand what was going on when the failure happened.","tags":[],"title":"Fix Bugs Faster using Activity Tracing","url":"\/documentation\/wwdc14-714-fix-bugs-faster-using-activity-tracing\/"},{"category":"","section":"documentation","slug":"wwdc14-713-whats-new-in-ios-notifications","summary":"Local and push notifications let background or inactive apps notify users that an event of interest has occurred, or that an app has new information for them. See how to configure interactive notifications to let users act on notifications from banners, alerts, in notification center and on the lock screen. Learn how to trigger notifications using geofences and iBeacons, and discover the new API’s for registering for user notifications and remote pushes.","tags":[],"title":"What’s New in iOS Notifications","url":"\/documentation\/wwdc14-713-whats-new-in-ios-notifications\/"},{"category":"","section":"documentation","slug":"wwdc14-712-writing-energy-efficient-code-part-2","summary":"Go in-depth into specific API and design patterns you can use to avoid consuming excessive energy as well as tools that can help you diagnose issues.","tags":[],"title":"Writing Energy Efficient Code, Part 2","url":"\/documentation\/wwdc14-712-writing-energy-efficient-code-part-2\/"},{"category":"","section":"documentation","slug":"wwdc14-711-keychain-and-authentication-with-touch-id","summary":"The Keychain has always been the most secure place to store passwords and other sensitive data. iOS 8 introduces significant new security features. Discover how to integrate Touch ID into your apps using the Keychain and the new LocalAuthentication framework. Learn about other Keychain enhancements, including how to tie data to the user’s passcode.","tags":[],"title":"Keychain and Authentication with Touch ID","url":"\/documentation\/wwdc14-711-keychain-and-authentication-with-touch-id\/"},{"category":"","section":"documentation","slug":"wwdc14-710-writing-energy-efficient-code-part-1","summary":"People expect long battery life on both their iOS devices and Mac laptops and your apps play a vital role in ensuring long battery life. Get an overview of energy efficiency best practices and learn about new APIs in iOS and OS X that help you to minimize the energy impact of your code.","tags":[],"title":"Writing Energy Efficient Code, Part 1","url":"\/documentation\/wwdc14-710-writing-energy-efficient-code-part-1\/"},{"category":"","section":"documentation","slug":"wwdc14-709-cross-platform-nearby-networking","summary":"Multipeer Connectivity comes to OS X. You can now discover and communicate with nearby devices on OS X and iOS. See what is new. Learn about best practices and advanced topics, such as writing cross platform code, customizing discovery and handling certificates.","tags":[],"title":"Cross Platform Nearby Networking","url":"\/documentation\/wwdc14-709-cross-platform-nearby-networking\/"},{"category":"","section":"documentation","slug":"wwdc14-708-taking-core-location-indoors","summary":"iOS 8 makes it possible for an iOS app to determine its precise indoor position in supported venues. Learn best practices on how your app can take advantage of indoor positioning. Discover how indoor positioning and iBeacon complement each other, and understand the best use cases for both technologies. As a venue, find out how you can get involved and signup to enable indoor positioning.","tags":[],"title":"Taking Core Location Indoors","url":"\/documentation\/wwdc14-708-taking-core-location-indoors\/"},{"category":"","section":"documentation","slug":"wwdc14-707-whats-new-in-foundation-networking","summary":"The NSURLSession class provides powerful HTTP networking features in iOS and OS X. Learn about new NSURLSession capabilities and hear expert advice on practical, efficient and high performance networking for your apps.","tags":[],"title":"What’s New in Foundation Networking","url":"\/documentation\/wwdc14-707-whats-new-in-foundation-networking\/"},{"category":"","section":"documentation","slug":"wwdc14-706-whats-new-in-core-location","summary":"Find out how your app can use new functionality in Core Location to do automatic check-in or journal the user’s location. Learn how location authorization is changing to give the user more precise control of what location services an App is authorized is use, and what this means for developers and users.","tags":[],"title":"What’s New in Core Location","url":"\/documentation\/wwdc14-706-whats-new-in-core-location\/"},{"category":"","section":"documentation","slug":"wwdc14-705-distributing-enterprise-apps","summary":"Learn how to provision and deploy apps across your enterprise. Leverage key Apple programs such as the Volume Purchase Program and the iOS Developer Enterprise Program to get the right apps in the hands of your employees, contractors, and partners. Learn how to manage certificates and provisioning profiles to deploy your apps, and take advantage of mobile device management (MDM) tools to provide a seamless experience for your users. Gain insight into the complete app management lifecycle; from signing your in-house apps in Xcode, to distributing, managing, and revoking apps across your workforce.","tags":[],"title":"Distributing Enterprise Apps","url":"\/documentation\/wwdc14-705-distributing-enterprise-apps\/"},{"category":"","section":"documentation","slug":"wwdc14-704-building-apps-for-enterprise-and-education","summary":"Learn about data security, enterprise authentication, integration with back-end systems, app configuration methods, and the latest technologies for interacting with documents, accessories, and more. Get helpful tips for constructing your apps to meet the needs of schools and educators, as well as key requirement from IT. Perfect for everyone looking to get their apps in the hands of business professionals, educators, and students worldwide.","tags":[],"title":"Building Apps for Enterprise and Education","url":"\/documentation\/wwdc14-704-building-apps-for-enterprise-and-education\/"},{"category":"","section":"documentation","slug":"wwdc14-703-whats-new-in-the-accelerate-framework","summary":"The Accelerate framework has always provided fast, energy efficient signal and image processing and linear algebra libraries. Learn about new interfaces that are easier to adopt and give you the same speed, and about new primitives that make it easier to write your own vector code for iOS and OS X.","tags":[],"title":"What’s New in the Accelerate Framework","url":"\/documentation\/wwdc14-703-whats-new-in-the-accelerate-framework\/"},{"category":"","section":"documentation","slug":"wwdc14-702-managing-apple-devices","summary":"Learn about the latest developments in managing Apple devices in an enterprise environment. Learn how MDM can be used to wirelessly configure settings, monitor compliance with policies, install apps, and remotely wipe devices, and how these capabilities can be integrated with in-house or third-party server solutions.","tags":[],"title":"Managing Apple Devices","url":"\/documentation\/wwdc14-702-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc14-701-designing-accessories-for-ios-and-os-x","summary":"Learn how to create app-enabled accessories. Understand your options for designing accessories that connect via Bluetooth, Wi-Fi or the Lightning connector. Learn how to develop accessories that work with HealthKit and HomeKit.","tags":[],"title":"Designing Accessories for iOS and OS X","url":"\/documentation\/wwdc14-701-designing-accessories-for-ios-and-os-x\/"},{"category":"","section":"documentation","slug":"wwdc14-612-motion-tracking-with-the-core-motion-framework","summary":"Core Motion leverages the M7 motion coprocessor and other built-in sensors to provide support for step counting and motion tracking. See examples of Core Motion based apps in action. Learn how health and fitness apps use pedometer information to give users performance and workout results, and how journaling apps use motion classification to tag the day’s activities.","tags":[],"title":"Motion Tracking with the Core Motion Framework","url":"\/documentation\/wwdc14-612-motion-tracking-with-the-core-motion-framework\/"},{"category":"","section":"documentation","slug":"wwdc14-611-designing-for-game-controllers","summary":"The Game Controller framework enables games to integrate with MFi game controllers and take advantage of exciting new modes of input. Check out the latest additions and get expert advice about best practices to follow when adding game controller support to your titles. Understand how to avoid common pitfalls and gain key insights into what it takes to create an experience that’s intuitive and fun.","tags":[],"title":"Designing for Game Controllers","url":"\/documentation\/wwdc14-611-designing-for-game-controllers\/"},{"category":"","section":"documentation","slug":"wwdc14-610-building-a-game-with-scenekit","summary":"Dive into the practical workflow of developing a 3D side-scrolling game using SceneKit. See how to get started, and learn about tools for managing game assets, creating particle systems, and editing nodes. Understand how SceneKit integrates with your art pipeline and learn how to implement lighting, shadows, and other visual effects. Come away from the session with a demo game in-hand and ready to play.","tags":[],"title":"Building a Game with SceneKit","url":"\/documentation\/wwdc14-610-building-a-game-with-scenekit\/"},{"category":"","section":"documentation","slug":"wwdc14-609-whats-new-in-scenekit","summary":"Now available for iOS and OS X, SceneKit is an inventive high-level graphics framework enabling your apps to efficiently load, manipulate, and render 3D scenes. Get reintroduced to SceneKit and check out how your apps can take advantage of its latest capabilities. Learn about advanced capabilities for physics and animation, support for subdivision surfaces, new rendering effects, integration with SpriteKit, and much more.","tags":[],"title":"What’s New in SceneKit","url":"\/documentation\/wwdc14-609-whats-new-in-scenekit\/"},{"category":"","section":"documentation","slug":"wwdc14-608-best-practices-for-building-spritekit-games","summary":"Gain a deeper understanding of the best practices to follow when building a SpriteKit based game. Get tips about game construction and see how to map the logical elements of your game into SpriteKit. Learn how data driven techniques can speed your development cycle, and discover how to achieve maximum performance for rendering, physics, and animation.","tags":[],"title":"Best Practices for Building SpriteKit Games","url":"\/documentation\/wwdc14-608-best-practices-for-building-spritekit-games\/"},{"category":"","section":"documentation","slug":"wwdc14-606-whats-new-in-spritekit","summary":"SpriteKit provides everything you need for high-performance 2D games to animate sprites, simulate physics, and create stunning graphics effects. Check out new APIs for enhanced shading and lighting, advances in physics and collisions, constraints and inverse kinematics, integration with SceneKit, and powerful editing tools built right into Xcode 6.","tags":[],"title":"What’s New in SpriteKit","url":"\/documentation\/wwdc14-606-whats-new-in-spritekit\/"},{"category":"","section":"documentation","slug":"wwdc14-605-working-with-metal-advanced","summary":"Building on the fundamentals, learn how to create advanced games and graphics applications with Metal. See how to construct your rendering pipeline, understand how to use compute and graphics together, and discover how to optimize your Metal-based app.","tags":[],"title":"Working with Metal: Advanced","url":"\/documentation\/wwdc14-605-working-with-metal-advanced\/"},{"category":"","section":"documentation","slug":"wwdc14-604-working-with-metal-fundamentals","summary":"Start learning how to code with Metal in this step-by-step walkthrough of basic scene rendering. See the code you need to get your first Metal-based application up and running. Explore how to create graphics and compute shaders and efficiently animate scenes.","tags":[],"title":"Working with Metal: Fundamentals","url":"\/documentation\/wwdc14-604-working-with-metal-fundamentals\/"},{"category":"","section":"documentation","slug":"wwdc14-603-working-with-metal-overview","summary":"Metal provides extremely efficient access to the graphics and compute power of the A7 chip. Get introduced to the essential concepts behind Metal, its low-overhead architecture, streamlined API, and unified shading language. See how Metal lets you take your iOS game or app to the next level of performance and capability.","tags":[],"title":"Working with Metal: Overview","url":"\/documentation\/wwdc14-603-working-with-metal-overview\/"},{"category":"","section":"documentation","slug":"wwdc14-602-ingredients-of-great-games","summary":"Kick off the game development sessions of WWDC 2014 by gaining insight into the key ingredients needed to create a great game for iOS. Understand the importance of harnessing the full capabilities of the platform to create a richer gameplay experience. Get practical guidance about game production and distribution, and learn the design and platform conventions that will make your game even more engaging.","tags":[],"title":"Ingredients of Great Games","url":"\/documentation\/wwdc14-602-ingredients-of-great-games\/"},{"category":"","section":"documentation","slug":"wwdc14-601-harnessing-the-power-of-the-mac-pro-with-opengl-and-opencl","summary":"The new Mac Pro enables you to unleash the power of dual workstation-class GPUs and multiple CPU cores in ways that just weren’t possible until now. Gain a deeper understanding of the integration between OpenCL and OpenGL and see how to tap into the parallel compute and rendering power of the Mac.","tags":[],"title":"Harnessing the Power of the Mac Pro with OpenGL and OpenCL","url":"\/documentation\/wwdc14-601-harnessing-the-power-of-the-mac-pro-with-opengl-and-opencl\/"},{"category":"","section":"documentation","slug":"wwdc14-517-designing-responsive-web-experiences","summary":"As your user base grows, so will the variety of devices you’ll need to support. People expect modern web sites to be fast, visually appealing, and rich functionally, regardless of a device’s performance characteristics, resolution or size. Learn how to use the latest web technologies in WebKit and Safari to create engaging,Â attractive, andÂ adaptive layouts across all devices.","tags":[],"title":"Designing Responsive Web Experiences","url":"\/documentation\/wwdc14-517-designing-responsive-web-experiences\/"},{"category":"","section":"documentation","slug":"wwdc14-516-improving-the-accessibility-and-usability-of-complex-web-applications","summary":"The increasing complexity of modern web applications brings increased challenges to ensuring your web app is usable by everyone. Discover how accessibility benefits everyone, and why it’s worth the effort. Learn advanced tips and techniques, and discover new developer tools for increasing productivity and avoiding common pitfalls.","tags":[],"title":"Improving the Accessibility and Usability of Complex Web Applications","url":"\/documentation\/wwdc14-516-improving-the-accessibility-and-usability-of-complex-web-applications\/"},{"category":"","section":"documentation","slug":"wwdc14-515-developing-core-image-filters-for-ios","summary":"Dive deeper into creating your own custom Core Image filters for iOS. Learn about writing filter kernels and get details about the Core Image kernel language. See how to use custom filters in your apps or make them available to other apps via extensions.","tags":[],"title":"Developing Core Image Filters for iOS","url":"\/documentation\/wwdc14-515-developing-core-image-filters-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc14-514-advances-in-core-image","summary":"Core Image lets you create amazing effects in your camera and image editing apps. Learn about the advances in Core Image for iOS 8 and OS X Yosemite. Get introduced to writing custom image processing filters for iOS and see how they can be used in Photos extensions.  Walk through the enhancements for working with large images, and get details about the newest filters and detectors.","tags":[],"title":"Advances in Core Image","url":"\/documentation\/wwdc14-514-advances-in-core-image\/"},{"category":"","section":"documentation","slug":"wwdc14-513-direct-access-to-video-encoding-and-decoding","summary":"Discover how to use AV Foundation and Video Toolbox to access hardware accelerated encoding and decoding services.  Gain best practices for when it is appropriate to use a high-level or low-level API for encoding or decoding. Learn about multi-pass export for improved H.264 encoding and see how to use it in your app.","tags":[],"title":"Direct Access to Video Encoding and Decoding","url":"\/documentation\/wwdc14-513-direct-access-to-video-encoding-and-decoding\/"},{"category":"","section":"documentation","slug":"wwdc14-512-web-inspector-and-modern-javascript","summary":"Web Inspector, the powerful debugging tool in WebKit, is now available to JavaScriptCore-based apps. Find out how to leverage Web Inspector in your WebKit- and JavaScriptCore-based apps on iOS andÂ OS X. Gain an overview of what’s new in the JavaScript language and how to use modern JavaScript in your apps.","tags":[],"title":"Web Inspector and Modern JavaScript","url":"\/documentation\/wwdc14-512-web-inspector-and-modern-javascript\/"},{"category":"","section":"documentation","slug":"wwdc14-511-introducing-the-photos-frameworks","summary":"iOS 8 introduces two frameworks for managing the photo library and enhancing editing in photo, video, and camera apps. Get introduced to the Photos Framework and see how it enables you to build first-class photo browsing and editing apps. Learn about photo editing extensions with the PhotosUI framework and see how to include your own editing features into the built-in Photos app.","tags":[],"title":"Introducing the Photos Frameworks","url":"\/documentation\/wwdc14-511-introducing-the-photos-frameworks\/"},{"category":"","section":"documentation","slug":"wwdc14-510-whats-new-in-iad-workbench","summary":"iAd Workbench makes it simple to create and manage mobile ad campaigns that reach the right audience for your apps, products or brands.  Discover how features such as new creative executions, enhanced targeting and pricing capabilities and access via API’s make iAd Workbench more effective and easy to work with. Learn how app download attribution and custom audience segments can provide insights into your audience, deliver customized messages and realize long term value.","tags":[],"title":"What’s New in iAd Workbench","url":"\/documentation\/wwdc14-510-whats-new-in-iad-workbench\/"},{"category":"","section":"documentation","slug":"wwdc14-509-creating-3d-interactive-content-with-webgl","summary":"WebGL allows you to create amazing content that lifts off the page. Learn how to use WebGL to create immersive online experiences, display three-dimensional models with real-time interactivity and use imageÂ processing techniques typically thought of as unavailable on the web.","tags":[],"title":"Creating 3D Interactive Content with WebGL","url":"\/documentation\/wwdc14-509-creating-3d-interactive-content-with-webgl\/"},{"category":"","section":"documentation","slug":"wwdc14-508-camera-capture-manual-controls","summary":"Learn about using manual controls to manipulate focus, exposure, and white balance. Take control of the camera’s focus position, ISO, shutter speed, temperature, tint, and more. Learn how to use the new iOS 8 exposure bracketing API to enable powerful creative and computational photography applications. Discover view-level services for capturing audio and video on OS X.","tags":[],"title":"Camera Capture: Manual Controls","url":"\/documentation\/wwdc14-508-camera-capture-manual-controls\/"},{"category":"","section":"documentation","slug":"wwdc14-506-your-app-your-website-and-safari","summary":"While a modern digital presence combines both apps and traditional web sites, people expect a coherent, seamless, and device-optimized experience in each case. Learn techniques and best practices for successfully making transitions between iOS and OS X apps and the web. Gain insights into the appropriate web standards you can use to make your web content look and work optimally in Safari.","tags":[],"title":"Your App, Your Website, and Safari","url":"\/documentation\/wwdc14-506-your-app-your-website-and-safari\/"},{"category":"","section":"documentation","slug":"wwdc14-505-harnessing-metadata-in-audiovisual-media","summary":"Rich metadata, such as time, date, location, and user defined tags, are particularly useful for time-based media. Discover how to harness static and timed metadata in your AV Foundation apps. See how to write metadata into media and read it during playback. Gain knowledge of best practices for privacy and protecting user data.","tags":[],"title":"Harnessing Metadata in Audiovisual Media","url":"\/documentation\/wwdc14-505-harnessing-metadata-in-audiovisual-media\/"},{"category":"","section":"documentation","slug":"wwdc14-504-advanced-media-for-the-web","summary":"With the increasing popularity of media on the web, content providers find themselves confronted by an over-abundance of formats, codecs and technologies competing for their attention. See how to use the latest HTML5 technologies in WebKit and Safari to make it easier to deliver media to your users and explore the performance and user experience tradeoffs you’ll need to keep in mind when deciding between building for simplicity and fine-grained control.","tags":[],"title":"Advanced Media for the Web","url":"\/documentation\/wwdc14-504-advanced-media-for-the-web\/"},{"category":"","section":"documentation","slug":"wwdc14-503-mastering-modern-media-playback","summary":"Media playback just got easier and more powerful with the introduction of AVKit on iOS. Hear how AVKit provides view-level services that give you access to the modern media capabilities of AV Foundation. Learn the best practices for playing audiovisual media on iOS and OS X.","tags":[],"title":"Mastering Modern Media Playback","url":"\/documentation\/wwdc14-503-mastering-modern-media-playback\/"},{"category":"","section":"documentation","slug":"wwdc14-502-avaudioengine-in-practice","summary":"Dive deeper into the new Objective-C based audio graph system in AV Foundation. Learn how apps can utilize rich audio services from simple audio playback tasks to complex audio rendering chains, including effects and 3D spatial rendering for games.","tags":[],"title":"AVAudioEngine in Practice","url":"\/documentation\/wwdc14-502-avaudioengine-in-practice\/"},{"category":"","section":"documentation","slug":"wwdc14-501-whats-new-in-core-audio","summary":"See what’s new in Core Audio for iOS and OS X. Be introduced to the powerful new APIs for managing audio buffers, files, and data formats. Learn how to incorporate views to facilitate switching between inter-app audio apps on iOS. Take an in depth look at how to tag Audio Units and utilize MIDI over Bluetooth LE.","tags":[],"title":"What’s New in Core Audio","url":"\/documentation\/wwdc14-501-whats-new-in-core-audio\/"},{"category":"","section":"documentation","slug":"wwdc14-419-advanced-graphics-and-animations-for-ios-apps","summary":"Creating a responsive UI requires an understanding of Core Animation and how mobile GPUs work. Learn about the iOS rendering pipeline in Core Animation, the new UIVisualEffectView and how it utilizes the GPU. Find out about the available tools for profiling UI performance. See how to identify and fix performance issues on a variety of devices.","tags":[],"title":"Advanced Graphics and Animations for iOS Apps","url":"\/documentation\/wwdc14-419-advanced-graphics-and-animations-for-ios-apps\/"},{"category":"","section":"documentation","slug":"wwdc14-418-improving-your-app-with-instruments","summary":"Whether you’re new to optimizing your app’s performance or a seasoned veteran, learn about the new version of Instruments. See the new workflows, tools, and tips that will help you analyze and refine your app as it adopts the latest Apple technologies, including Swift and app extensions.","tags":[],"title":"Improving Your App with Instruments","url":"\/documentation\/wwdc14-418-improving-your-app-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc14-417-whats-new-in-llvm","summary":"The Apple LLVM compiler continues to evolve, with support for 64-bit iOS products, powerful new optimizations, and other new features. Learn about some of the advanced technology that the compiler uses to increase the performance of your code, and get details on how to take advantage of the latest features in the compiler.","tags":[],"title":"What’s New in LLVM","url":"\/documentation\/wwdc14-417-whats-new-in-llvm\/"},{"category":"","section":"documentation","slug":"wwdc14-416-building-modern-frameworks","summary":"Frameworks are a great way to share code between your apps and their extensions. Learn how you can convert your static libraries into frameworks. Go in-depth on how to best organize and share your code between your projects so you can increase code reuse.","tags":[],"title":"Building Modern Frameworks","url":"\/documentation\/wwdc14-416-building-modern-frameworks\/"},{"category":"","section":"documentation","slug":"wwdc14-415-continuous-integration-with-xcode-6","summary":"Xcode bots provide a seamless way to continually build, analyze, and test your applications across many devices. See the Xcode team show how to set up and configure bots, review unit and performance testing data, and set up custom triggers and integration points.","tags":[],"title":"Continuous Integration with Xcode 6","url":"\/documentation\/wwdc14-415-continuous-integration-with-xcode-6\/"},{"category":"","section":"documentation","slug":"wwdc14-414-testing-in-xcode-6","summary":"Unit testing is an essential tool to consistently verify your code works correctly. Learn how Xcode 6 takes this to the next level with support for performance testing, baselining, and integration with Xcode bots to continually monitor your performance over time and devices.","tags":[],"title":"Testing in Xcode 6","url":"\/documentation\/wwdc14-414-testing-in-xcode-6\/"},{"category":"","section":"documentation","slug":"wwdc14-413-debugging-in-xcode-6","summary":"Xcode provides a powerful debugging user interface backed by the new state-of-the-art LLDB debugger. Discover how you can more easily explore and fix your user interfaces, add custom Quick Look support for your own classes and get deeper insight into how and from where your app is enqueuing work.","tags":[],"title":"Debugging in Xcode 6","url":"\/documentation\/wwdc14-413-debugging-in-xcode-6\/"},{"category":"","section":"documentation","slug":"wwdc14-412-localizing-with-xcode-6","summary":"Your app deserves a global audience, and iOS, OS X, and Xcode 6 make it easy to design and test applications in multiple languages. Discover how you can easily add and manage localized content, preview and test with different languages, and export and import content for localizers to translate.","tags":[],"title":"Localizing with Xcode 6","url":"\/documentation\/wwdc14-412-localizing-with-xcode-6\/"},{"category":"","section":"documentation","slug":"wwdc14-411-whats-new-in-interface-builder","summary":"Interface Builder makes it easy to create world-class interfaces using the design canvas. Learn how to use storyboards to arrange the views of your app, use Auto Layout to adapt to changes, and see how to easily make connections between your UI and your implementation on both iOS and OS X.","tags":[],"title":"What’s New in Interface Builder","url":"\/documentation\/wwdc14-411-whats-new-in-interface-builder\/"},{"category":"","section":"documentation","slug":"wwdc14-410-advanced-swift-debugging-in-lldb","summary":"Explore LLDB’s powerful features that help you more quickly debug your Swift code. Learn about LLDB’s support for protocols, generics, optionals, and mixed-language source code.","tags":[],"title":"Advanced Swift Debugging in LLDB","url":"\/documentation\/wwdc14-410-advanced-swift-debugging-in-lldb\/"},{"category":"","section":"documentation","slug":"wwdc14-409-introduction-to-lldb-and-the-swift-repl","summary":"Learn how to use LLDB, Apple’s state-of-the-art debugger. Learn how to analyze stack traces and diagnose bugs. See how you can test your hypotheses and explore your app’s state with the Swift REPL.","tags":[],"title":"Introduction to LLDB and the Swift REPL","url":"\/documentation\/wwdc14-409-introduction-to-lldb-and-the-swift-repl\/"},{"category":"","section":"documentation","slug":"wwdc14-408-swift-playgrounds","summary":"Playgrounds are a new and innovative way to explore the Swift programming language. Explore how Playgrounds provide new workflows, enable rapid development, help you conveniently step through your code to diagnose bugs, and make it easier than ever to learn new concepts.","tags":[],"title":"Swift Playgrounds","url":"\/documentation\/wwdc14-408-swift-playgrounds\/"},{"category":"","section":"documentation","slug":"wwdc14-407-swift-interoperability-in-depth","summary":"Swift and Objective-C work together at multiple levels to ensure that you can create great apps for iOS and OS X. Dive deep with us to see how to use fundamental Core Foundation and C types in your Swift code. Learn how bridging values work and gain a practical understanding of how Swift and Objective-C can accelerate your app development.","tags":[],"title":"Swift Interoperability In Depth","url":"\/documentation\/wwdc14-407-swift-interoperability-in-depth\/"},{"category":"","section":"documentation","slug":"wwdc14-406-integrating-swift-with-objectivec","summary":"Swift makes it faster, easier, and more fun than ever to write Cocoa apps. See how you can integrate Swift alongside your existing Objective-C code. Learn how design patterns translate between languages and how you can start integrating Swift into your apps today.","tags":[],"title":"Integrating Swift with Objective-C","url":"\/documentation\/wwdc14-406-integrating-swift-with-objectivec\/"},{"category":"","section":"documentation","slug":"wwdc14-404-advanced-swift","summary":"Dive deep into Swift! Explore some of its more powerful features, like operator overloading, string interpolation, and advanced pattern matching. Learn how to take advantage of generics to write terse and expressive code.","tags":[],"title":"Advanced Swift","url":"\/documentation\/wwdc14-404-advanced-swift\/"},{"category":"","section":"documentation","slug":"wwdc14-403-intermediate-swift","summary":"Explore the modern features of the Swift programming language. Learn about object initialization, closures, and optionals. See how you can perform pattern matching using Swift’s powerful switch statements.","tags":[],"title":"Intermediate Swift","url":"\/documentation\/wwdc14-403-intermediate-swift\/"},{"category":"","section":"documentation","slug":"wwdc14-402-introduction-to-swift","summary":"Swift is Apple’s brand-new programming language for writing great iOS and OS X apps. Learn the basics of the language. See how to declare variables, use the fundamental data types, declare functions, and implement classes. Explore some of the great features that make Swift a safe, modern, and extremely powerful language.","tags":[],"title":"Introduction to Swift","url":"\/documentation\/wwdc14-402-introduction-to-swift\/"},{"category":"","section":"documentation","slug":"wwdc14-401-whats-new-in-xcode-6","summary":"Xcode is the development environment for creating amazing apps for iOS and OS X. Start the week by watching the Xcode team demonstrate the latest features and workflows in Xcode 6. This session also provides a complete overview of the in-depth developer tools topics covered at WWDC 2014.","tags":[],"title":"What’s New in Xcode 6","url":"\/documentation\/wwdc14-401-whats-new-in-xcode-6\/"},{"category":"","section":"documentation","slug":"wwdc14-306-javascript-for-automation","summary":"Automation in OS X has always been about power and choice. Scriptable applications, including Pages, Keynote, Numbers, and the Finder, can already be automated using a variety of languages, including AppleScript, Objective-C, Perl, Python, and Ruby. With OS X Yosemite, application scripting support has been added to another popular language, JavaScript. JavaScript for Automation (JXA) extends the standard JavaScript environment provided by the JavaScriptCore framework with support for querying and controlling all of the scriptable applications running in OS X.  JXA scripts are supported at all layers of the system and can be invoked from the command-line, from the system-wide Script Menu, and can even be distributed as code-signed applications.","tags":[],"title":"JavaScript for Automation","url":"\/documentation\/wwdc14-306-javascript-for-automation\/"},{"category":"","section":"documentation","slug":"wwdc14-305-preventing-unauthorized-purchases-with-receipts","summary":"Receipts provide a valuable record of the sale for an app or for any In-App Purchases made from within an app. You can add receipt validation code to your app to prevent unauthorized purchases and protect your content. Learn how to verify exactly what people have paid for and how to validate these transactions.","tags":[],"title":"Preventing Unauthorized Purchases with Receipts","url":"\/documentation\/wwdc14-305-preventing-unauthorized-purchases-with-receipts\/"},{"category":"","section":"documentation","slug":"wwdc14-304-creating-great-app-previews","summary":"Spark interest in your app by showing a compelling video preview highlighting the magic moments that make your app unique. Learn how to plan, create and publish your App Preview using Apple’s tools, guidelines and best practices.","tags":[],"title":"Creating Great App Previews","url":"\/documentation\/wwdc14-304-creating-great-app-previews\/"},{"category":"","section":"documentation","slug":"wwdc14-303-optimizing-inapp-purchases","summary":"Using the StoreKit framework properly and optimizing the user experience of your In-App store is vital in order to never miss out on a sale or confuse people. Learn valuable techniques for a trouble free browsing and purchasing experience, and to ensure your app gets through the app submission process smoothly.","tags":[],"title":"Optimizing In-App Purchases","url":"\/documentation\/wwdc14-303-optimizing-inapp-purchases\/"},{"category":"","section":"documentation","slug":"wwdc14-302-the-new-itunes-connect","summary":"Get acquainted with the new iTunes Connectâ€”your hub for publishing on the App Store. Learn about new ways to market with App Bundles and App Previews and how to make even better apps with App Analytics and TestFlight Beta Testing.","tags":[],"title":"The New iTunes Connect","url":"\/documentation\/wwdc14-302-the-new-itunes-connect\/"},{"category":"","section":"documentation","slug":"wwdc14-301-affiliate-tools-for-app-developers","summary":"Earn commission while linking to iTunes music, apps, books, and more. Get an overview of the new global iTunes Affiliate Program and see how simple it is to get started linking to iTunes content using iOS APIs and SmartApp Banners, creating iTunes Radio stations, and much more.","tags":[],"title":"Affiliate Tools for App Developers","url":"\/documentation\/wwdc14-301-affiliate-tools-for-app-developers\/"},{"category":"","section":"documentation","slug":"wwdc14-237-a-strategy-for-great-work","summary":"Experience with past projects can help you do better work in the future if you can draw out the right lessons from what’s happened. Hear stories and gain valuable insights from a senior engineer, with a lot of Apple software development experience, who’s learned a few lessons along the way and figured out some useful approaches to take.","tags":[],"title":"A Strategy for Great Work","url":"\/documentation\/wwdc14-237-a-strategy-for-great-work\/"},{"category":"","section":"documentation","slug":"wwdc14-236-building-interruptible-and-responsive-interactions","summary":"Learn how to fluidly transition interactive UI elements from gesture-driven control to animated transitions. Take advantage of new iOS 8 behavior to smoothly transition between several animations on the same view. Discover architectural approaches to interfaces which remain interactive while they animate.","tags":[],"title":"Building Interruptible and Responsive Interactions","url":"\/documentation\/wwdc14-236-building-interruptible-and-responsive-interactions\/"},{"category":"","section":"documentation","slug":"wwdc14-235-advanced-scrollviews-and-touch-handling-techniques","summary":"Scrollviews build on gesture recognizers and underlying multi-touch mechanics to provide a fundamental piece of the iOS user experience. Gain a broader understanding of the iOS touch handling architecture through practical real-world examples. Discover advanced tips and tricks for combining scrolling with other touch handling techniques to create delightful user interfaces.","tags":[],"title":"Advanced Scrollviews and Touch Handling Techniques","url":"\/documentation\/wwdc14-235-advanced-scrollviews-and-touch-handling-techniques\/"},{"category":"","section":"documentation","slug":"wwdc14-234-building-a-documentbased-app","summary":"Come hear the advancements in document handling in iOS 8. See how easy it is to use the new Document Picker UI. Learn how to share documents between apps, and even provide documents to other apps from your custom data store.","tags":[],"title":"Building a Document-based App","url":"\/documentation\/wwdc14-234-building-a-documentbased-app\/"},{"category":"","section":"documentation","slug":"wwdc14-233-sharing-code-between-ios-and-os-x","summary":"Learn what the iWork engineers did to ship iWork for iOS and Mac from a single codebase. Explore the patterns for sharing code between desktop and mobile, and see how you can optimize your code and write great apps.","tags":[],"title":"Sharing code between iOS and OS X","url":"\/documentation\/wwdc14-233-sharing-code-between-ios-and-os-x\/"},{"category":"","section":"documentation","slug":"wwdc14-232-advanced-user-interfaces-with-collection-views","summary":"Building an advanced user interface with collection view requires a great design, careful code architecture, and often times a custom layout. Learn how the iTunes team used UICollectionView to deliver a new version of the iTunes Connect app with an updated user interface incorporating pinning headers, swipe to edit and reorder, and a manageable code-base.","tags":[],"title":"Advanced User Interfaces with Collection Views","url":"\/documentation\/wwdc14-232-advanced-user-interfaces-with-collection-views\/"},{"category":"","section":"documentation","slug":"wwdc14-231-advanced-cloudkit","summary":"Dive deep into CloudKit! Learn how to perform advanced operations on records and store private data and gain a deeper understanding about custom record zones, ensuring data integrity, and effectively modeling your data.","tags":[],"title":"Advanced CloudKit","url":"\/documentation\/wwdc14-231-advanced-cloudkit\/"},{"category":"","section":"documentation","slug":"wwdc14-230-making-a-great-first-impression-with-strong-onboarding-design","summary":"Learn how to effectively introduce new users to the capabilities and features of your app or game in a way that will draw them in the very first time and then keep them coming back.","tags":[],"title":"Making a Great First Impression With Strong Onboarding Design","url":"\/documentation\/wwdc14-230-making-a-great-first-impression-with-strong-onboarding-design\/"},{"category":"","section":"documentation","slug":"wwdc14-229-advanced-ios-application-architecture-and-patterns","summary":"Explore a selection of high-level software engineering techniques presented in the context of Cocoa Touch. Learn how to manage complexity in large codebases by clearly defining where truth resides, by controlling state with Swift’s powerful value types and immutability, and by thinking in terms of composition.","tags":[],"title":"Advanced iOS Application Architecture and Patterns","url":"\/documentation\/wwdc14-229-advanced-ios-application-architecture-and-patterns\/"},{"category":"","section":"documentation","slug":"wwdc14-228-a-look-inside-presentation-controllers","summary":"iOS 8 brings you powerful new means of presenting content within your apps. Hear how presentation controllers were leveraged by UIKit to give you fine grain control using new alert and searching APIs. Dive deep into how presentation controllers work and how you can use them to present content within your app in exciting new ways.","tags":[],"title":"A Look Inside Presentation Controllers","url":"\/documentation\/wwdc14-228-a-look-inside-presentation-controllers\/"},{"category":"","section":"documentation","slug":"wwdc14-227-creating-modern-cocoa-apps","summary":"Developing apps for OS X Yosemite is easier than ever with new enhancements to Cocoa. Learn how to use these new tools and APIs to develop a modern OS X app. Explore what’s now available in Cocoa and learn to harness and implement these key technologies to make your app at once totally modern and familiar to people using it on OS X Yosemite.","tags":[],"title":"Creating Modern Cocoa Apps","url":"\/documentation\/wwdc14-227-creating-modern-cocoa-apps\/"},{"category":"","section":"documentation","slug":"wwdc14-226-whats-new-in-table-and-collection-views","summary":"iOS 8 brings dynamic type front and foremost throughout UIKit classes. Learn about extensive enhancements made to table views and collection views, empowering you to create dynamically sized cells and exercise greater control over layouts. Find out how to align user expectations from their settings to your UI.","tags":[],"title":"What’s New in Table and Collection Views","url":"\/documentation\/wwdc14-226-whats-new-in-table-and-collection-views\/"},{"category":"","section":"documentation","slug":"wwdc14-225-whats-new-in-core-data","summary":"Learn about the latest enhancements to the Core Data framework. Hear how to efficiently update your objects, execute simultaneous operations, and extend the framework to support your custom requirements.","tags":[],"title":"What’s New in Core Data","url":"\/documentation\/wwdc14-225-whats-new-in-core-data\/"},{"category":"","section":"documentation","slug":"wwdc14-224-core-ios-application-architectural-patterns","summary":"Get the most out of iOS’s frameworks by understanding their core idioms and expectations. Learn about pervasive design patterns like “Model, View, Controller”, Target\/Action, Delegation and others used throughout Cocoa Touch. Gain practical knowledge of architectural idioms to organize your code for flexibility, clarity and reliability. See how to structure your app to take full advantage of Apple’s frameworks.","tags":[],"title":"Core iOS Application Architectural Patterns","url":"\/documentation\/wwdc14-224-core-ios-application-architectural-patterns\/"},{"category":"","section":"documentation","slug":"wwdc14-223-prototyping-fake-it-till-you-make-it","summary":"Make better apps by trying things out first, before you write any code. Get a glimpse of Apple’s prototyping process and the range of tools and techniques we use, some of which might surprise you.","tags":[],"title":"Prototyping: Fake It Till You Make It","url":"\/documentation\/wwdc14-223-prototyping-fake-it-till-you-make-it\/"},{"category":"","section":"documentation","slug":"wwdc14-222-optimize-your-earning-power-with-iad","summary":"iAd technologies built into iOS let you easily include advertising in your app.  Discover what’s new in the iAd Framework, including multi-view banner strategies, full screen and video interstitials, and best practices to ensure optimal ad performance. You’ll also learn how to implement iAd App Attribution to help you accurately measure the lifetime value of newly acquired customers.","tags":[],"title":"Optimize Your Earning Power With iAd","url":"\/documentation\/wwdc14-222-optimize-your-earning-power-with-iad\/"},{"category":"","section":"documentation","slug":"wwdc14-221-creating-custom-ios-user-interfaces","summary":"Make your app stand out from the competition with a compelling, yet familiar, user interface, and custom controls that match your app’s personality and effectively reveal it’s key features. Learn advanced Core Animation techniques such as spring view animations, and see new visual effects such as blur and vibrancy and how they can give your apps a visual edge.","tags":[],"title":"Creating Custom iOS User Interfaces","url":"\/documentation\/wwdc14-221-creating-custom-ios-user-interfaces\/"},{"category":"","section":"documentation","slug":"wwdc14-220-adopting-advanced-features-of-the-new-ui-of-os-x-yosemite","summary":"OS X Yosemite introduces a refined new look, and Cocoa provides you with a rich set of APIs and facilities to embrace this new look in your application. Discover how to properly use these APIs to bring the refinement, translucency, and vibrancy of OS X Yosemite to your apps. Dive deep into a number of case studies demonstrating applications with different designs and needs.","tags":[],"title":"Adopting Advanced Features of the New UI of OS X Yosemite","url":"\/documentation\/wwdc14-220-adopting-advanced-features-of-the-new-ui-of-os-x-yosemite\/"},{"category":"","section":"documentation","slug":"wwdc14-219-adopting-handoff-on-ios-and-os-x","summary":"Handoff allows people to seamlessly move activities between devices and pick up right where they left off. Learn how to save, transfer, and restore user activities in apps of all architectures. See how easy it is to add Handoff support to your iOS and OS X apps to make your user experience even better.","tags":[],"title":"Adopting Handoff on iOS and OS X","url":"\/documentation\/wwdc14-219-adopting-handoff-on-ios-and-os-x\/"},{"category":"","section":"documentation","slug":"wwdc14-218-designing-a-great-inapp-purchase-experience","summary":"Being successful with In-App Purchases requires much more than just having a store within your app. A well-designed experience motivates customers to purchase, offers them the items that they want based on what’s happening, communicates item details and pricing clearly, and provides vital feedback about the purchasing process. Learn key design techniques, how best to communicate when new content and subscriptions become available, how to handle large sets of In-App content, and important StoreKit tips.","tags":[],"title":"Designing a Great In-App Purchase Experience","url":"\/documentation\/wwdc14-218-designing-a-great-inapp-purchase-experience\/"},{"category":"","section":"documentation","slug":"wwdc14-217-creating-extensions-for-ios-and-os-x-part-2","summary":"Take the plunge into advanced extension concepts such as creating custom action extensions. Dive deep into extension architecture to learn how to provide a consistent experience between extensions and your app. See how to utilize extensions with Safari to bridge the gap between your websites and native apps, and discover how to make great extensions that users will love.","tags":[],"title":"Creating Extensions for iOS and OS X, Part 2","url":"\/documentation\/wwdc14-217-creating-extensions-for-ios-and-os-x-part-2\/"},{"category":"","section":"documentation","slug":"wwdc14-216-building-adaptive-apps-with-uikit","summary":"Building your apps to be flexible enough to be used in different orientations and on different devices is crucial. Learn about the enhancements that have been made to UIKit view controllers to make it even easier for you to adapt your user interface to any size or orientation. See how to effectively use size classes to ensure a great user experience for any context and find out how Xcode can help you create and test your apps for different sized devices.","tags":[],"title":"Building Adaptive Apps with UIKit","url":"\/documentation\/wwdc14-216-building-adaptive-apps-with-uikit\/"},{"category":"","section":"documentation","slug":"wwdc14-214-view-controller-advancements-in-ios-8","summary":"View controllers are fundamental to creating apps on iOS. Learn about the enhancements made to view controllers in iOS 8 to improve the user experience in your apps. Dive into using and creating transition coordinators and find out about all-new additions to split view controllers and navigation controllers.","tags":[],"title":"View Controller Advancements in iOS 8","url":"\/documentation\/wwdc14-214-view-controller-advancements-in-ios-8\/"},{"category":"","section":"documentation","slug":"wwdc14-213-introducing-homekit","summary":"iOS 8 introduces HomeKit, a high-level device connectivity framework enabling apps to interact with physical accessories in the world around us. Learn the objects that define these devices, see how to control them, and discover how to create a full device control experience for the home.","tags":[],"title":"Introducing HomeKit","url":"\/documentation\/wwdc14-213-introducing-homekit\/"},{"category":"","section":"documentation","slug":"wwdc14-212-storyboards-and-controllers-on-os-x","summary":"Learn how to build your OS X application using storyboards, view controllers, and gesture recognizers. See how these OS X enhancements can simplify complex user interaction controller code. Gain a practical understanding with a high level introduction to Xcode’s Interface Builder integration and dive deep into a detailed discussion of the new APIs with tips to create great apps for OS X.","tags":[],"title":"Storyboards and Controllers on OS X","url":"\/documentation\/wwdc14-212-storyboards-and-controllers-on-os-x\/"},{"category":"","section":"documentation","slug":"wwdc14-211-designing-intuitive-user-experiences","summary":"Learn about the key concepts and principles that will enable you to make your app intuitive and approachable. Gain insights into how you can harness UI animations to help people stay oriented, get clear and meaningful feedback, and navigate with ease.","tags":[],"title":"Designing Intuitive User Experiences","url":"\/documentation\/wwdc14-211-designing-intuitive-user-experiences\/"},{"category":"","section":"documentation","slug":"wwdc14-210-accessibility-on-ios","summary":"iOS offers unmatched accessibility support that can help you reach a wider audience. Join us for an exploration of the features that iOS offers for users with specific needs, in areas such as vision, hearing, movement, and learning. Learn how to leverage existing and new UIAccessibility APIs in iOS 8, including expanded support for low vision users, to ensure that your app’s features are available to all users.","tags":[],"title":"Accessibility on iOS","url":"\/documentation\/wwdc14-210-accessibility-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc14-209-adapting-your-app-to-the-new-ui-of-os-x-yosemite","summary":"Take a tour of the new appearances and behaviors that Cocoa supports and learn how easy it is to adopt them when you use standard Cocoa classes. Get an overview of the changes to Cocoa and find out how to make your app fit in and feel familiar to people using OS X Yosemite.","tags":[],"title":"Adapting Your App to the New UI of OS X Yosemite","url":"\/documentation\/wwdc14-209-adapting-your-app-to-the-new-ui-of-os-x-yosemite\/"},{"category":"","section":"documentation","slug":"wwdc14-208-introducing-cloudkit","summary":"CloudKit is the framework that powers iCloud on iOS and OS X, now available directly in your app. Learn how you can take advantage of its feature-rich API to store and query your own custom data and assets in iCloud.","tags":[],"title":"Introducing CloudKit","url":"\/documentation\/wwdc14-208-introducing-cloudkit\/"},{"category":"","section":"documentation","slug":"wwdc14-207-accessibility-on-os-x","summary":"OS X is known for its unsurpassed level of accessibility. Find out about an all-new OS X accessibility API to make adding accessibility support to your apps even easier. Discover how to add support for VoiceOver, Switch Control, automation and other assistive-technology clients to work with your OS X applications. Learn advanced techniques to make complex controls accessible with only a few lines of code.","tags":[],"title":"Accessibility on OS X","url":"\/documentation\/wwdc14-207-accessibility-on-os-x\/"},{"category":"","section":"documentation","slug":"wwdc14-206-introducing-the-modern-webkit-api","summary":"The modern WebKit framework enables developers to integrate web content into their native app experience with more features and fewer lines of code. Dive into the latest WebKit enhancements including modernÂ Objective-C features such as blocks and explicit object types, advanced bridging between JavaScript and Objective-C, increasedÂ JavaScriptÂ performance via WebKit’s super-fast JIT, and moreâ€”all delivered in an API unified for both iOS and OS X.","tags":[],"title":"Introducing the Modern WebKit API","url":"\/documentation\/wwdc14-206-introducing-the-modern-webkit-api\/"},{"category":"","section":"documentation","slug":"wwdc14-205-creating-extensions-for-ios-and-os-x-part-1","summary":"Extensions enable you to keep people engaged with your content across iOS and OS X. Learn how to create extensions that share content with social websites, engage users in Notification Center, and enable a variety of other exciting features. Tap into the potential of extensions and prepare to dive into advanced topics in Part 2.","tags":[],"title":"Creating Extensions for iOS and OS X, Part 1","url":"\/documentation\/wwdc14-205-creating-extensions-for-ios-and-os-x-part-1\/"},{"category":"","section":"documentation","slug":"wwdc14-204-whats-new-in-cocoa","summary":"OS X Yosemite brings a clean new look, view controller enhancements, Mac storyboards, app extensions, Continuity, and many additional features you can leverage through the Cocoa frameworks. This is your first stop to discover great Cocoa sessions throughout the week.","tags":[],"title":"What’s New in Cocoa","url":"\/documentation\/wwdc14-204-whats-new-in-cocoa\/"},{"category":"","section":"documentation","slug":"wwdc14-203-introducing-healthkit","summary":"HealthKit is a brand new framework that centralizes the data storage of personal health information. Learn from the framework authors how to save, query, and interpret health data to make your apps more engaging and personal for your users.","tags":[],"title":"Introducing HealthKit","url":"\/documentation\/wwdc14-203-introducing-healthkit\/"},{"category":"","section":"documentation","slug":"wwdc14-202-whats-new-in-cocoa-touch","summary":"iOS 8 brings enhancements to the Cocoa Touch frameworks for making next generation apps on iOS. Learn about updates to view controllers, the introduction of size classes, and get an overview of all new APIs to help you create adaptive apps. Hear about new capabilities, such as extensions and handoff, which will enable you to create great experiences for users to keep them up to date at all times or allow them to continue their workflow when they move from one device to another. Find out which sessions you won’t want to miss throughout the week.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc14-202-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc14-201-advanced-topics-in-internationalization","summary":"Making your app appealing to customers around the world requires more than basic localization. See how to tackle the complex aspects of making your app truly world-ready. Learn about the latest developments with internationalization on iOS and OS X, and learn from case studies illustrating common pitfalls to avoid and simple and effective techniques. Find out how to give your users a great experience no matter what language they speak or where they live.","tags":[],"title":"Advanced Topics in Internationalization","url":"\/documentation\/wwdc14-201-advanced-topics-in-internationalization\/"},{"category":"","section":"documentation","slug":"wwdc14-103-apple-design-awards","summary":"Join us for an unforgettable award ceremony celebrating developers and their outstanding work. The 2014 Apple Design Awards recognize state of the art iOS apps and OS X apps that reflect the very best in design, innovation, and technology excellence.","tags":[],"title":"Apple Design Awards","url":"\/documentation\/wwdc14-103-apple-design-awards\/"},{"category":"","section":"documentation","slug":"wwdc14-102-platforms-state-of-the-union","summary":"WWDC 2014 Platforms State of the Union","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc14-102-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc14-101-keynote","summary":"WWDC 2014 Keynote","tags":[],"title":"Keynote","url":"\/documentation\/wwdc14-101-keynote\/"},{"category":"","section":"documentation","slug":"wwdc14","summary":"Xcode 6, Swift 1.0, iOS 8, macOS 10.10 (Yosemite).","tags":[],"title":"WWDC14","url":"\/documentation\/wwdc14\/"},{"category":"","section":"documentation","slug":"wwdc13-714-protecting-your-users-privacy","summary":"Learn about new iOS and OS X privacy features and get details on new and updated APIs. Hear best practices for delivering great features and respecting your customers’ privacy.","tags":[],"title":"Protecting your Users’ Privacy","url":"\/documentation\/wwdc13-714-protecting-your-users-privacy\/"},{"category":"","section":"documentation","slug":"wwdc13-713-the-accelerate-framework","summary":"The Accelerate framework contains signal and image processing, matrix, and linear algebra computation. Learn about new signal and image processing functionality. Find out how you can use the Accelerate framework to achieve dramatic improvements in performance and energy consumption.","tags":[],"title":"The Accelerate Framework","url":"\/documentation\/wwdc13-713-the-accelerate-framework\/"},{"category":"","section":"documentation","slug":"wwdc13-712-energy-best-practices","summary":"Your apps play a vital role in maximizing battery life. Learn how to use Power Tools and new APIs to write energy-efficient code. Find out if your app is using excessive CPU or timers, and how to adopt design patterns that will avoid these problems.","tags":[],"title":"Energy Best Practices","url":"\/documentation\/wwdc13-712-energy-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc13-711-advances-in-airprint","summary":"AirPrint is the iOS and OS X printing system, a revolutionary printing architecture that makes printing easy for users and app developers. Learn all about AirPrint, how it has grown, and best practices for adding printing to iOS apps.","tags":[],"title":"Advances in AirPrint","url":"\/documentation\/wwdc13-711-advances-in-airprint\/"},{"category":"","section":"documentation","slug":"wwdc13-710-a-practical-guide-to-the-app-sandbox","summary":"Discover how you can use App Sandbox to protect your app’s users from unintentional bugs or deliberate attempts to compromise security. Understand sandboxing’s security goals, how applications and their data are isolated from each other, and how to express the resources your application needs. Learn about App Sandbox-related APIs and entitlements, and how to adopt them for your app to meet the Mac App Store Guidelines.","tags":[],"title":"A Practical Guide to the App Sandbox","url":"\/documentation\/wwdc13-710-a-practical-guide-to-the-app-sandbox\/"},{"category":"","section":"documentation","slug":"wwdc13-709-protecting-secrets-with-the-keychain","summary":"The iOS and OS X keychains are designed to protect sensitive data such as passwords, keys, and credentials. Learn why the keychain provides more security than other methods of storing data, when it’s appropriate to use the keychain, and how to use the keychain for common tasks such as saving passwords and importing and exporting certificates in various formats.","tags":[],"title":"Protecting Secrets with the Keychain","url":"\/documentation\/wwdc13-709-protecting-secrets-with-the-keychain\/"},{"category":"","section":"documentation","slug":"wwdc13-708-nearby-networking-with-multipeer-connectivity","summary":"Multipeer Connectivity is a new networking framework that enables discovery of, and communication with, nearby devices. Learn the basics, hear about the best practices, and see how writing networking code can be easy, fun, and powerful.","tags":[],"title":"Nearby Networking with Multipeer Connectivity","url":"\/documentation\/wwdc13-708-nearby-networking-with-multipeer-connectivity\/"},{"category":"","section":"documentation","slug":"wwdc13-707-whats-new-in-kext-development","summary":"OS X Kernel Extensions are used to deliver device drivers and other kernel-level support software. Learn what is new with Kext development, including how to sign your kext, how to use lldb for kernel debugging, and how to build and deploy kexts for multiple releases of OS X.","tags":[],"title":"What’s New in Kext Development","url":"\/documentation\/wwdc13-707-whats-new-in-kext-development\/"},{"category":"","section":"documentation","slug":"wwdc13-705-whats-new-in-foundation-networking","summary":"The Foundation networking APIs provide powerful networking solutions for your app. Learn about the new NSURLSession API that lets you do out-of-process networking and configuration options. Learn how to create a NSNetService based server. Learn the best practices for HTTP authentication, proxies, and scheduling.","tags":[],"title":"What’s New in Foundation Networking","url":"\/documentation\/wwdc13-705-whats-new-in-foundation-networking\/"},{"category":"","section":"documentation","slug":"wwdc13-704-building-efficient-os-x-apps","summary":"Apps on OS X must share a common pool of system resources. Learn the tips and tools for making the best use of these shared resources to improve both your performance and the performance of your user’s systems.  See how to investigate your app’s impact on system memory use and disk I\/O, and learn techniques for doing work in the background without impacting performance.","tags":[],"title":"Building Efficient OS X Apps","url":"\/documentation\/wwdc13-704-building-efficient-os-x-apps\/"},{"category":"","section":"documentation","slug":"wwdc13-703-core-bluetooth","summary":"Core Bluetooth and Bluetooth Low Energy enable a new category of Bluetooth accessories which have an incredibly long battery life. With CoreBluetooth, iOS apps can talk with shoes to find out how far they’ve run and jumped, make toys come to life, fly a paper airplane, find car keys and remote controls, open a door lock, and find out why a check engine light is on. Learn what’s new in CoreBluetooth and the new ways that iOS apps can interact with Bluetooth Low Energy accessories.","tags":[],"title":"Core Bluetooth","url":"\/documentation\/wwdc13-703-core-bluetooth\/"},{"category":"","section":"documentation","slug":"wwdc13-702-efficient-design-with-xpc","summary":"XPC has been enhanced to make it even easier to design for robustness and efficiency. Learn how to save power by opportunistically scheduling long-running tasks, transferring large amounts of data with minimal overhead, and how to best compartmentalize your app.","tags":[],"title":"Efficient Design with XPC","url":"\/documentation\/wwdc13-702-efficient-design-with-xpc\/"},{"category":"","section":"documentation","slug":"wwdc13-701-maximizing-battery-life-on-os-x","summary":"Helping users get the most out of their battery is a cornerstone of modern application development. Join Vice President of Software Technology, Bud Tribble, and get a rare tour through the latest energy-efficient Apple hardware, learn about new features and API in OS X that help prolong battery life, and discover how your app can become even more energy efficient by adopting the latest best practices and API.","tags":[],"title":"Maximizing Battery Life on OS X","url":"\/documentation\/wwdc13-701-maximizing-battery-life-on-os-x\/"},{"category":"","section":"documentation","slug":"wwdc13-700-designing-accessories-for-ios-and-os-x","summary":"Learn about services that allow apps to interact with accessories. Understand your options for designing hardware solutions, including the latest on Wi-Fi, AirPlay, Bluetooth, and the Lightning connector.","tags":[],"title":"Designing Accessories for iOS and OS X","url":"\/documentation\/wwdc13-700-designing-accessories-for-ios-and-os-x\/"},{"category":"","section":"documentation","slug":"wwdc13-615-integrating-javascript-into-native-apps","summary":"Introducing a new Objective-C API to JavaScriptCore. iOS developers can now integrate scripting into their apps without having to bundle custom language interpreters. This API builds on top of the existing C API to JavaScriptCore available on Mac, and makes programming with JavaScript much easier and less error-prone.","tags":[],"title":"Integrating JavaScript into Native Apps","url":"\/documentation\/wwdc13-615-integrating-javascript-into-native-apps\/"},{"category":"","section":"documentation","slug":"wwdc13-614-implementing-os-x-push-notifications-for-websites","summary":"Learn how to prepare your website for push notifications. See how to sign up your users to receive notifications even when your site is not running in Safari. Find out about best practices for managing notifications across both the web and your applications.","tags":[],"title":"Implementing OS X Push Notifications for Websites","url":"\/documentation\/wwdc13-614-implementing-os-x-push-notifications-for-websites\/"},{"category":"","section":"documentation","slug":"wwdc13-613-iad-integration-and-best-practices","summary":"iAd technologies built-in to iOS let you easily incorporate advertising into your app. Come to discover what’s new in the iAd Framework, multi-view banner strategies, effective integration with Storyboards, and more. You’ll walk away with actionable implementation best practices and the tactics necessary to ensure maximum ad performance.","tags":[],"title":"iAd Integration and Best Practices","url":"\/documentation\/wwdc13-613-iad-integration-and-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc13-612-advanced-editing-with-av-foundation","summary":"AV Foundation provides powerful services for editing video and audio in your iOS or OS X apps. See the tremendous control and flexibility AV Foundation offers. Learn how custom compositors create new possibilities for advanced transitions and effects. Gain expert insight into best practices for integrating compositions into your app and working with audio mixes.","tags":[],"title":"Advanced Editing with AV Foundation","url":"\/documentation\/wwdc13-612-advanced-editing-with-av-foundation\/"},{"category":"","section":"documentation","slug":"wwdc13-611-building-advanced-ibooks-html-5-widgets-and-iad-rich-media-ads","summary":"iAd Producer’s visual design approach belies its advanced customization and development capabilities. We’ll go beyond drag-and-drop to discover powerful iAd JS classes, show you how to create dynamic data-driven objects, and demonstrate debugging and performance optimization techniques you can use right away.","tags":[],"title":"Building Advanced iBooks HTML 5 Widgets and iAd Rich Media Ads","url":"\/documentation\/wwdc13-611-building-advanced-ibooks-html-5-widgets-and-iad-rich-media-ads\/"},{"category":"","section":"documentation","slug":"wwdc13-610-whats-new-in-camera-capture","summary":"AV Foundation provides your application with access to the powerful camera imaging sensors built-in to all iOS devices. iOS 7 enables finer grained control over the capture format, support for zoom, built-in barcode recognition, and enhancements to autofocus. If your application uses the camera on iOS you want to attend.","tags":[],"title":"What’s New in Camera Capture","url":"\/documentation\/wwdc13-610-whats-new-in-camera-capture\/"},{"category":"","section":"documentation","slug":"wwdc13-609-introduction-to-ibooks-author-widget-and-iad-rich-media-ad-development-with-iad-producer-4","summary":"iAd Producer’s drag-and-drop interface makes it easy to deliver highly interactive iAd rich media ads, iBooks Author HTML5 widgets, and more. Discover how the refined environment for actions and objects, an expanded library of customizable interactive objects, integration of iAd Blueprints, and widget templates increase your efficiencies and creative possibilities.","tags":[],"title":"Introduction to iBooks Author Widget and iAd Rich Media Ad Development with iAd Producer 4","url":"\/documentation\/wwdc13-609-introduction-to-ibooks-author-widget-and-iad-rich-media-ad-development-with-iad-producer-4\/"},{"category":"","section":"documentation","slug":"wwdc13-608-preparing-and-presenting-media-for-accessibility","summary":"AV Foundation automatically selects appropriate audio and subtitle tracks in your media. Learn how media selection works and find out how to author media with accessibility features like subtitles and closed captions. Go beyond the basics to use AV Foundation for customizing subtitle appearance and presentation.","tags":[],"title":"Preparing and Presenting Media for Accessibility","url":"\/documentation\/wwdc13-608-preparing-and-presenting-media-for-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc13-607-power-and-performance-optimizing-your-website-for-great-battery-life-and-responsive-scrolling","summary":"People want a great web experience that doesn’t drain their battery and provides the ultimate in scrolling responsiveness. Find out how you can tune your content for optimum performance and efficiency. Learn how to work with Safari techniques and web features that help you save power. Discover how to get the smoothest possible scrolling for your content.","tags":[],"title":"Power and Performance: Optimizing Your Website for Great Battery Life and Responsive Scrolling","url":"\/documentation\/wwdc13-607-power-and-performance-optimizing-your-website-for-great-battery-life-and-responsive-scrolling\/"},{"category":"","section":"documentation","slug":"wwdc13-606-moving-to-av-kit-and-av-foundation","summary":"AV Foundation is the recommended framework for working with time-based audiovisual media. Learn how to transition your QuickTime or QTKit based media app to AV Foundation and understand the key concepts underlying the modern media architecture of OS X. Explore how AV Kit makes it easy to play modern media in your OS X apps by providing view-level services for playback, standard navigation controls, chapter selection, and support for subtitles.","tags":[],"title":"Moving to AV Kit and AV Foundation","url":"\/documentation\/wwdc13-606-moving-to-av-kit-and-av-foundation\/"},{"category":"","section":"documentation","slug":"wwdc13-605-whats-new-in-ibooks-author","summary":"iBooks Author lets you use a drag-and-drop interface to create rich and immersive books for the iBookstore. Discover best practices for book design and asset preparation, and learn how to use the iBooks Author interface efficiently to develop your book. See how to enhance your book with rich media such as audio, video, and animations, plus get tips for testing your book before submitting it to the iBookstore.","tags":[],"title":"What’s New in iBooks Author","url":"\/documentation\/wwdc13-605-whats-new-in-ibooks-author\/"},{"category":"","section":"documentation","slug":"wwdc13-604-introducing-iad-workbench-the-best-way-to-market-your-app","summary":"Powered by iAd, iAd Workbench makes it easy to create and manage mobile campaigns optimized to drive downloads of your app. Learn the entire workflow for promoting app downloads from selection of an Apple designed or custom banner to reviewing an active campaign and optimizing for performance.","tags":[],"title":"Introducing iAd Workbench, The Best Way to Market Your App","url":"\/documentation\/wwdc13-604-introducing-iad-workbench-the-best-way-to-market-your-app\/"},{"category":"","section":"documentation","slug":"wwdc13-603-getting-the-most-out-of-web-inspector","summary":"Dig deeper into the many enhancements and new features that Safari has added to Web Inspector. Learn how to use them for more advanced inspection, tweaking, profiling, and debugging of your web content on iOS and the Mac. If web technologies are at the core of your web, Mac, or iOS app, this session will show you how Web Inspector can help you get the results you want.","tags":[],"title":"Getting the Most Out of Web Inspector","url":"\/documentation\/wwdc13-603-getting-the-most-out-of-web-inspector\/"},{"category":"","section":"documentation","slug":"wwdc13-602-whats-new-in-core-audio-for-ios","summary":"Core Audio is the professional-grade technology for playing, processing and recording audio on iOS. Learn how your apps can take advantage of the latest advances in Core Audio. Discover how to send and receive audio between multiple apps, allowing for advanced mixing, effects, and sound generation.","tags":[],"title":"What’s New in Core Audio for iOS","url":"\/documentation\/wwdc13-602-whats-new-in-core-audio-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc13-601-getting-to-know-web-inspector","summary":"Web Inspector is a powerful tool for understanding the behavior of your web site. Gain an overview of everything Web Inspector can do. Explore the user interface and learn about features that will make your life easier. Learn how to connect the Safari Web Inspector to your iPhone or iPad for on-device testing. Find out how to inspect, tweak, optimize, and debug the web content in your web, Mac, or iOS app.","tags":[],"title":"Getting to Know Web Inspector","url":"\/documentation\/wwdc13-601-getting-to-know-web-inspector\/"},{"category":"","section":"documentation","slug":"wwdc13-600-whats-new-in-safari-and-webkit-for-web-developers","summary":"Whether you publish a web site or embed web views in your Mac or iOS application, this is where you can learn about new and upcoming web technologies in Safari and WebKit. Find out how to take advantage of new HTML, CSS, and JavaScript capabilities to interact better with Apple devices and deliver a richer browsing experience for users.","tags":[],"title":"What’s New in Safari and WebKit for Web Developers","url":"\/documentation\/wwdc13-600-whats-new-in-safari-and-webkit-for-web-developers\/"},{"category":"","section":"documentation","slug":"wwdc13-509-core-image-effects-and-techniques","summary":"Core Image lets you create incredible visual effects in your photo and video apps. Learn how to harness the new filters added in iOS 7 and OS X 10.9. Check out the seamless integration with OpenGL and OpenCL on the Mac. Understand recommended practices for using Core Image efficiently and see how to maximize its powerful features.","tags":[],"title":"Core Image Effects and Techniques","url":"\/documentation\/wwdc13-509-core-image-effects-and-techniques\/"},{"category":"","section":"documentation","slug":"wwdc13-508-working-with-opencl","summary":"OpenCL lets your application unleash the parallel computing power of modern GPUs and multicore CPUs. Learn how use OpenCL to accelerate a wide range of compute-intensive tasks found in applications today. Explore the tight integration between OpenCL and OpenGL and see how to tap into the full processing capabilities of the Mac.","tags":[],"title":"Working with OpenCL","url":"\/documentation\/wwdc13-508-working-with-opencl\/"},{"category":"","section":"documentation","slug":"wwdc13-507-whats-new-in-opengl-for-os-x","summary":"OpenGL is the foundation for GPU-accelerated graphics on OS X, enabling a broad range of applications including games, animation software, and imaging solutions. See how your apps can deliver incredible visuals and high performance using the OpenGL 4.1 Core Profile. Learn how to take advantage of multiple GPUs and access the computational capabilities of OpenCL.","tags":[],"title":"What’s New in OpenGL for OS X","url":"\/documentation\/wwdc13-507-whats-new-in-opengl-for-os-x\/"},{"category":"","section":"documentation","slug":"wwdc13-506-turnbased-gaming-with-game-center","summary":"Turn-based gaming has taken off with the addition of asynchronous multiplayer gaming in Game Center. Dive into the latest developments in turn-based play. See how to add in-game trading, player chat, negotiations, and much more by using exchanges. Learn about the API and gain insight into managing game states and multiple game sessions.","tags":[],"title":"Turn-Based Gaming with Game Center","url":"\/documentation\/wwdc13-506-turnbased-gaming-with-game-center\/"},{"category":"","section":"documentation","slug":"wwdc13-505-advances-in-opengl-es","summary":"OpenGL ES provides access to the exceptional graphics power of iOS devices. See how the innovations in iOS 7 deliver incredible graphics in games and other mobile 3D applications. Learn about advanced effects enabled by the latest extensions, and get specific tips and best practices to follow in your apps.","tags":[],"title":"Advances in OpenGL ES","url":"\/documentation\/wwdc13-505-advances-in-opengl-es\/"},{"category":"","section":"documentation","slug":"wwdc13-504-whats-new-in-game-center","summary":"Make your games even better by taking advantage of Game Center, Apple’s social gaming network. Learn about the latest additions to Game Center and enhancements to the Game Center user interface. Discover new techniques for tracking scores and expanding your leaderboards. Encourage interaction between your players by integrating challenges into your game.","tags":[],"title":"What’s New in Game Center","url":"\/documentation\/wwdc13-504-whats-new-in-game-center\/"},{"category":"","section":"documentation","slug":"wwdc13-503-designing-games-with-sprite-kit","summary":"Dive into the practical workflow of developing a 2D adventure game using Sprite Kit. See how to get started, and learn about tools for optimizing image assets, creating particle systems, and building game levels. Understand how Sprite Kit integrates with your art pipeline and get expert guidance to share with your artists. Come away from the session with a fully functioning game in-hand and its code explained.","tags":[],"title":"Designing Games with Sprite Kit","url":"\/documentation\/wwdc13-503-designing-games-with-sprite-kit\/"},{"category":"","section":"documentation","slug":"wwdc13-502-introduction-to-sprite-kit","summary":"Sprite Kit is a powerful graphics framework ready-made for developing 2D action games, platformers, puzzle games, and much more. Get introduced to the Sprite Kit API and learn key details about controlling and rendering sprites. Discover how to leverage built-in physics support to make animations look real, and learn about using particle systems to create essential game effects such as fire, snow, explosions, and smoke. This is the first of two must-attend sessions for all developers creating games for iOS or OS X.","tags":[],"title":"Introduction to Sprite Kit","url":"\/documentation\/wwdc13-502-introduction-to-sprite-kit\/"},{"category":"","section":"documentation","slug":"wwdc13-501-integrating-with-game-controllers","summary":"The Game Controller framework in iOS 7 and OS X 10.9 enables games to integrate with physical game controllers and take advantage of exciting new modes of input. Learn how to add support for MFi game controllers with physical d-pads, buttons, triggers, joysticks, and more. Understand the approach for discovering and connecting to controllers and how to support both wireless and form-fitting controller types. See how to map physical controls to game inputs, and get expert advice about the best practices to follow in your titles.","tags":[],"title":"Integrating with Game Controllers","url":"\/documentation\/wwdc13-501-integrating-with-game-controllers\/"},{"category":"","section":"documentation","slug":"wwdc13-500-whats-new-in-scene-kit","summary":"Scene Kit is a high-level Objective-C framework that enables your app to efficiently load, manipulate, and render 3D scenes. Check out what’s new in Scene Kit and understand how your apps can take advantage of the latest additions. Learn how to extend Scene Kit rendering with custom OpenGL shaders, see how to integrate morphing and skinning, and dive into advanced image effects.","tags":[],"title":"What’s New in Scene Kit","url":"\/documentation\/wwdc13-500-whats-new-in-scene-kit\/"},{"category":"","section":"documentation","slug":"wwdc13-417-os-x-automation-update","summary":"The Automation technologies in OS X continue to improve with each release, and the new automation features of OS X provide great examples. Highlights include new notification actions and commands, built-in developer code-signing for AppleScript applets and droplets, and new innovative and versatile AppleScript Libraries that easily extend application and OS scripting functionality.","tags":[],"title":"OS X Automation Update","url":"\/documentation\/wwdc13-417-os-x-automation-update\/"},{"category":"","section":"documentation","slug":"wwdc13-416-introducing-applescript-libraries","summary":"In a major update and enhancement to its native scripting language, OS X delivers a new plugin architecture for AppleScript, enabling easy development and access to custom sets of functions and methods. Each individual AppleScript Library, saved as an AppleScript script file, can publish its own scripting terminology, and contain dozens of routines written in native AppleScript or the incredibly powerful AppleScriptObjective-C. Scripting just got a whole lot better!","tags":[],"title":"Introducing AppleScript Libraries","url":"\/documentation\/wwdc13-416-introducing-applescript-libraries\/"},{"category":"","section":"documentation","slug":"wwdc13-415-maximizing-apple-development-resources","summary":"When you have a problem, there are numerous avenues to get help, from communicating with Apple to reaching out to your fellow developers for their advice. Gain insight from Apple engineers into how your bug reports make a difference in the software we ship. Understand the different ways you can help us help you with your questions about shipping your apps on the App Store, getting Technical Support, or how to make the most out of seed releases.","tags":[],"title":"Maximizing Apple Development Resources","url":"\/documentation\/wwdc13-415-maximizing-apple-development-resources\/"},{"category":"","section":"documentation","slug":"wwdc13-414-understanding-source-control-in-xcode","summary":"Learn how Xcode’s source control features can help you work more efficiently with your team, juggle numerous development branches, find and fix bugs, and better understand the history of your code with the Version editor.","tags":[],"title":"Understanding Source Control in Xcode","url":"\/documentation\/wwdc13-414-understanding-source-control-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc13-413-advanced-debugging-with-lldb","summary":"Dive deep into using LLDB via the terminal interface and within Xcode’s graphical debugger. See the latest features, improvements, and advanced techniques to help you track down bugs more efficiently than ever before.","tags":[],"title":"Advanced Debugging with LLDB","url":"\/documentation\/wwdc13-413-advanced-debugging-with-lldb\/"},{"category":"","section":"documentation","slug":"wwdc13-412-continuous-integration-with-xcode-5","summary":"Unit tests are great, but to get the most value from them you need to test continuously. Xcode bots make testing easy, as they automatically build, analyze, test, and archive your project in a repeatable manner. See the Xcode team give a start-to-finish demonstration of setting up the new continuous integration support in Xcode.","tags":[],"title":"Continuous Integration with Xcode 5","url":"\/documentation\/wwdc13-412-continuous-integration-with-xcode-5\/"},{"category":"","section":"documentation","slug":"wwdc13-410-fixing-memory-issues","summary":"Using memory responsibly can be the key to stability and ensuring a great user experience. Get a look at new memory tools and learn helpful patterns for dealing with common memory issues specific to reference counting in Objective-C.","tags":[],"title":"Fixing Memory Issues","url":"\/documentation\/wwdc13-410-fixing-memory-issues\/"},{"category":"","section":"documentation","slug":"wwdc13-409-testing-in-xcode-5","summary":"Unit testing is an essential tool to consistently verify that your code works correctly. Learn how Xcode 5 makes it dramatically easier to create, edit, execute, and understand your tests.","tags":[],"title":"Testing in Xcode 5","url":"\/documentation\/wwdc13-409-testing-in-xcode-5\/"},{"category":"","section":"documentation","slug":"wwdc13-408-optimize-your-code-using-llvm","summary":"The Apple LLVM compiler has evolved at a staggering pace, providing remarkably quick compile times and generating lightning-fast code. Hear from the experts on how LLVM technologies can help you write better code. Dive deep into specific techniques to see how you can produce the most efficient code possible.","tags":[],"title":"Optimize Your Code Using LLVM","url":"\/documentation\/wwdc13-408-optimize-your-code-using-llvm\/"},{"category":"","section":"documentation","slug":"wwdc13-407-debugging-with-xcode","summary":"Xcode includes a powerful graphical debugger backed by the new, state-of-the-art LLDB debugging engine. Discover how you can detect and fix your performance problems earlier, configure advanced breakpoints, easily explore your variables within the editor, and take advantage of the new XPC debugging support built right into Xcode.","tags":[],"title":"Debugging with Xcode","url":"\/documentation\/wwdc13-407-debugging-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc13-406-taking-control-of-auto-layout-in-xcode-5","summary":"Auto Layout’s powerful constraint-based engine enables a single user interface to work beautifully on both iOS 6 and iOS 7, and respond dynamically to changes in the size of controls, rotation, or localization. See how the improvements to Auto Layout in Xcode 5 make it even easier to quickly build flexible, modern interfaces.","tags":[],"title":"Taking Control of Auto Layout in Xcode 5","url":"\/documentation\/wwdc13-406-taking-control-of-auto-layout-in-xcode-5\/"},{"category":"","section":"documentation","slug":"wwdc13-405-interface-builder-core-concepts","summary":"The Interface Builder feature built into Xcode makes it easy to create world-class interfaces using a design canvas. Learn how to use storyboards to arrange the views of your app, and employ Auto Layout to ensure your design adapts to changes in screen size, orientation, and localization. See how to easily wire up connections between your beautiful UI and your implementation code using the Assistant editor.","tags":[],"title":"Interface Builder Core Concepts","url":"\/documentation\/wwdc13-405-interface-builder-core-concepts\/"},{"category":"","section":"documentation","slug":"wwdc13-404-advances-in-objectivec","summary":"Objective-C is continuing to evolve as a powerful object-oriented programming language. Technologies like Automatic Reference Counting let you build more robust and easier to maintain code. Modules make it easier than ever to reference framework classes. See how this new technology will help keep your project organized and how you can take advantage of it. Find out about all the newest features and improvements to Objective-C.","tags":[],"title":"Advances in Objective-C","url":"\/documentation\/wwdc13-404-advances-in-objectivec\/"},{"category":"","section":"documentation","slug":"wwdc13-403-from-zero-to-app-store-in-xcode-5","summary":"New account management features in Xcode 5 make it easier than ever to sign and package your app. Join Xcode engineers as they take a brand new project through to App Store submission. See how the new capabilities editor makes it simple to add iCloud, Passbook, and other features and entitlements entirely within the Xcode environment.","tags":[],"title":"From Zero to App Store in Xcode 5","url":"\/documentation\/wwdc13-403-from-zero-to-app-store-in-xcode-5\/"},{"category":"","section":"documentation","slug":"wwdc13-402-whats-new-in-the-llvm-compiler","summary":"Apple continues to invest in the LLVM compiler technology, and that investment has been paying off in spades. Get details on the latest improvements to the compiler and static analyzer. See how to get the most out of these tools with settings in Xcode.","tags":[],"title":"What’s New in the LLVM Compiler","url":"\/documentation\/wwdc13-402-whats-new-in-the-llvm-compiler\/"},{"category":"","section":"documentation","slug":"wwdc13-401-xcode-core-concepts","summary":"Xcode has a wealth of features to help you be more productive than ever before. Join engineers from the Xcode team as they teach the basics of using Xcode, demonstrate power-user workflows, and help you get the most out of your development environment.","tags":[],"title":"Xcode Core Concepts","url":"\/documentation\/wwdc13-401-xcode-core-concepts\/"},{"category":"","section":"documentation","slug":"wwdc13-400-whats-new-in-xcode-5","summary":"Xcode is the development environment for creating amazing apps for OS X and iOS. Start the week by watching the Xcode team demonstrate the latest features and enhanced workflows in Xcode 5. This session is a great overview of the many in-depth Developer Tools topics covered at WWDC 2013.","tags":[],"title":"What’s New in Xcode 5","url":"\/documentation\/wwdc13-400-whats-new-in-xcode-5\/"},{"category":"","section":"documentation","slug":"wwdc13-310-harnessing-ios-to-create-magic-in-your-apps","summary":"Enrich the user experience in your apps by leveraging key iOS technologies in innovative ways. The Apple Store app engineering team will show you how they used Push Notifications, Core Location, Region Monitoring, and Bluetooth to create compelling product pickup and in-store experiences for their customers. Learn tips, tricks, and best practices, and see how you can also offer great experiences in your apps around event notifications, welcoming users to locations of interest, and enabling rich user interactions with their surroundings.","tags":[],"title":"Harnessing iOS to Create Magic in Your Apps","url":"\/documentation\/wwdc13-310-harnessing-ios-to-create-magic-in-your-apps\/"},{"category":"","section":"documentation","slug":"wwdc13-309-putting-map-kit-in-perspective","summary":"iOS 6 introduced a 3D view in Maps and now your app can take advantage of this view as well using Map Kit. Dive deep into how to use 3D mode for Map Views and how you can use it to build dramatic cinematic views to engage your users. Understand how to control the viewport in order to look at specific points on a map from particular angles and how to work with annotations in 3D. See how you can create snapshot of map views for flexibility and performance.","tags":[],"title":"Putting Map Kit in Perspective","url":"\/documentation\/wwdc13-309-putting-map-kit-in-perspective\/"},{"category":"","section":"documentation","slug":"wwdc13-308-using-receipts-to-protect-your-digital-sales","summary":"The App Store, Mac App Store and In-App Purchases support a wide range of business models to generate revenue from your digital products. Whether you offer a paid app or a free app with In-App Purchases, you need to protect yourself by verifying receipts for those purchases. Get all the details on how receipt validation is changing in iOS and hear best practices for combating fraud.","tags":[],"title":"Using Receipts to Protect Your Digital Sales","url":"\/documentation\/wwdc13-308-using-receipts-to-protect-your-digital-sales\/"},{"category":"","section":"documentation","slug":"wwdc13-307-whats-new-in-core-location","summary":"Core Location offers a variety of ways you can find out where your users are and when they are on the move. Hear an update on changes to Core Location and dive deep into the new world of beacon regions. Leveraging Bluetooth Low Energy, iBeacons open up a whole new dimension in region monitoring. Gain a practical understanding of how you can efficiently create beacon regions for important locations so your app can be alerted when users enter them, and techniques for detecting proximity to physical objects.","tags":[],"title":"What’s New in Core Location","url":"\/documentation\/wwdc13-307-whats-new-in-core-location\/"},{"category":"","section":"documentation","slug":"wwdc13-306-whats-new-in-itunes-connect","summary":"iTunes Connect is critical element of deploying your app on the App Store. Hear about all the latest improvements including configuring Game Center options and new options for managing apps across teams. Take a deep dive into how you can dramatically improve your workflow for managing metadata, localization, app assets, and more.","tags":[],"title":"What’s New in iTunes Connect","url":"\/documentation\/wwdc13-306-whats-new-in-itunes-connect\/"},{"category":"","section":"documentation","slug":"wwdc13-305-using-store-kit-for-inapp-purchases","summary":"In-App Purchase continues to be a terrific mechanism for selling products, services and subscriptions directly from your app. Get all the details you need to implement a digital storefront in your OS X or iOS app. Hear how you can now take advantage of subscriptions in OS X and hear best practices for how to capitalize on selling digital products in your app.","tags":[],"title":"Using Store Kit for In-App Purchases","url":"\/documentation\/wwdc13-305-using-store-kit-for-inapp-purchases\/"},{"category":"","section":"documentation","slug":"wwdc13-304-whats-new-in-map-kit","summary":"Learn about the latest improvements to Map Kit, including end-to-end directions and customized map view callouts. Find out how you can snapshot maps in various ways to optimize your content or use maps in new ways. And now, Map Kit is also available for OS X, so you explore how to enhance your Mac apps with maps.","tags":[],"title":"What’s New in Map Kit","url":"\/documentation\/wwdc13-304-whats-new-in-map-kit\/"},{"category":"","section":"documentation","slug":"wwdc13-303-integrating-passbook-into-your-ecosystem","summary":"Implementing a rich Passbook experience requires coordination between your application, back end server and point of redemption. Hear how the Apple Store engineering team rolled out gift card passes used in the Apple Retail stores. Get best practice advice and pointers from the Passbook engineering team about how to avoid pitfalls during development to ensure your users get the most out of Passbook.","tags":[],"title":"Integrating Passbook into your Ecosystem","url":"\/documentation\/wwdc13-303-integrating-passbook-into-your-ecosystem\/"},{"category":"","section":"documentation","slug":"wwdc13-302-whats-new-in-passbook","summary":"Passbook is the easiest way for users to keep track of their boarding passes, event tickets, coupons and more. See how to streamline the process of adding multiple passes to Passbook in a single operation. Find out how to optimize location relevance using iBeacons. Learn about all of the improvements in Passbook that give you more control and flexibility in your passes.","tags":[],"title":"What’s New in Passbook","url":"\/documentation\/wwdc13-302-whats-new-in-passbook\/"},{"category":"","section":"documentation","slug":"wwdc13-301-extending-your-apps-for-enterprise-and-education-use","summary":"Business and education markets are a growing audience for iOS apps. With new capabilities in iOS 7 and a few key concepts you can fine tune your app to meet the needs of large organizations. Learn about data security, authentication, integration with enterprise systems, app configuration and customization, and the distribution options available to you. This session is not just for enterprise developers, but for all developers looking to extend their reach and get their apps in the hands of business professionals, educators, and students worldwide.","tags":[],"title":"Extending Your Apps for Enterprise and Education Use","url":"\/documentation\/wwdc13-301-extending-your-apps-for-enterprise-and-education-use\/"},{"category":"","section":"documentation","slug":"wwdc13-300-managing-apple-devices","summary":"Learn about an exciting new approach to managing Apple devices in an enterprise environment. Learn how MDM can be used to wirelessly configure settings, monitor compliance with policies, install apps, and remotely wipe devices, and how these capabilities can be integrated with in-house or third-party server solutions.","tags":[],"title":"Managing Apple Devices","url":"\/documentation\/wwdc13-300-managing-apple-devices\/"},{"category":"","section":"documentation","slug":"wwdc13-228-hidden-gems-in-cocoa-and-cocoa-touch","summary":"Learn from the experts about the Cocoa and Cocoa Touch classes you may not even know exist, as well as some very obscure but extremely valuable classes that are favorites of the presenters.","tags":[],"title":"Hidden Gems in Cocoa and Cocoa Touch","url":"\/documentation\/wwdc13-228-hidden-gems-in-cocoa-and-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc13-227-solutions-to-common-date-and-time-challenges","summary":"Working with dates and times can be tricky and yet it’s vital that they’re handled correctly. Simple date calculations can be surprisingly challenging and getting the calculations right in every case isn’t easy. Hear about new APIs that simplify common operations and best practices for handling common tasks correctly.","tags":[],"title":"Solutions to Common Date and Time Challenges","url":"\/documentation\/wwdc13-227-solutions-to-common-date-and-time-challenges\/"},{"category":"","section":"documentation","slug":"wwdc13-226-implementing-engaging-ui-on-ios","summary":"Users expect interesting animations and responsive interactions. Learn how to achieve this by making view controller transitions smooth, optimizing performance when using images, and harnessing customization APIs alongside new iOS 7 features.","tags":[],"title":"Implementing Engaging UI on iOS","url":"\/documentation\/wwdc13-226-implementing-engaging-ui-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc13-225-best-practices-for-great-ios-ui-design","summary":"Designing a great user interface for your iOS app requires tremendous care, creativity, continual iteration, and a solid understanding of platform conventions and UI design best practices. Learn techniques to avoid common UI pitfalls and gain key insights into what it takes to create an app that is intuitive and beautiful.","tags":[],"title":"Best Practices for Great iOS UI Design","url":"\/documentation\/wwdc13-225-best-practices-for-great-ios-ui-design\/"},{"category":"","section":"documentation","slug":"wwdc13-224-designing-code-for-performance","summary":"Effective use of the right data structures can make a big difference in the responsiveness of an app. Come learn about the performance characteristics of the Foundation collections, how to select one that best fits your needs, and how to design software to use them efficiently.","tags":[],"title":"Designing Code for Performance","url":"\/documentation\/wwdc13-224-designing-code-for-performance\/"},{"category":"","section":"documentation","slug":"wwdc13-223-using-fonts-with-text-kit","summary":"Choosing the right fonts and using them effectively are key to engaging your users. Gain a practical understanding of how fonts work in Text Kit, learn best practices for using system-provided and bundled fonts, and discover how to give users more control over their content with text styles.","tags":[],"title":"Using Fonts with Text Kit","url":"\/documentation\/wwdc13-223-using-fonts-with-text-kit\/"},{"category":"","section":"documentation","slug":"wwdc13-222-whats-new-in-state-restoration","summary":"State Restoration makes for a seamless experience when people returns to your app. Find out what’s new in State Restoration and learn about new capabilities in iOS 7 to restore model objects, system view controllers, and discover techniques to transition smoothly when views may have changed while people have been using other apps.","tags":[],"title":"What’s New in State Restoration","url":"\/documentation\/wwdc13-222-whats-new-in-state-restoration\/"},{"category":"","section":"documentation","slug":"wwdc13-221-advanced-techniques-with-uikit-dynamics","summary":"Go beyond the basics to learn how to combine dynamic behaviors to create rich interactions. Discover how to apply dynamics to view controllers, collection views, and your own view subclasses to create engaging layouts and transitions. Learn best practices to keep your app responsive and performing well.","tags":[],"title":"Advanced Techniques with UIKit Dynamics","url":"\/documentation\/wwdc13-221-advanced-techniques-with-uikit-dynamics\/"},{"category":"","section":"documentation","slug":"wwdc13-220-advanced-text-layouts-and-effects-with-text-kit","summary":"Move beyond the basics and unlock the full power of Text Kit for advanced text handling in your apps. Understand how to use hit detection and pixel-perfect layout information for responding to user touches. Discover new text effects, including a sophisticated letterpress look, and dive deeper into the mechanics of Text Kit for displaying multi-page documents and custom layouts.","tags":[],"title":"Advanced Text Layouts and Effects with Text Kit","url":"\/documentation\/wwdc13-220-advanced-text-layouts-and-effects-with-text-kit\/"},{"category":"","section":"documentation","slug":"wwdc13-219-making-your-app-worldready","summary":"Making your app support users in multiple countries and languages is easy with the built-in power of iOS and OS X. Walk through the basics of internationalization and localization, gain insight into common pitfalls, and learn best practices when targeting an international audience.","tags":[],"title":"Making Your App World-Ready","url":"\/documentation\/wwdc13-219-making-your-app-worldready\/"},{"category":"","section":"documentation","slug":"wwdc13-218-custom-transitions-using-view-controllers","summary":"View controllers now allow you to create custom transitions, giving you expanded control over your user interface. Learn how to take advantage of custom transitions by using powerful new animation APIs, explore changes with full screen layouts, and see how to use navigation controllers with collection views to create a truly immersive experience.","tags":[],"title":"Custom Transitions Using View Controllers","url":"\/documentation\/wwdc13-218-custom-transitions-using-view-controllers\/"},{"category":"","section":"documentation","slug":"wwdc13-217-exploring-scroll-views-on-ios-7","summary":"UIScrollView is an important building block for constructing iOS interfaces. Join us for a tour of how scroll views are used in new and interesting ways across iOS 7 to create stunning interactions. Learn tips and tricks for using scroll views to create immersive effects in your apps.","tags":[],"title":"Exploring Scroll Views on iOS 7","url":"\/documentation\/wwdc13-217-exploring-scroll-views-on-ios-7\/"},{"category":"","section":"documentation","slug":"wwdc13-216-bringing-your-ios-apps-to-os-x","summary":"Learn how to leverage your existing iOS codebase to bring applications to the Mac. UIKit on iOS and AppKit on the Mac share a common heritage and many similarities. Below both of them, sit many frameworks that are shared. Learn design patterns that will make the conversion easier, discover tips and tricks of the conversion process, and explore Mac-only technologies that are important to include.","tags":[],"title":"Bringing Your iOS Apps to OS X","url":"\/documentation\/wwdc13-216-bringing-your-ios-apps-to-os-x\/"},{"category":"","section":"documentation","slug":"wwdc13-215-optimizing-drawing-and-scrolling-on-os-x","summary":"Creating a responsive app requires fast drawing and smooth scrolling. Discover techniques to optimize drawing, find out best practices for handling layers, and learn how to combine those techniques with new features to achieve smooth scrolling.","tags":[],"title":"Optimizing Drawing and Scrolling on OS X","url":"\/documentation\/wwdc13-215-optimizing-drawing-and-scrolling-on-os-x\/"},{"category":"","section":"documentation","slug":"wwdc13-214-customizing-your-apps-appearance-for-ios-7","summary":"UIKit provides powerful customization capabilities for iOS views and controls. Learn how to customize the look and feel of your app to embrace the new UI of iOS 7 and see how to effectively use tinting and images to create an immersive, high quality user experience.","tags":[],"title":"Customizing Your App’s Appearance for iOS 7","url":"\/documentation\/wwdc13-214-customizing-your-apps-appearance-for-ios-7\/"},{"category":"","section":"documentation","slug":"wwdc13-213-best-practices-for-cocoa-animation","summary":"Smooth animations and great performance are key to developing a state of the art app. Learn best practices when using animations with Auto Layout, see unique animations in OS X and understand how to create similar effects in your apps, and gain insight into common pitfalls.","tags":[],"title":"Best Practices for Cocoa Animation","url":"\/documentation\/wwdc13-213-best-practices-for-cocoa-animation\/"},{"category":"","section":"documentation","slug":"wwdc13-211-core-data-performance-optimization-and-debugging","summary":"Learn strategies to squeeze the best performance from Core Data, including concurrency, advanced fetch request options, text searching, and object model design considerations. Master Instruments to find out how to see what is really going on behind the scenes.","tags":[],"title":"Core Data Performance Optimization and Debugging","url":"\/documentation\/wwdc13-211-core-data-performance-optimization-and-debugging\/"},{"category":"","section":"documentation","slug":"wwdc13-210-introducing-text-kit","summary":"Text Kit is the powerful new text engine and API in iOS 7, providing sophisticated text handling and typesetting capabilities. Learn about Text Kit and how easy it can be to manipulate text on the fly, adjust text attributes, and apply the power of Core Text with fewer lines of code.","tags":[],"title":"Introducing Text Kit","url":"\/documentation\/wwdc13-210-introducing-text-kit\/"},{"category":"","section":"documentation","slug":"wwdc13-209-improving-power-efficiency-with-app-nap","summary":"Improved battery life and system responsiveness are important features in OS X 10.9. Learn how App Nap helps your application become a good power citizen. This session will dive into the details of how App Nap works, explore the API to tell the system when your application has important work to be done, and learn techniques using Xcode and other tools to pinpoint high power usage.","tags":[],"title":"Improving Power Efficiency with App Nap","url":"\/documentation\/wwdc13-209-improving-power-efficiency-with-app-nap\/"},{"category":"","section":"documentation","slug":"wwdc13-208-whats-new-in-ios-user-interface-design","summary":"Join us for an in-depth tour of the stunning and completely re-imagined iOS 7. See how the principles that guided the new design made our apps more useful, simple and beautiful. Learn how you can take advantage of iOS 7 to create a deeper and more engaging user experience.","tags":[],"title":"What’s New in iOS User Interface Design","url":"\/documentation\/wwdc13-208-whats-new-in-ios-user-interface-design\/"},{"category":"","section":"documentation","slug":"wwdc13-207-whats-new-in-core-data-and-icloud","summary":"Core Data is a powerful way for your app to store data locally or in iCloud. Learn about the latest advancements in Core Data for iOS, OS X, and iCloud. We’ll examine changes to Core Data’s use of SQLite and discuss improvements for iCloud at length.","tags":[],"title":"What’s New in Core Data and iCloud","url":"\/documentation\/wwdc13-207-whats-new-in-core-data-and-icloud\/"},{"category":"","section":"documentation","slug":"wwdc13-206-getting-started-with-uikit-dynamics","summary":"UIKit Dynamics makes it easy to create animated view interactions and transitions to delight your users. Discover how animators and behaviors work by learning how to add subtle and meaningful dynamics to your app, making it stand out on the App Store.","tags":[],"title":"Getting Started with UIKit Dynamics","url":"\/documentation\/wwdc13-206-getting-started-with-uikit-dynamics\/"},{"category":"","section":"documentation","slug":"wwdc13-205-whats-new-in-cocoa","summary":"Cocoa is a powerful set of frameworks on which OS X is built. Gain an overview of the advances in AppKit, Foundation, and related frameworks. Find out what technologies you need to focus on and what techniques you should adopt to develop state of the art apps for OS X.","tags":[],"title":"What’s New in Cocoa","url":"\/documentation\/wwdc13-205-whats-new-in-cocoa\/"},{"category":"","section":"documentation","slug":"wwdc13-204-whats-new-with-multitasking","summary":"It’s critical to keep people’s content as up to date as possible. Learn how new APIs in iOS 7 will let your applications fetch new data in the background to keep people up to date. See techniques you can use to perform operations in the background without draining the user’s battery. Understand how you can keep your app’s snapshot up to date so users see the latest content in the new multitasking interface in iOS 7. All these techniques will let you build an app that feels alive and always up to date.","tags":[],"title":"What’s New with Multitasking","url":"\/documentation\/wwdc13-204-whats-new-with-multitasking\/"},{"category":"","section":"documentation","slug":"wwdc13-203-whats-new-in-cocoa-touch","summary":"iOS 7 introduces many enhancements made to the Cocoa Touch frameworks that will accelerate your development time and improve your app’s user experience. Get an overview of the changes to UIKit and other system frameworks, and find out which sessions you won’t want to miss.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc13-203-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc13-202-accessibility-in-ios","summary":"iOS offers unmatched accessibility support that you can use to reach a wider audience. Hear about the latest changes in GuidedAccess and VoiceOver and how you can take advantage of these technologies to help people with disabilities stay on task and get more value out of your app.","tags":[],"title":"Accessibility in iOS","url":"\/documentation\/wwdc13-202-accessibility-in-ios\/"},{"category":"","section":"documentation","slug":"wwdc13-201-building-user-interfaces-for-ios-7","summary":"Learn how UIKit has changed to create iOS 7’s new UI, both conceptually and practically. Join us in considering new approaches to your app’s design based on these principles and explore your newly expanded toolbox so you can bring those designs to life.","tags":[],"title":"Building User Interfaces for iOS 7","url":"\/documentation\/wwdc13-201-building-user-interfaces-for-ios-7\/"},{"category":"","section":"documentation","slug":"wwdc13-200-accessibility-in-os-x","summary":"Leveraging the industry-leading support for accessibility in OS X can let you reach new markets. Hear about exciting new products, new API additions and improved security for both accessibility hosts and clients; all designed to help applications reach wider audiences and provide unparalleled access for users with disabilities. Learn techniques to make even the most custom UI accessible.","tags":[],"title":"Accessibility in OS X","url":"\/documentation\/wwdc13-200-accessibility-in-os-x\/"},{"category":"","section":"documentation","slug":"wwdc13-109-painting-the-future","summary":"Be among the first to see the unveiling of MARI on OS X, the supercharged 3D painting package coming to the Mac later this year, running on the next generation Mac Pro.  Jack Greasley, The Foundry’s MARI Product Manager, will chart MARI’s rapid rise from in-house studio tool to the film industry’s painting tool of choice.  He will detail MARI’s evolution, from its original conception during Weta Digital’s visual effects work on Avatar to becoming a critical element in making countless blockbusters a reality.  Then watch as Pixar character shading artist, Jonathan Hoffman, makes full use of the power of the next generation Mac Pro to demonstrate how MARI was used to help bring Monsters University to life.","tags":[],"title":"Painting the Future","url":"\/documentation\/wwdc13-109-painting-the-future\/"},{"category":"","section":"documentation","slug":"wwdc13-101-platforms-state-of-the-union","summary":"WWDC 2013 Platforms State of the Union","tags":[],"title":"Platforms State of the Union","url":"\/documentation\/wwdc13-101-platforms-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc13-100-keynote","summary":"WWDC 2013 Keynote","tags":[],"title":"Keynote","url":"\/documentation\/wwdc13-100-keynote\/"},{"category":"","section":"documentation","slug":"wwdc13","summary":"Xcode 5, iOS 7, macOS 10.9 (Mavericks).","tags":[],"title":"WWDC13","url":"\/documentation\/wwdc13\/"},{"category":"","section":"documentation","slug":"wwdc12-714-protecting-the-users-data","summary":"Learn about \"real world\" threats to users’ data on OS X and iOS. See practical demonstrations of how users’ data can be attacked both on the device and over the network, and find out how to defend against these threats in your app.","tags":[],"title":"Protecting the User’s Data","url":"\/documentation\/wwdc12-714-protecting-the-users-data\/"},{"category":"","section":"documentation","slug":"wwdc12-712-asynchronous-design-patterns-with-blocks-gcd-and-xpc","summary":"Blocks, Grand Central Dispatch, and XPC form a powerful foundation for asynchronous processing and communication in your app. Dive into the basics around blocks, GCD, and XPC and learn about their improved integration with ARC. Discover the common design patterns used when writing asynchronous code to offload work from your main thread, perform IO in the background or send messages to other processes, and how to apply these same patterns to your own code.","tags":[],"title":"Asynchronous Design Patterns with Blocks, GCD, and XPC","url":"\/documentation\/wwdc12-712-asynchronous-design-patterns-with-blocks-gcd-and-xpc\/"},{"category":"","section":"documentation","slug":"wwdc12-711-power-management","summary":"Mountain Lion includes several new power management behaviors that may affect the efficiency of your apps. Learn how to optimize your code for power use, how your code can influence system behavior, how to debug sleep\/wake issues, and use existing tools to spot energy leaks.","tags":[],"title":"Power Management","url":"\/documentation\/wwdc12-711-power-management\/"},{"category":"","section":"documentation","slug":"wwdc12-710-privacy-support-in-ios-and-os-x","summary":"Learn about new iOS and OS X privacy features and get details on new and updated APIs. Hear best practices for delivering great features and respecting your customers’ privacy.","tags":[],"title":"Privacy Support in iOS and OS X","url":"\/documentation\/wwdc12-710-privacy-support-in-ios-and-os-x\/"},{"category":"","section":"documentation","slug":"wwdc12-709-whats-new-in-the-filesystem","summary":"Learn about recent changes to the OS X filesystem and find out what you need to know about FileVault 2, CoreStorage, extended attributes, and ExFAT. Hear about new APIs as well as which APIs are deprecated and understand how to use the filesystem APIs to optimize your code.","tags":[],"title":"What’s New In The Filesystem","url":"\/documentation\/wwdc12-709-whats-new-in-the-filesystem\/"},{"category":"","section":"documentation","slug":"wwdc12-708-the-accelerate-framework","summary":"The Accelerate framework contains signal and image processing, matrix and linear algebra computation, and now an optimized array-based math library for iOS. Find out how you can use the Accelerate framework to achieve dramatic improvements in performance and energy consumption.","tags":[],"title":"The Accelerate Framework","url":"\/documentation\/wwdc12-708-the-accelerate-framework\/"},{"category":"","section":"documentation","slug":"wwdc12-707-simplify-networking-with-bonjour","summary":"Learn how your network applications and services on iOS, OS X and other platforms can use Bonjour to simplify your user experience. Bonjour, also known as zero-configuration networking, is used by a wide range of products and applications for streamlined and reliable networking to easily publish, discover, and resolve network services.","tags":[],"title":"Simplify Networking with Bonjour","url":"\/documentation\/wwdc12-707-simplify-networking-with-bonjour\/"},{"category":"","section":"documentation","slug":"wwdc12-706-networking-best-practices","summary":"iOS and OS X both provide a number of abstractions to simplify and demystify networking and its inherent complexity. This session covers these abstractions in detailâ€”from a TCP connection to NSURLConnectionâ€”and explains best design practices to tune for performance and power.","tags":[],"title":"Networking Best Practices","url":"\/documentation\/wwdc12-706-networking-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc12-705-advanced-core-bluetooth","summary":"In addition to providing services to iOS devices, Bluetooth LE peripherals can also use services provided by iOS devices. Learn how to advertise Bluetooth LE services in your iOS apps.","tags":[],"title":"Advanced Core Bluetooth","url":"\/documentation\/wwdc12-705-advanced-core-bluetooth\/"},{"category":"","section":"documentation","slug":"wwdc12-704-the-security-framework","summary":"This session covers the Security framework technologies on both OS X and iOS. Learn about the Keychain, Secure Transport, certificate evaluation, crypto, and how apps can utilize these technologies.","tags":[],"title":"The Security Framework","url":"\/documentation\/wwdc12-704-the-security-framework\/"},{"category":"","section":"documentation","slug":"wwdc12-703-core-bluetooth-101","summary":"The CoreBluetooth framework lets your iOS applications communicate with Bluetooth Low Energy devices over a personal area network (PAN). Learn about the Bluetooth LE technology and the APIs we provide for designing apps that connect to a Bluetooth LE peripheral and read, write, and request notification of changes to the characteristics of the peripheral.","tags":[],"title":"Core Bluetooth 101","url":"\/documentation\/wwdc12-703-core-bluetooth-101\/"},{"category":"","section":"documentation","slug":"wwdc12-702-gatekeeper-and-developer-id","summary":"Gatekeeper is a new security feature of Mountain Lion that helps give users greater assurance when they download software from places other than the Mac App Store. As part of the Mac Developer Program, Apple gives you a unique Developer ID for signing your software. Learn how to use this ID for signing your apps and packages, and how Gatekeeper uses these signatures to verify that a downloaded app is not known malware and that it hasn’t been tampered with.","tags":[],"title":"Gatekeeper and Developer ID","url":"\/documentation\/wwdc12-702-gatekeeper-and-developer-id\/"},{"category":"","section":"documentation","slug":"wwdc12-701-ios-accessories","summary":"iOS provides several services in which apps can interact with accessories and devices. Learn how to design accessories that deliver the best possible experience for iPhone, iPad and iPod. Learn about new wired and wireless technologies on iOS.","tags":[],"title":"iOS Accessories","url":"\/documentation\/wwdc12-701-ios-accessories\/"},{"category":"","section":"documentation","slug":"wwdc12-700-the-os-x-app-sandbox","summary":"Discover how you can use App Sandbox to protect your app’s users from unintentional bugs or deliberate attempts to compromise security. Understand sandboxing’s security goals, how applications and their data are isolated from each other, and how to express the resources your application needs. Learn about new App Sandbox features in Mountain Lion and how to adopt them for your app to meet the Mac App Store Guidelines.","tags":[],"title":"The OS X App Sandbox","url":"\/documentation\/wwdc12-700-the-os-x-app-sandbox\/"},{"category":"","section":"documentation","slug":"wwdc12-605-producing-rich-media-advertisements-for-iad","summary":"Learn to create immersive, interactive, rich media ads for iAd that deliver a unique customer experience on iOS. Get an overview of iAd Producer, a drag-and-drop authoring tool that makes it easy to create visually stunning ads without writing a single line of code. Dive deep into the iAd JS JavaScript framework and learn how it can be used within iAd Producer to add custom functionality or to independently create a stunning ad from the ground up. Gain insight into the entire ad production process including debugging, testing, and best practices for optimized performance.","tags":[],"title":"Producing Rich Media Advertisements for iAd","url":"\/documentation\/wwdc12-605-producing-rich-media-advertisements-for-iad\/"},{"category":"","section":"documentation","slug":"wwdc12-604-advanced-effects-with-html5-media-technologies","summary":"Go beyond play, pause, and seek. Come and see how the latest HTML5 audio and video technologies can enrich the web content in your website, app, or book. Discover the Web Audio API to process and synthesize audio, find out how to synchronize the playback of several pieces of media, get tips for combining your media with CSS effects, and more.","tags":[],"title":"Advanced Effects with HTML5 Media Technologies","url":"\/documentation\/wwdc12-604-advanced-effects-with-html5-media-technologies\/"},{"category":"","section":"documentation","slug":"wwdc12-603-tools-services-and-apis-for-itunes-affiliate-program-marketing","summary":"The iTunes affiliate program offers a number of powerful tools which you can use to add rich media and promotional links within your app or on the web. Start with an overview of the iTunes affiliate program and see how simple it is to get started linking to iTunes content. Dive deeper and learn how to use the advanced APIs and Services like Search, EPF, LinkMaker, and Web iMix to quickly and easily link to relevant content from the iTunes store.","tags":[],"title":"Tools, Services, and APIs for iTunes Affiliate Program Marketing","url":"\/documentation\/wwdc12-603-tools-services-and-apis-for-itunes-affiliate-program-marketing\/"},{"category":"","section":"documentation","slug":"wwdc12-602-delivering-web-content-on-high-resolution-displays","summary":"Your web content should always look sharp, regardless of the display it is viewed on. Come and see how to deliver pixel-perfect web interfaces on high resolution displays for books, websites, and apps on iOS and OS X. Learn different ways to fetch and display high-resolution image assets only when they’re needed and see how to use technologies like CSS and SVG to create scalable graphics that can replace traditional images. Discover advantages of different optimization techniques and gain a deeper understanding of the right approach for your web content.","tags":[],"title":"Delivering Web Content on High Resolution Displays","url":"\/documentation\/wwdc12-602-delivering-web-content-on-high-resolution-displays\/"},{"category":"","section":"documentation","slug":"wwdc12-601-optimizing-web-content-in-uiwebviews-and-websites-on-ios","summary":"Learn the best practices for enhancing the functionality and performance of your web content on iOS, whether it is in a website or native app. Gain proficiency with the remote Web Inspector, see how to reduce the overall memory footprint of your web content, and dive deep into the details of WebKit drawing and compositing to ensure that scrolling and animations are always smooth. Discover new features in iOS 6 that allow for tighter integration between apps and websites, enabling deep linking to content within an already-installed app or letting users purchase an app with just a few taps.","tags":[],"title":"Optimizing Web Content in UIWebViews and Websites on iOS","url":"\/documentation\/wwdc12-601-optimizing-web-content-in-uiwebviews-and-websites-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-600-debugging-uiwebviews-and-websites-on-ios","summary":"The Web Inspector from Safari on OS X is now available for websites and UIWebViews on iOS, and it has a sleek new interface. See how to connect the Web Inspector to your iPhone or iPad to develop, debug, profile, and optimize the web content on your site or in your native app. Get an overview of what the Web Inspector can do, discover new features, and learn best practices to utilize this set of tools efficiently.","tags":[],"title":"Debugging UIWebViews and Websites on iOS","url":"\/documentation\/wwdc12-600-debugging-uiwebviews-and-websites-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-524-understanding-core-motion","summary":"Core Motion fuses data from built-in sensors to determine precisely how your iOS device is oriented and moving in 3D space. Walk through the features and capabilities of Core Motion to understand common use cases and recommended best practices. See how you can create incredibly immersive experiences for games, augmented reality, and much more.","tags":[],"title":"Understanding Core Motion","url":"\/documentation\/wwdc12-524-understanding-core-motion\/"},{"category":"","section":"documentation","slug":"wwdc12-523-best-practices-for-color-management","summary":"OS X uses advanced standards-based color management techniques to ensure that images, graphics, and video always look great on screen and on paper. See how ColorSync, Quartz, and AV Foundation can automatically color match digital media in your application. Learn color management best practices.","tags":[],"title":"Best Practices for Color Management","url":"\/documentation\/wwdc12-523-best-practices-for-color-management\/"},{"category":"","section":"documentation","slug":"wwdc12-522-adopting-opencl-in-your-application","summary":"OpenCL dramatically accelerates computationally intensive tasks by letting your application tap into the vast computing power of modern GPUs and multicore CPUs. Understand the OpenCL architecture and get all the details about OpenCL features in OS X Mountain Lion. See how auto-vectorization makes it easy for more apps to adopt OpenCL and gain specific insight into tuning your code for optimum performance.","tags":[],"title":"Adopting OpenCL in Your Application","url":"\/documentation\/wwdc12-522-adopting-opencl-in-your-application\/"},{"category":"","section":"documentation","slug":"wwdc12-521-building-game-center-games-for-os-x","summary":"Game Center on OS X enables Mac users to compete with friends and fellow game players around the world, sharing the same social gaming network with iOS. Get a course of action for bringing Game Center games to OS X Mountain Lion and learn the best strategies for developing games that target both iOS and OS X.","tags":[],"title":"Building Game Center Games for OS X","url":"\/documentation\/wwdc12-521-building-game-center-games-for-os-x\/"},{"category":"","section":"documentation","slug":"wwdc12-520-whats-new-in-camera-capture","summary":"AV Foundation provides your application with full programmatic access to video and still images from the built-in cameras. Hear about improvements that simplify and speed up your applications. Learn key practices for debugging performance issues, correlating frames with camera motion, and the proper use of AVCaptureSession.","tags":[],"title":"What’s New in Camera Capture","url":"\/documentation\/wwdc12-520-whats-new-in-camera-capture\/"},{"category":"","section":"documentation","slug":"wwdc12-519-multiplayer-gaming-with-game-center","summary":"Multiplayer games provide the ultimate challenge and have created one of the most compelling genres in the App Store. See how Game Center is taking gaming on iOS a step further with the addition of local multiplayer support. Learn about improvements to the turn-based and online multiplayer APIs and new capabilities for sending invites and having a re-match.","tags":[],"title":"Multiplayer Gaming with Game Center","url":"\/documentation\/wwdc12-519-multiplayer-gaming-with-game-center\/"},{"category":"","section":"documentation","slug":"wwdc12-518-improving-accessibility-in-books","summary":"Books are for everyone. Get an overview of the accessibility concerns facing readers on iOS and learn which components of your book can automatically leverage built-in accessibility features such as VoiceOver. Learn how to enhance rich media such as images or video for readers with visual impairments and explore how to improve the accessibility of custom HTML widgets with WAI-ARIA roles and attributes.","tags":[],"title":"Improving Accessibility in Books","url":"\/documentation\/wwdc12-518-improving-accessibility-in-books\/"},{"category":"","section":"documentation","slug":"wwdc12-517-realtime-media-effects-and-processing-during-playback","summary":"Learn new ways to customize media playback using AV Foundation in both OS X and iOS. Explore how to synchronize video media with audio synthesis, achieve realtime audio processing from audiovisual media, and integrate AV Foundation’s hardware accelerated media decode and display with your own custom media transport. Learn how to perform realtime video effects processing and how to use video media to texture 3D OpenGL environments.","tags":[],"title":"Real-Time Media Effects and Processing during Playback","url":"\/documentation\/wwdc12-517-realtime-media-effects-and-processing-during-playback\/"},{"category":"","section":"documentation","slug":"wwdc12-516-integrating-your-games-with-game-center","summary":"Competition and reward is central to the social gaming experience. See how to adopt Game Center in your games and learn how easily you can integrate leaderboards and achievements. Dive deeper into challenges to enhance competition among friends in any game. Explore the details of game groups and see exactly how to share Game Center data between related games â€” free and paid, standard and HD, iOS and OS X.","tags":[],"title":"Integrating Your Games with Game Center","url":"\/documentation\/wwdc12-516-integrating-your-games-with-game-center\/"},{"category":"","section":"documentation","slug":"wwdc12-515-html-css-and-dom-for-book-authors","summary":"If you want to bring your creativity, passion, and technical expertise to the iBookstore, it may seem like there’s a vast array of web technologies to master. Gain a solid understanding of the HTML, CSS, and DOM technologies that are most relevant to book development, whether you’re creating a book with EPUB or building a custom widget for iBooks Author. See how to create beautiful text that is always laid out perfectly, gain a deep understanding of CSS positioning to create exceptional fixed-layout books, find out how to enrich your content with CSS animations, and learn which DOM operations are critical to adding enhancements with ease.","tags":[],"title":"HTML, CSS, and DOM for Book Authors","url":"\/documentation\/wwdc12-515-html-css-and-dom-for-book-authors\/"},{"category":"","section":"documentation","slug":"wwdc12-514-opengl-es-tools-and-techniques","summary":"The iOS SDK includes powerful tools for analyzing the behavior and optimizing the performance of OpenGL ES apps. Learn key practices to identify bottlenecks, find rendering errors, tune performance hot-spots, and maintain high frame rates. See how the tools can pinpoint problems for you and even provide specific advice for the best way to correct them.","tags":[],"title":"OpenGL ES Tools and Techniques","url":"\/documentation\/wwdc12-514-opengl-es-tools-and-techniques\/"},{"category":"","section":"documentation","slug":"wwdc12-513-advances-in-opengl-and-opengl-es","summary":"OpenGL and OpenGL ES are the foundation for hardware-accelerated graphics in OS X and iOS. Find out how to harness innovations in iOS 6 for fast geometry updates, streaming textures, and advanced blending. Learn about the GLKit framework and see how your apps can leverage its built-in features and effects. Understand how to update your apps for high-resolution displays on both iOS and OS X, and hear specific tips and best practices to follow in your apps.","tags":[],"title":"Advances in OpenGL and OpenGL ES","url":"\/documentation\/wwdc12-513-advances-in-opengl-and-opengl-es\/"},{"category":"","section":"documentation","slug":"wwdc12-512-whats-new-in-http-live-streaming","summary":"HTTP live streaming lets you send live or pre-recorded audio and video to iPad, iPhone, iPod touch, and Mac using an ordinary web server. Learn how to add subtitles to your HTTP live streams. Get details about other new features and learn more best practices around HTTP live streams.","tags":[],"title":"What’s New in HTTP Live Streaming","url":"\/documentation\/wwdc12-512-whats-new-in-http-live-streaming\/"},{"category":"","section":"documentation","slug":"wwdc12-511-core-image-techniques","summary":"Dive deep into the integration of Core Image with related graphics, media, and game technologies in iOS. See how to take advantage of the optimized pipeline from AV Foundation to Core Image and discover how Core Image can provide stunning visual effects in OpenGL ES games.","tags":[],"title":"Core Image Techniques","url":"\/documentation\/wwdc12-511-core-image-techniques\/"},{"category":"","section":"documentation","slug":"wwdc12-510-getting-started-with-core-image","summary":"Core Image lets you create incredible visual effects in your photo and video apps on iOS and OS X. Get introduced to the capabilities of Core Image and the sophisticated effects you can build using built-in filters. Learn recommended practices for using Core Image efficiently and see how to harness its powerful features.","tags":[],"title":"Getting Started with Core Image","url":"\/documentation\/wwdc12-510-getting-started-with-core-image\/"},{"category":"","section":"documentation","slug":"wwdc12-509-building-interactive-books-with-epub-3-and-javascript","summary":"See how to combine EPUB with HTML, CSS, and JavaScript to deliver novels, picture books, and interactive books on the iBookstore. Get a quick review of the new EPUB 3 format, then dive deep into the latest features that let you add interactivity to your book by using JavaScript. See how to create fun and engaging books that support drag, toggle, and stamp, and learn to play sounds and activate animations at key times. Understand best practices for developing your scripts, get tips for improving performance, and discover tools that will streamline your interactive EPUB book development.","tags":[],"title":"Building Interactive Books with EPUB 3 and JavaScript","url":"\/documentation\/wwdc12-509-building-interactive-books-with-epub-3-and-javascript\/"},{"category":"","section":"documentation","slug":"wwdc12-508-whats-new-in-game-center","summary":"iOS and OS X games can take advantage of Game Center, Apple’s social gaming network. Get an overview of Game Center support for OS X Mountain Lion and learn all about new features in iOS 6. Learn how game groups enable related games to play together and share scores and achievements. See enhancements to the Game Center user interface, discover new capabilities for adding more friends, and tap into the competitive back-and-forth of challenges.","tags":[],"title":"What’s New in Game Center","url":"\/documentation\/wwdc12-508-whats-new-in-game-center\/"},{"category":"","section":"documentation","slug":"wwdc12-506-optimizing-2d-graphics-and-animation-performance","summary":"Quartz 2D and Core Animation provide professional-strength graphics features and the layer-based animation system that powers the user experience of iOS and OS X. Walk through the process of optimizing a drawing app to take advantage of the Retina display while maintaining peak performance. Learn about enhancements that accelerate Quartz 2D and enable efficient screen capture.","tags":[],"title":"Optimizing 2D Graphics and Animation Performance","url":"\/documentation\/wwdc12-506-optimizing-2d-graphics-and-animation-performance\/"},{"category":"","section":"documentation","slug":"wwdc12-505-audio-session-and-multiroute-audio-in-ios","summary":"iOS provides a powerful engine for playing, recording, and processing audio in your applications for iPhone, iPad, or iPod touch. Learn how to deliver multiple streams of audio from your application. Gain a thorough understanding of the new capabilities in audio session management.","tags":[],"title":"Audio Session and Multiroute Audio in iOS","url":"\/documentation\/wwdc12-505-audio-session-and-multiroute-audio-in-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-504-introducing-scene-kit","summary":"OS X Mountain Lion introduces Scene Kit, a high-level graphics framework enabling your apps to efficiently load, manipulate, and render 3D scenes. Gain an understanding of the Scene Kit architecture and see how easily its capabilities can be applied to a variety of application genres. Learn the objects that define the 3D scene, see how to apply animation, and discover how to use Scene Kit with related OS X technologies such as AppKit, Core Animation, and OpenGL.","tags":[],"title":"Introducing Scene Kit","url":"\/documentation\/wwdc12-504-introducing-scene-kit\/"},{"category":"","section":"documentation","slug":"wwdc12-503-building-books-with-ibooks-author","summary":"iBooks Author lets you use a drag-and-drop interface to create rich and immersive books for the iBookstore. Discover best practices for book design and asset preparation, and learn how to use the iBooks Author interface efficiently to develop your book. See how to enhance your book with rich media such as audio, video, and animations. Find out how to incorporate advanced interactive components such as web widgets and 3D models, and get tips for testing your book before submitting it to the iBookstore.","tags":[],"title":"Building Books with iBooks Author","url":"\/documentation\/wwdc12-503-building-books-with-ibooks-author\/"},{"category":"","section":"documentation","slug":"wwdc12-502-effective-http-live-streaming","summary":"Designed for mobility, HTTP live streaming dynamically adjusts playback quality to match the available speed of wired or wireless networks. Gain a practical understanding of how HTTP live streams are made. Learn best practices for constructing and testing your HTTP live streams.","tags":[],"title":"Effective HTTP Live Streaming","url":"\/documentation\/wwdc12-502-effective-http-live-streaming\/"},{"category":"","section":"documentation","slug":"wwdc12-501-publishing-with-the-ibookstore","summary":"With stores in more than 32 countries and support for several different types of book content, the iBookstore provides a unique opportunity for anyone who has a story to tell. See how to sign up as a bookseller on the iBookstore, and get an overview of the tools and technologies available to create books. Gain a deep understanding of the book delivery process and master the tools needed to submit and manage your book, such as iTunes Connect for booksellers and iTunes Producer. Discover best practices for delivering a high-quality book, learn to avoid common pitfalls of book delivery, get tips for growing your business in the iBookstore, and learn about Apple resources that are available to help.","tags":[],"title":"Publishing with the iBookstore","url":"\/documentation\/wwdc12-501-publishing-with-the-ibookstore\/"},{"category":"","section":"documentation","slug":"wwdc12-500-game-technologies-kickoff","summary":"iOS and OS X deliver an incredible lineup of technologies for developing cutting-edge games. Join your fellow game developers in kicking off the games sessions of WWDC 2012 and explore the powerful frameworks that enable you to create the most imaginative games possible. Dive into the multiplayer capabilities of Game Center, check out the shared experience of AirPlay, discover the incredible effects of Core Image, and much more.","tags":[],"title":"Game Technologies Kickoff","url":"\/documentation\/wwdc12-500-game-technologies-kickoff\/"},{"category":"","section":"documentation","slug":"wwdc12-415-debugging-with-lldb","summary":"LLDB is the next-generation debugger for OS X and iOS. Get an introduction to using LLDB via the console interface and within Xcode’s graphical debugger. The team that created LLDB will demonstrate the latest features and improvements, helping you track down bugs more efficiently than ever before.","tags":[],"title":"Debugging with LLDB","url":"\/documentation\/wwdc12-415-debugging-with-lldb\/"},{"category":"","section":"documentation","slug":"wwdc12-414-building-archiving-and-submitting-your-app","summary":"Xcode has significantly improved workflows to help you build, package, and prepare your application for distribution. Discover the best practices for handing your iOS and OS X application to beta testers, see how to validate your app bundle and submit it to the App Store, and get ready for Gatekeeper by learning how to sign your Mac application with Developer ID.","tags":[],"title":"Building, Archiving, and Submitting Your App","url":"\/documentation\/wwdc12-414-building-archiving-and-submitting-your-app\/"},{"category":"","section":"documentation","slug":"wwdc12-413-migrating-to-modern-objectivec","summary":"Objective-C has evolved tremendously in recent years. In this tutorial-style session, learn how the latest features in Objective-C work together to dramatically reduce the amount of code you write, while simultaneously creating cleaner, safer, and better structured code.","tags":[],"title":"Migrating to Modern Objective-C","url":"\/documentation\/wwdc12-413-migrating-to-modern-objectivec\/"},{"category":"","section":"documentation","slug":"wwdc12-412-debugging-in-xcode","summary":"Xcode provides a powerful debugging interface and the new state-of-the-art LLDB debugger. Discover how you can better track the value of your variables, better debug multithreaded applications, and find and fix issues faster than ever. Join the Xcode engineering team for an in-depth look at the Xcode debugger and LLDB.","tags":[],"title":"Debugging in Xcode","url":"\/documentation\/wwdc12-412-debugging-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc12-411-source-control-management-in-xcode","summary":"Xcode provides powerful ways to work directly with Git and Subversion repositories. Learn how Xcode’s SCM features can help you work more efficiently with your team, juggle numerous development branches, find and fix bugs, and better understand the history of your code with the Version editor.","tags":[],"title":"Source Control Management in Xcode","url":"\/documentation\/wwdc12-411-source-control-management-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc12-410-whats-new-in-llvm","summary":"The Apple LLVM compiler has evolved at a staggering pace, providing remarkably quick compile times and generating lightning-fast code. Learn about the latest LLVM technologies from improvements in the Static Analyzer, to better performance and optimizations, to the latest advancements in C++ support.","tags":[],"title":"What’s New in LLVM","url":"\/documentation\/wwdc12-410-whats-new-in-llvm\/"},{"category":"","section":"documentation","slug":"wwdc12-409-learning-instruments","summary":"Instruments is Apple’s premiere tool for analyzing the performance of iOS and OS X applications. Watch the experts reveal deep performance issues and explain the collected data. Learn critical skills that will help you find memory leaks, improve network efficiency, and display the smoothest graphics possible. A must-attend session for anyone looking to better use Instruments.","tags":[],"title":"Learning Instruments","url":"\/documentation\/wwdc12-409-learning-instruments\/"},{"category":"","section":"documentation","slug":"wwdc12-408-working-with-schemes-and-projects-in-xcode","summary":"Xcode 4 introduced schemes: a powerful way to control how you build, debug, test, analyze, profile, and deploy your application. Discover how to efficiently test your project, get a greater understanding of the Xcode build system, learn to use static libraries with iOS, and see how to configure your project for maximum productivity.","tags":[],"title":"Working with Schemes and Projects in Xcode","url":"\/documentation\/wwdc12-408-working-with-schemes-and-projects-in-xcode\/"},{"category":"","section":"documentation","slug":"wwdc12-407-adopting-storyboards-in-your-app","summary":"Storyboards in iOS make designing your application much faster and easier. Storyboards allow you to graphically arrange all your application’s views within a single Xcode design canvas, where you can then define the logical flow and even assign transition animations. Learn how to use Storyboards to quickly go from concept to a fully functional iOS application.","tags":[],"title":"Adopting Storyboards in Your App","url":"\/documentation\/wwdc12-407-adopting-storyboards-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc12-406-adopting-automatic-reference-counting","summary":"Automatic Reference Counting (ARC) dramatically simplifies memory management in Objective-C. Learn how to move your project to LLVM and ARC so you can write less code and give your application great performance. A must-attend session for developers of all skill levels, on both OS X and iOS.","tags":[],"title":"Adopting Automatic Reference Counting","url":"\/documentation\/wwdc12-406-adopting-automatic-reference-counting\/"},{"category":"","section":"documentation","slug":"wwdc12-405-modern-objectivec","summary":"Objective-C is the language of choice for building great iOS and OS X apps. Dive deep into the latest advancements in Objective-C, learn how you can write more concise and less error-prone code, and find out about the advancements in Automatic Reference Counting.","tags":[],"title":"Modern Objective-C","url":"\/documentation\/wwdc12-405-modern-objectivec\/"},{"category":"","section":"documentation","slug":"wwdc12-404-building-from-the-command-line-with-xcode","summary":"New features in Xcode make it easier than ever for command line developers to manage powerful build configurations in both Terminal and the Xcode IDE. Discover how to adapt your makefile-based projects to use the latest LLVM compilers, switch effortlessly between installed toolsets, and learn best practices for building from the command line.","tags":[],"title":"Building from the Command Line with Xcode","url":"\/documentation\/wwdc12-404-building-from-the-command-line-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc12-402-working-efficiently-with-xcode","summary":"Xcode delivers a wealth of features to help you be more productive than ever before. Join engineers from the Xcode team as they teach time-saving tips and demonstrate workflows geared toward the power user, to help you work faster and more efficiently.","tags":[],"title":"Working Efficiently with Xcode","url":"\/documentation\/wwdc12-402-working-efficiently-with-xcode\/"},{"category":"","section":"documentation","slug":"wwdc12-400-developer-tools-kickoff","summary":"Xcode is the development environment for creating amazing Mac, iPhone, and iPad applications. Start the week by watching the Xcode and LLVM teams demonstrate the latest features, and enhanced workflows. This session is a great introduction to the many in-depth Developer Tools topics at WWDC 2012 and is a must-attend for all developers.","tags":[],"title":"Developer Tools Kickoff","url":"\/documentation\/wwdc12-400-developer-tools-kickoff\/"},{"category":"","section":"documentation","slug":"wwdc12-311-building-and-distributing-custom-b2b-apps-for-ios","summary":"Custom B2B apps can be built to address a unique business need, integrate with a unique back-office environment, or deliver a custom interface for your business customer. Custom B2B apps can be published privately through iTunes Connect to business customers who are enrolled in the App Store Volume Purchase Program for Business. Learn how Custom B2B apps can be developed for businesses of all sizes and easily distributed to users.","tags":[],"title":"Building and Distributing Custom B2B Apps for iOS","url":"\/documentation\/wwdc12-311-building-and-distributing-custom-b2b-apps-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-309-introducing-passbook-part-2","summary":"Passbook passes can be updated dynamically, ensuring your users always have the most recent information. Building on the basics covered in Introducing Passbook, come to this session to see how you can add new passes and access your application’s passes using the PassKit framework. Learn what you need to do on your server to support updating your passes automatically using push notifications.","tags":[],"title":"Introducing Passbook, Part 2","url":"\/documentation\/wwdc12-309-introducing-passbook-part-2\/"},{"category":"","section":"documentation","slug":"wwdc12-308-managing-subscriptions-with-inapp-purchase","summary":"Selling subscriptions to content and services has never been easier than with In-App Purchase. Understand what each subscription type is, what you can use them for and gain insight into how to best manage your subscriptions in iTunes Connect. Learn from the experts on how making changes to your subscriptions are seen by users and how they affect things like renewals and restoring transactions to devices.","tags":[],"title":"Managing Subscriptions with In-App Purchase","url":"\/documentation\/wwdc12-308-managing-subscriptions-with-inapp-purchase\/"},{"category":"","section":"documentation","slug":"wwdc12-307-building-great-newsstand-apps","summary":"Newsstand is the best way to provide periodical content to iOS users. With automatic background downloading, integration with auto-renewable subscriptions and simple content management users love the apps on their Newsstand shelves. Gain insights into best practices for building a great Newsstand application and learn how to avoid some of the common pitfalls.","tags":[],"title":"Building Great Newsstand Apps","url":"\/documentation\/wwdc12-307-building-great-newsstand-apps\/"},{"category":"","section":"documentation","slug":"wwdc12-306-integrating-with-facebook-twitter-and-sina-weibo","summary":"The new Social framework and sharing features in both iOS and OS X provides integration with Facebook, Twitter, and Sina Weibo. Single Sign On support built into the OS makes it easier than ever to take advantage of APIs provided by these social networks. Learn how to share diverse types of information using the built-in share sheet that supplies an easy to use and consistent interface for the integrated social networking services.","tags":[],"title":"Integrating With Facebook, Twitter and Sina Weibo","url":"\/documentation\/wwdc12-306-integrating-with-facebook-twitter-and-sina-weibo\/"},{"category":"","section":"documentation","slug":"wwdc12-305-whats-new-in-itunes-connect-for-app-developers","summary":"The App Store has over 600,000 applications and they all got there by going through iTunes Connect. Come see what’s new in iTunes Connect and Application Loader for app developers. Get detailed information about new Game Center and In-App Purchase support. Hear tips and tricks to avoid app review issues, learn about updates to iTunes Connect Mobile, and much more.","tags":[],"title":"What’s New in iTunes Connect for App Developers","url":"\/documentation\/wwdc12-305-whats-new-in-itunes-connect-for-app-developers\/"},{"category":"","section":"documentation","slug":"wwdc12-304-events-and-reminders-in-event-kit","summary":"Event Kit provides access to users’ Calendar Events and now allows access to Reminders as well, on both iOS and OS X. Be sure to pencil this session in to hear from the experts on how to fetch and write Calendar Events and Reminders, and how to make the best use of the Event Kit framework.","tags":[],"title":"Events and Reminders in Event Kit","url":"\/documentation\/wwdc12-304-events-and-reminders-in-event-kit\/"},{"category":"","section":"documentation","slug":"wwdc12-303-staying-on-track-with-location-services","summary":"Location Services provides a variety of services to know where you are, where you’re headed, and when you’ve arrived. Come hear details about improvements to the CoreLocation framework in iOS and exciting new additions in OS X. Learn tips to let you get the most out of the framework in a power-efficient and user friendly way.","tags":[],"title":"Staying on Track with Location Services","url":"\/documentation\/wwdc12-303-staying-on-track-with-location-services\/"},{"category":"","section":"documentation","slug":"wwdc12-302-selling-products-with-store-kit","summary":"In-App Purchase has proven to be a tremendous way to sell products, services, and subscriptions directly inside your app. With new support for selling products that are hosted securely by Apple, you have even more options for how to deliver your content to users in a highly scalable fashion. See how you can even sell other products like music, movies, books, and apps without the user even leaving your application.","tags":[],"title":"Selling Products with Store Kit","url":"\/documentation\/wwdc12-302-selling-products-with-store-kit\/"},{"category":"","section":"documentation","slug":"wwdc12-301-introducing-passbook-part-1","summary":"Passbook is an exciting new way for users to quickly access scannable barcodes and other information useful for real-world actions, such as boarding a flight, entering a show, or redeeming a coupon. Learn how you can easily create passes and push them to the Passbook app.","tags":[],"title":"Introducing Passbook, Part 1","url":"\/documentation\/wwdc12-301-introducing-passbook-part-1\/"},{"category":"","section":"documentation","slug":"wwdc12-300-getting-around-using-map-kit","summary":"Map Kit allows you to embed standard or customized maps directly in your application. Now Map Kit lets you leverage Apple’s beautiful new vector based Maps. Come learn how to integrate your app with the built in Maps application.","tags":[],"title":"Getting Around Using Map Kit","url":"\/documentation\/wwdc12-300-getting-around-using-map-kit\/"},{"category":"","section":"documentation","slug":"wwdc12-245-advanced-tips-and-tricks-for-high-resolution-on-os-x","summary":"Dive deeper into making your apps stunning for high resolution on OS X. Learn how to work with OpenGL surfaces and bitmaps, handle custom layer trees, set up notifications for resolution changes, and examine how to get great performance when laying out different types of content onscreen in a high resolution environment.","tags":[],"title":"Advanced Tips and Tricks for High Resolution on OS X","url":"\/documentation\/wwdc12-245-advanced-tips-and-tricks-for-high-resolution-on-os-x\/"},{"category":"","section":"documentation","slug":"wwdc12-244-internationalization-tips-and-tricks","summary":"With users spread all around the globe, it’s more important than ever to pay attention to how they expect to see information in your apps. Formatting currency and dates in the user’s preferred way can make the difference between a frustrating experience and a great app. Handling different locales properly doesn’t take a lot of work and can broaden the reach of your application. Come see how you can add an international flair to your app today.","tags":[],"title":"Internationalization Tips and Tricks","url":"\/documentation\/wwdc12-244-internationalization-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc12-243-iphoto-for-ios-ui-progression-and-animation-design","summary":"iPhoto for iOS incorporates a number of innovative UI design ideas and interesting animations. See how some of these came into being, as well as some of the tricks used to bring the interface to life through animation.","tags":[],"title":"iPhoto for iOS: UI Progression and Animation Design","url":"\/documentation\/wwdc12-243-iphoto-for-ios-ui-progression-and-animation-design\/"},{"category":"","section":"documentation","slug":"wwdc12-242-ios-app-performance-memory","summary":"Using memory responsibly can be the key to a great user experience for your iOS app. Get a detailed look at how virtual and real memory work on iOS, discover key ways in which the system handles memory pressure, and learn what you can do to use memory even more effectively. A must-attend session for all iOS developers.","tags":[],"title":"iOS App Performance: Memory","url":"\/documentation\/wwdc12-242-ios-app-performance-memory\/"},{"category":"","section":"documentation","slug":"wwdc12-241-cocoa-interprocess-communication-with-xpc","summary":"New in Mountain Lion, NSXPCConnection and related API provide an Objective-C interface to the XPC system for interprocess communication. Discover how your objects and protocols work together with the API to provide an infrastructure that’s easy to use in a Cocoa application or Foundation-based utility. Learn how you can factor your program into separate processes to make it more robust and more secure.","tags":[],"title":"Cocoa Interprocess Communication with XPC","url":"\/documentation\/wwdc12-241-cocoa-interprocess-communication-with-xpc\/"},{"category":"","section":"documentation","slug":"wwdc12-240-polishing-your-interface-rotations","summary":"Go beyond the basics of rotations and learn best practices for getting maximum performance and smooth transitions between interface orientations. See when and how to use rasterization and snapshotting to create gliding animations, gain insight as to how the render server model works, and understand how some of the built-in apps on iOS get their visual effects.","tags":[],"title":"Polishing Your Interface Rotations","url":"\/documentation\/wwdc12-240-polishing-your-interface-rotations\/"},{"category":"","section":"documentation","slug":"wwdc12-238-ios-app-performance-graphics-and-animations","summary":"Users love apps with beautiful user interfaces that are fast and responsive. Discover how to make your animations smooth, learn how to draw more efficiently, and gain insight into the process of graphics optimization.","tags":[],"title":"iOS App Performance: Graphics and Animations","url":"\/documentation\/wwdc12-238-ios-app-performance-graphics-and-animations\/"},{"category":"","section":"documentation","slug":"wwdc12-237-advanced-icloud-document-storage","summary":"This is a practical session about writing applications that store files in iCloud but don’t use AppKit and UIKit’s convenient built-in document classes. Learn how apps that need to manage their own files and directories independently can take advantage of NSFileCoordinator and NSFilePresenter. See how your app can use the tips and techniques in this session to better integrate with iCloud.","tags":[],"title":"Advanced iCloud Document Storage","url":"\/documentation\/wwdc12-237-advanced-icloud-document-storage\/"},{"category":"","section":"documentation","slug":"wwdc12-236-the-evolution-of-view-controllers-on-ios","summary":"View controllers are a key part of an iOS app’s infrastructure. Learn how best to take advantage of these versatile objects by examining what problems they were invented to address, how they’ve matured over the past releases, and how to be best prepared for where they’re going next.","tags":[],"title":"The Evolution of View Controllers on iOS","url":"\/documentation\/wwdc12-236-the-evolution-of-view-controllers-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-235-ios-app-performance-responsiveness","summary":"Creating an app that performs well is essential to making your users happy. Learn the techniques that will make your app launch faster, display graphics smoothly, and respond to the user immediately. A must attend session for all iOS developers.","tags":[],"title":"iOS App Performance: Responsiveness","url":"\/documentation\/wwdc12-235-ios-app-performance-responsiveness\/"},{"category":"","section":"documentation","slug":"wwdc12-234-airprint","summary":"AirPrint is the iOS printing system, a revolutionary printing architecture that makes printing easy for users and app developers. Learn all about AirPrint and best practices for adding printing to iOS apps.","tags":[],"title":"AirPrint","url":"\/documentation\/wwdc12-234-airprint\/"},{"category":"","section":"documentation","slug":"wwdc12-233-building-advanced-gesture-recognizers","summary":"Gestures are an integral part of the user experience on iOS. Learn key practices for controlling gesture interactions in your applications and avoiding common pitfalls. Tap into advanced techniques like curve smoothing and low-pass filters to create fun and intuitive interfaces in your apps.","tags":[],"title":"Building Advanced Gesture Recognizers","url":"\/documentation\/wwdc12-233-building-advanced-gesture-recognizers\/"},{"category":"","section":"documentation","slug":"wwdc12-232-auto-layout-by-example","summary":"Auto layout is a powerful constraint-based layout engine that can handle an amazing variety of user interfaces. This session pulls together API and technique to demonstrate how to build a wide range of interfaces. Learn how to construct common layout scenarios. From simple \"button and text field\" layouts all the way up to dynamic splitviews with interface elements that are dependent on each other, you will learn crucial skills to implement any type of user interface.","tags":[],"title":"Auto Layout by Example","url":"\/documentation\/wwdc12-232-auto-layout-by-example\/"},{"category":"","section":"documentation","slug":"wwdc12-231-whats-new-with-gestures","summary":"See what’s new with gestures in AppKit. This includes new gestures for Quick Look and smart magnification, as well as new facilities for zooming and swiping. In addition, learn best practices to future proof your gesture implementation as AppKit continues to evolve.","tags":[],"title":"What’s New with Gestures","url":"\/documentation\/wwdc12-231-whats-new-with-gestures\/"},{"category":"","section":"documentation","slug":"wwdc12-230-advanced-attributed-strings-for-ios","summary":"Dive deeper into advanced techniques when using attributed strings on iOS 6. Learn about kerning, ligatures, and other advanced typographical features of string drawing to create compelling text effects.","tags":[],"title":"Advanced Attributed Strings for iOS","url":"\/documentation\/wwdc12-230-advanced-attributed-strings-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-228-best-practices-for-mastering-auto-layout","summary":"Learn advanced techniques for creating sophisticated and dynamic layouts in OS X and iOS apps using the auto layout system. You’ll receive tons of useful examples, see \"how we did that,\" and learn valuable best practices and debugging techniques. If you are new to auto layout, you might want to attend the Introduction to Auto Layout session first.","tags":[],"title":"Best Practices for Mastering Auto Layout","url":"\/documentation\/wwdc12-228-best-practices-for-mastering-auto-layout\/"},{"category":"","section":"documentation","slug":"wwdc12-227-using-icloud-with-core-data","summary":"Core Data is a powerful way for your app to store data in iCloud. Dive into a step by step, real-world primer for adopting iCloud in your Core Data app, from configuring your persistent store for iCloud, to migrating existing content, and how to have your app behave throughout its lifecycle. A must attend session for any developer interested in Core Data and iCloud.","tags":[],"title":"Using iCloud with Core Data","url":"\/documentation\/wwdc12-227-using-icloud-with-core-data\/"},{"category":"","section":"documentation","slug":"wwdc12-226-core-text-and-fonts","summary":"Learn practical techniques on font and layout handling with Core Text in iOS and OS X. See how to address commonly encountered issues, increase your app’s performance, and learn about font embedding and support.","tags":[],"title":"Core Text and Fonts","url":"\/documentation\/wwdc12-226-core-text-and-fonts\/"},{"category":"","section":"documentation","slug":"wwdc12-225-up-and-running-making-a-great-impression-with-every-launch","summary":"Your application’s launch is the first chance for your app to impress users. Learn how to use this time effectively to create the best possible user experience, while launching and configuring your application efficiently and consistently.","tags":[],"title":"Up and Running: Making a Great Impression with Every Launch","url":"\/documentation\/wwdc12-225-up-and-running-making-a-great-impression-with-every-launch\/"},{"category":"","section":"documentation","slug":"wwdc12-224-using-icloud-with-nsdocument","summary":"NSDocument provides a powerful way to adopt iCloud Storage on OS X. Learn how NSDocument can help your document-based app more easily adopt iCloud. Dive into Auto Save, learn to work with versions, and understand the app-centric open panel and user workflows.","tags":[],"title":"Using iCloud with NSDocument","url":"\/documentation\/wwdc12-224-using-icloud-with-nsdocument\/"},{"category":"","section":"documentation","slug":"wwdc12-223-enhancing-user-experience-with-scroll-views","summary":"Scroll views can be used in many different ways to create familiar and immersive user experiences. Come see what’s new with scroll views, learn how to present scrolling content in a page view controller, and even how to enhance your OpenGL games with scroll views.","tags":[],"title":"Enhancing User Experience with Scroll Views","url":"\/documentation\/wwdc12-223-enhancing-user-experience-with-scroll-views\/"},{"category":"","section":"documentation","slug":"wwdc12-222-introduction-to-attributed-strings-for-ios","summary":"Text is an essential part of your application’s interface. Get an introduction to the concepts behind manipulating and drawing attributed strings on iOS. Learn how UIKit has adopted attributed strings to make creating text effects even easier.","tags":[],"title":"Introduction to Attributed Strings for iOS","url":"\/documentation\/wwdc12-222-introduction-to-attributed-strings-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-221-ios-user-interface-design","summary":"Designing a great user interface is essential to the success of any iPhone or iPad app. Learn techniques to avoid common UI pitfalls and gain key insights into what it takes to create an app that is intuitive and beautiful.","tags":[],"title":"iOS User Interface Design","url":"\/documentation\/wwdc12-221-ios-user-interface-design\/"},{"category":"","section":"documentation","slug":"wwdc12-220-keyboard-input-in-ios","summary":"Learn how to leverage what’s new in iOS to improve the onscreen keyboard and text editing experience for your users. Make your app shine for users around the world with support for Asian languages, split and undocked keyboard interaction, rich text editing, and more.","tags":[],"title":"Keyboard Input in iOS","url":"\/documentation\/wwdc12-220-keyboard-input-in-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-219-advanced-collection-views-and-building-custom-layouts","summary":"Collection views in iOS 6 allow you to move beyond table views to create rich displays for ordered data. Dive deeper into the capabilities of collection views and learn how to write customized layouts that push the boundaries of interfaces in your applications.","tags":[],"title":"Advanced Collection Views and Building Custom Layouts","url":"\/documentation\/wwdc12-219-advanced-collection-views-and-building-custom-layouts\/"},{"category":"","section":"documentation","slug":"wwdc12-218-using-icloud-with-uidocument","summary":"UIDocument provides a powerful way to adopt iCloud Storage on iOS. Learn how UIDocument can help your document-based app more easily adopt iCloud Storage and understand the key concepts for working with documents and storage in iCloud.","tags":[],"title":"Using iCloud with UIDocument","url":"\/documentation\/wwdc12-218-using-icloud-with-uidocument\/"},{"category":"","section":"documentation","slug":"wwdc12-217-layerbacked-views-appkit-core-animation","summary":"Learn how to effectively use layer-backed views in AppKit to get smooth animations and fast performance. See how to take advantage of new Mountain Lion enhancements added to NSView, especially for updating Core Animation layers.","tags":[],"title":"Layer-Backed Views: AppKit + Core Animation","url":"\/documentation\/wwdc12-217-layerbacked-views-appkit-core-animation\/"},{"category":"","section":"documentation","slug":"wwdc12-216-advanced-appearance-customization-on-ios","summary":"Examine tips and tricks on how to customize UIKit controls. Learn best practices on how to create assets for customizing the appearance of your app and how other apps use the appearance proxy on iOS to create an immersive user experience.","tags":[],"title":"Advanced Appearance Customization on iOS","url":"\/documentation\/wwdc12-216-advanced-appearance-customization-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-215-text-and-linguistic-analysis","summary":"Many applications need to analyze or process the text that they are working with. With so many languages in the world this can be a daunting task. Learn how to process and analyze text in world-ready ways. See how to use the linguistic APIs offered on both iOS and OS X to iterate through text, evaluate regular expressions, and do linguistic analysis of the text you operate on.","tags":[],"title":"Text and Linguistic Analysis","url":"\/documentation\/wwdc12-215-text-and-linguistic-analysis\/"},{"category":"","section":"documentation","slug":"wwdc12-214-core-data-best-practices","summary":"Core Data is a powerful framework on OS X and iOS for automatic persistence and object graph management. Master the techniques you need to get the most out of Core Data. Learn the best practices for working with nested managed object contexts, passing data between threads, and how to use Instruments to identify and fix performance bottlenecks in your app.","tags":[],"title":"Core Data Best Practices","url":"\/documentation\/wwdc12-214-core-data-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc12-213-introduction-to-high-resolution-on-os-x","summary":"Give your users the best experience by taking advantage of High Resolution on OS X. Learn how to move your applications to High Resolution, create crisp application assets, and find out how to avoid common pitfalls.","tags":[],"title":"Introduction to High Resolution on OS X","url":"\/documentation\/wwdc12-213-introduction-to-high-resolution-on-os-x\/"},{"category":"","section":"documentation","slug":"wwdc12-212-basics-habits-building-your-software-projects-to-last","summary":"All software projects start somewhere and evolve through the accumulation of your effort, changes in technology, bug fixing, and the addition of features you could not have foreseen when the project began. This session discusses this process and provides you with ideas which can help you build your software projects to last.","tags":[],"title":"Basics+Habits: Building Your Software Projects To Last","url":"\/documentation\/wwdc12-212-basics-habits-building-your-software-projects-to-last\/"},{"category":"","section":"documentation","slug":"wwdc12-211-building-concurrent-user-interfaces-on-ios","summary":"For a great user experience, it’s essential to keep your application responsive while it renders complex UI elements and processes data. Learn how to use concurrency at the UIKit layer to perform drawing and other common operations without blocking user interaction.","tags":[],"title":"Building Concurrent User Interfaces on iOS","url":"\/documentation\/wwdc12-211-building-concurrent-user-interfaces-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-210-accessibility-for-ios","summary":"iOS devices are incredibly popular for users with special needs. Learn how to take advantage of the accessibility APIs so that everyone is able to use your apps. Gain insight into the best practices for making your apps work with VoiceOver and how to integrate accessibility features into your apps. Come learn how to make even an interactive game (The NSZombie Apocalypse!) work well with VoiceOver.","tags":[],"title":"Accessibility for iOS","url":"\/documentation\/wwdc12-210-accessibility-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-209-icloud-storage-overview","summary":"iCloud Storage enables apps to store documents and settings across iOS and OS X. Discover how iCloud Storage works, learn about the latest advancements in development and debugging for iCloud and the Key-Value Store, and learn how your app can use iCloud to store documents and settings today.","tags":[],"title":"iCloud Storage Overview","url":"\/documentation\/wwdc12-209-icloud-storage-overview\/"},{"category":"","section":"documentation","slug":"wwdc12-208-saving-and-restoring-application-state-on-ios","summary":"Learn about the new application state restoration feature in iOS 6. This new feature makes it easier than ever to save the state of a running application and restore it on subsequent launches, improving the user experience over the course of the application’s lifetime.","tags":[],"title":"Saving and Restoring Application State on iOS","url":"\/documentation\/wwdc12-208-saving-and-restoring-application-state-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc12-206-secure-automation-techniques-in-os-x","summary":"When it comes to securely automating your OS X system, there’s good news, and then there’s good news. The popular technologies of Automator, AppleScript, Terminal, and Services coexist well with the new security structures implemented in Mountain Lion. For scripters and developers, the automation tools continue to function brilliantly, with limited changes in their implementation. Be sure to attend this session to get the specifics on how each technology works with the new security sandbox and Gatekeeper.","tags":[],"title":"Secure Automation Techniques in OS X","url":"\/documentation\/wwdc12-206-secure-automation-techniques-in-os-x\/"},{"category":"","section":"documentation","slug":"wwdc12-205-introducing-collection-views","summary":"Creating dynamic and incredible interfaces is easy with collection views in iOS 6. Learn how to get started with collection views and see how to easily organize data in grid-like layouts using the built-in UICollectionViewFlowLayout class.","tags":[],"title":"Introducing Collection Views","url":"\/documentation\/wwdc12-205-introducing-collection-views\/"},{"category":"","section":"documentation","slug":"wwdc12-204-whats-new-in-cocoa","summary":"Cocoa frameworks give you high-level access to the underlying power of OS X. This session will give you a developer’s eye overview of the Mountain Lion advances in AppKit, Foundation, and related frameworks, and will orient you for the other Cocoa sessions that cover these technologies in further detail. We will also cover the latest in best practices for developing state of the art applications for OS X.","tags":[],"title":"What’s New in Cocoa","url":"\/documentation\/wwdc12-204-whats-new-in-cocoa\/"},{"category":"","section":"documentation","slug":"wwdc12-203-accessibility-for-os-x","summary":"OS X has a long been a leader in accessibility with its wide variety of features and assistive technologies. Developing an accessible application can make it usable to users with varying abilities. Making your app accessible can open new markets, such as Government and Education, which sometimes require accessible software. Learn from the experts on best practices for developing accessible apps and hear about some of the common issues developers run into while supporting accessibility.","tags":[],"title":"Accessibility for OS X","url":"\/documentation\/wwdc12-203-accessibility-for-os-x\/"},{"category":"","section":"documentation","slug":"wwdc12-202-introduction-to-auto-layout-for-ios-and-os-x","summary":"If your application has a user interface, then this session is for you. iOS 6 adopts OS X Lion’s powerful constraint-based layout engine, making it easy to design a flexible user interface that responds dynamically to layout changes such as rotation and varying status bar heights. This session will cover the basic concepts, IB support, and API you’ll need to get started using auto layout.","tags":[],"title":"Introduction to Auto Layout for iOS and OS X","url":"\/documentation\/wwdc12-202-introduction-to-auto-layout-for-ios-and-os-x\/"},{"category":"","section":"documentation","slug":"wwdc12-200-whats-new-in-cocoa-touch","summary":"iOS 6 introduces many enhancements to the Cocoa Touch frameworks that accelerate your development and improve your application’s user experience. Get up to speed with new frameworks on iOS, and all the other new features that will help you write great applications.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc12-200-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc12-101-platforms-kickoff","summary":"WWDC 2012 Platforms Kickoff","tags":[],"title":"Platforms Kickoff","url":"\/documentation\/wwdc12-101-platforms-kickoff\/"},{"category":"","section":"documentation","slug":"wwdc12","summary":"iOS 6, macOS 10.8 (Mountain Lion).","tags":[],"title":"WWDC12","url":"\/documentation\/wwdc12\/"},{"category":"","section":"documentation","slug":"wwdc11-601-apple-platforms-kickoff","summary":"Apple Platforms Kickoff","tags":[],"title":"Apple Platforms Kickoff","url":"\/documentation\/wwdc11-601-apple-platforms-kickoff\/"},{"category":"","section":"documentation","slug":"wwdc11-519-combining-web-accessibility-and-automation-on-ios","summary":"While it’s clear that accessibility is important for users with disabilities, it’s less widely known that accessibility plays a role in automated testing. Get an overview of the W3C ARIA standard, and learn how to make web pages accessible to users with blindness, low vision, and other disabilities. See how this technology easily translates to content inside UIWebView, and how to combine ARIA’s interface to UIAccessibility with the UIAutomation framework to improve and extend your automated test processes.","tags":[],"title":"Combining Web Accessibility and Automation on iOS","url":"\/documentation\/wwdc11-519-combining-web-accessibility-and-automation-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-518-testing-your-locationaware-app-without-leaving-your-chair","summary":"Testing the location-based features of your app can present unique challenges.  Understand how to anticipate and test different scenarios your users will encounter, such as changing availability and accuracy of location information, use of your app in different regions around the world, and location authorization denial. Learn testing techniques that will keep your app at the highest level of quality from initial prototype to final version, and discover new tips, tricks, and tools for ad-hoc and automated testing.","tags":[],"title":"Testing Your Location-Aware App Without Leaving Your Chair","url":"\/documentation\/wwdc11-518-testing-your-locationaware-app-without-leaving-your-chair\/"},{"category":"","section":"documentation","slug":"wwdc11-517-using-local-and-push-notifications-on-ios-and-mac-os-x","summary":"Local and push notifications let background or inactive apps notify users that an event of interest has occurred, or that an app has new information for them. See how to use notifications to display a message, play a distinctive sound, or update a badge on your app icon. Understand how to register for push notifications, learn how to schedule local notifications, and discover the best practices for handling both.","tags":[],"title":"Using Local And Push Notifications on iOS and Mac OS X","url":"\/documentation\/wwdc11-517-using-local-and-push-notifications-on-ios-and-mac-os-x\/"},{"category":"","section":"documentation","slug":"wwdc11-516-understanding-layout-and-gestures-in-safari-on-ios-and-lion","summary":"Safari on iOS was the first browser to deliver web content that responded to gestures such as panning, double-tapping, and pinching. Now, many of the basic principles behind gesture-friendly layout and gesture recognition have been carried over to Safari on Mac OS X Lion. See how to make web content that already looks great even better by learning the concepts behind gesture-enabled web layout.  Understand how scrollable content and fixed positioning works in zoom-able interfaces, learn best practices for handling overlay scrollbars, discover optimization that speed up back-forward navigation, and more.","tags":[],"title":"Understanding Layout and Gestures in Safari on iOS and Lion","url":"\/documentation\/wwdc11-516-understanding-layout-and-gestures-in-safari-on-ios-and-lion\/"},{"category":"","section":"documentation","slug":"wwdc11-515-using-html5-offline-storage","summary":"HTML5 Offline Storage refers to a collection of technologies that can be used in a variety of ways to improve your web content. See how to use Offline Storage to reduce web page load time, or how to make a web application that can be used even when users don’t have a connection to the Internet. Go beyond the basics and discover best practices for handling cache size limits, responding to a cleared cache, debugging offline storage capabilities, and more.","tags":[],"title":"Using HTML5 Offline Storage","url":"\/documentation\/wwdc11-515-using-html5-offline-storage\/"},{"category":"","section":"documentation","slug":"wwdc11-514-whats-new-in-safari-extensions","summary":"Safari Extensions can add buttons to the Safari toolbar, display a bar with custom content, or modify the appearance of a web page - all with standard HTML, CSS, and JavaScript. See how easy it is to get started with Safari’s built-in Extension Builder, and how to create an extension that can execute scripts, apply CSS styles, and display context menus. Discover new user interface components for extensions such as popovers, and learn to leverage additions to the Extensions API to invoke Safari Reader, detect how users are interacting with Safari, and more.","tags":[],"title":"What’s New in Safari Extensions","url":"\/documentation\/wwdc11-514-whats-new-in-safari-extensions\/"},{"category":"","section":"documentation","slug":"wwdc11-512-whats-new-in-app-publishing-with-itunes-connect","summary":"The iTunes Connect portal provides a variety of tools for managing all aspects of your app publishing lifecycle. Understand the procedure for publishing your iOS or Mac OS X app, and see how iTunes Connect has evolved to help you manage and test new features such as subscriptions, iCloud Storage, and Newsstand. Learn best practices for pre-submission testing, discover common reasons for app rejection, and see how to follow up with Apple through the App Review resolution center.","tags":[],"title":"What’s New in App Publishing With iTunes Connect","url":"\/documentation\/wwdc11-512-whats-new-in-app-publishing-with-itunes-connect\/"},{"category":"","section":"documentation","slug":"wwdc11-511-rich-text-editing-in-safari-on-ios","summary":"New in iOS 5, rich text editing is now available for web content. Get up to speed on the technologies behind rich text editing on the Web, and see how to leverage new features such as keyboard customization. Learn how to build a rich text editor that works great in Safari, and in native applications that use UIWebView.","tags":[],"title":"Rich Text Editing in Safari on iOS","url":"\/documentation\/wwdc11-511-rich-text-editing-in-safari-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-510-inapp-purchase-for-ios-and-mac-os-x","summary":"In-App Purchase lets you embed a store directly within your app that can be used to sell a variety of items such as premium content, virtual goods or subscriptions. Discover the Store Kit APIs needed to add In App Purchase to your iOS or Mac OS X application. Understand how to perform receipt verification, and learn to manage and test items for sale through iTunes Connect. See how new features of iTunes Connect make it easier to manage large sets of items for sale, test subscriptions that automatically renew, and more.","tags":[],"title":"In-App Purchase for iOS and Mac OS X","url":"\/documentation\/wwdc11-510-inapp-purchase-for-ios-and-mac-os-x\/"},{"category":"","section":"documentation","slug":"wwdc11-509-whats-new-in-css-effects-and-animations","summary":"CSS effects and animations let you add richness to any web page, and can be used inside native apps too. Learn how to combine 2D and 3D CSS transforms with CSS transitions and keyframe animations. Understand how to deliver advanced effects in just a few lines of code, discover the best practices for optimal performance, and see how to leverage new features to make your visual effects in Safari even better.","tags":[],"title":"What’s New in CSS Effects and Animations","url":"\/documentation\/wwdc11-509-whats-new-in-css-effects-and-animations\/"},{"category":"","section":"documentation","slug":"wwdc11-508-understanding-and-optimizing-web-graphics","summary":"There are several different types of graphics on the web today, and several different ways to create them. Understand the pros and cons of graphics technologies such as the HTML5 canvas element, SVG, and CSS, and learn how to choose the right tool for the job whether you’re adding infographics, illustrations, or interactivity. Go beyond the basics and see how to integrate graphics with media, discover optimizations for increased speed and decreased memory footprint, and learn tips and tricks to create unforgettable visual effects.","tags":[],"title":"Understanding And Optimizing Web Graphics","url":"\/documentation\/wwdc11-508-understanding-and-optimizing-web-graphics\/"},{"category":"","section":"documentation","slug":"wwdc11-507-ibooks-create-beautiful-books-with-html5-css3-and-epub","summary":"iBooks is an amazing way for anyone to create, sell and enjoy many types of books on iPhone and iPad. See how to leverage EPUB and the latest HTML and CSS technologies to create any type of book, from novels and technical manuals to cookbooks and children’s books. Go beyond text and discover how to add supplementary content such as tables, PDFs, audio and video. Learn how to create precise picture books using your own custom layout and use CSS to enrich books with animation.","tags":[],"title":"iBooks: Create Beautiful Books with HTML5, CSS3 and EPUB","url":"\/documentation\/wwdc11-507-ibooks-create-beautiful-books-with-html5-css3-and-epub\/"},{"category":"","section":"documentation","slug":"wwdc11-506-building-iad-rich-media-ads-with-iad-producer","summary":"iAd Producer’s drag-and-drop interface makes it easy to lay out, customize, and test highly interactive iAd rich media ads. Discover how built-in page templates and components make ad creation a snap for designers without sacrificing the code editing and debugging capabilities that sophisticated developers expect. You’ll see how you can use iAd Producer to easily create complex ads, test your ad on your own iPhone or iPad, set breakpoints, step through code, and optimize performance.","tags":[],"title":"Building iAd Rich Media Ads with iAd Producer","url":"\/documentation\/wwdc11-506-building-iad-rich-media-ads-with-iad-producer\/"},{"category":"","section":"documentation","slug":"wwdc11-505-iad-implementation-best-practices","summary":"While adding iAd to your app is as easy as dropping a banner view in your UI, additional optimizations and a solid understanding of the iAd Network will ensure you’re getting the most out of your implementation. See how standard advertising terms such as fill rate, impressions, and eCPM are defined from the iAd Network perspective, learn why these common metrics may vary for you, and discover best practices that can increase your advertising efficiency.","tags":[],"title":"iAd Implementation Best Practices","url":"\/documentation\/wwdc11-505-iad-implementation-best-practices\/"},{"category":"","section":"documentation","slug":"wwdc11-504-building-newsstand-apps","summary":"Newsstand lets you simply and easily deliver magazine and newspaper content to iPhone, iPod touch, and iPad users. Master the APIs needed to create Newsstand apps, and see how to configure Newsstand apps in iTunes Connect. Learn how to customize the home screen icon of your Newsstand app, and discover the best practices for downloading and storing new issues, managing old issues, and more.","tags":[],"title":"Building Newsstand Apps","url":"\/documentation\/wwdc11-504-building-newsstand-apps\/"},{"category":"","section":"documentation","slug":"wwdc11-503-hidden-gems-for-web-apps","summary":"Did you know that you can use JavaScript to recognize touches and gestures, fetch or monitor a user’s location, and detect motion through the accelerometer and gyroscope? Learn how to add features like these to your web page or app to enable a enhanced user experience. See how to add and optimize home screen icons and splash screens for web apps, and learn the best practices for displaying your web app in fullscreen mode.","tags":[],"title":"Hidden Gems for Web Apps","url":"\/documentation\/wwdc11-503-hidden-gems-for-web-apps\/"},{"category":"","section":"documentation","slug":"wwdc11-502-advanced-html5-media-controllers-in-safari","summary":"With HTML5, embedding audio or video in a web page can be as simple as adding a single line of code. Go beyond the basics and learn the best practices for implementing custom media controls that match the look and feel of your website. Discover how to use JavaScript to add custom play and pause buttons, volume controls, a timeline, a fullscreen button, and see how to display custom controls when video plays fullscreen. Find out tips for optimizing the look and feel of custom media controls for Safari on the desktop, and for the touch-enabled, zoomable interface of Safari on iPhone, iPad, and iPod touch.","tags":[],"title":"Advanced HTML5 Media Controllers in Safari","url":"\/documentation\/wwdc11-502-advanced-html5-media-controllers-in-safari\/"},{"category":"","section":"documentation","slug":"wwdc11-501-icloud-storage-overview","summary":"iCloud Storage enables apps to store documents and settings across iOS, Mac OS X, and Windows. Discover how iCloud Storage works, and get an overview of the components that make up this technology. Understand which APIs are needed to add support for iCloud Storage to your app, and learn the best practices for storing documents and settings in iCloud.","tags":[],"title":"iCloud Storage Overview","url":"\/documentation\/wwdc11-501-icloud-storage-overview\/"},{"category":"","section":"documentation","slug":"wwdc11-500-whats-new-in-core-location","summary":"The Core Location framework enables geographical context in your app, letting you sort search results by proximity, provide turn-by-turn navigation, connect nearby users in social networks, and more. Master the Core Location APIs, and see how to leverage improvements to GPS positioning, WiFi locations, and region monitoring. See how new additions to Core Location like geocoding can extend and improve your app, and learn best practices to conserve power and increase performance.","tags":[],"title":"What’s New in Core Location","url":"\/documentation\/wwdc11-500-whats-new-in-core-location\/"},{"category":"","section":"documentation","slug":"wwdc11-423-whats-new-in-core-motion","summary":"Core Motion fuses data from the built-in hardware to let you determine precisely how your iOS device is oriented and moving in 3D space. Gain a detailed understanding of the features and capabilities of the Core Motion framework, and understand how you can use device motion to create an amazingly immersive experience for games, augmented reality, and much more.","tags":[],"title":"What’s New in Core Motion","url":"\/documentation\/wwdc11-423-whats-new-in-core-motion\/"},{"category":"","section":"documentation","slug":"wwdc11-422-using-core-image-on-ios-and-mac-os-x","summary":"Core Image lets you perform sophisticated image processing operations and create stunning visual effects. Get introduced to the powerful capabilities of Core Image in iOS 5 for adjusting still images and enhancing live video. See how to harness new APIs for facial feature detection on iOS and Mac OS X, and get details about the latest filters.","tags":[],"title":"Using Core Image on iOS & Mac OS X","url":"\/documentation\/wwdc11-422-using-core-image-on-ios-and-mac-os-x\/"},{"category":"","section":"documentation","slug":"wwdc11-421-core-animation-essentials","summary":"Core Animation is the layer-based animation system at the heart of the dynamic user experience seen in iOS and Mac OS X. See Core Animation in action and explore its intuitive programming model for creating compelling animations. Understand how to maintain high frame rates and learn recommended practices to deliver smooth transitions and effects in your apps.","tags":[],"title":"Core Animation Essentials","url":"\/documentation\/wwdc11-421-core-animation-essentials\/"},{"category":"","section":"documentation","slug":"wwdc11-420-advances-in-opengl-for-mac-os-x-lion","summary":"OpenGL is the foundation for accelerated graphics in Mac OS X, enabling your apps to tap into the incredible rendering power of the GPU. Explore the streamlined power of OpenGL in Lion and get all the details to take advantage of the OpenGL 3.2 Core Profile. See how your graphics code can deliver incredible visuals using OpenGL and gain specific insights to ensure maximum frame rates.","tags":[],"title":"Advances in OpenGL for Mac OS X Lion","url":"\/documentation\/wwdc11-420-advances-in-opengl-for-mac-os-x-lion\/"},{"category":"","section":"documentation","slug":"wwdc11-419-capturing-from-the-camera-using-av-foundation-on-ios-5","summary":"AV Foundation provides your application with full programmatic access to video and still images from the built-in cameras.  Learn what’s new in iOS 5 including exciting API enhancements and performance improvements that allow you to leverage the GPU and CPU to create immersive, performant augmented reality apps using the camera.","tags":[],"title":"Capturing from the Camera using AV Foundation on iOS 5","url":"\/documentation\/wwdc11-419-capturing-from-the-camera-using-av-foundation-on-ios-5\/"},{"category":"","section":"documentation","slug":"wwdc11-418-best-practices-for-opengl-es-apps-in-ios","summary":"OpenGL ES enables your app to push the performance envelope of iOS devices and create an experience perfectly tailored for the platform. Dive straight into specific recommendations to fine-tune the interaction between your usage of OpenGL ES and iOS built-in behaviors for multitasking, display orientation, and more. Learn critical design principles that will make your OpenGL ES apps feel snappier, look better, and have the flexibility to take full advantage of iPhone 4 and iPad 2.","tags":[],"title":"Best Practices for OpenGL ES Apps in iOS","url":"\/documentation\/wwdc11-418-best-practices-for-opengl-es-apps-in-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-417-introducing-av-foundation-capture-for-lion","summary":"iOS developers have enjoyed full camera access using AV Foundation since iOS 4.0. Now AV Foundation is coming to Lion with an even richer feature set. Learn how to capture screen input to movie files, query and configure real-time capture devices, and harness the power of AV Foundation capture classes in your app.","tags":[],"title":"Introducing AV Foundation Capture For Lion","url":"\/documentation\/wwdc11-417-introducing-av-foundation-capture-for-lion\/"},{"category":"","section":"documentation","slug":"wwdc11-416-tools-for-tuning-opengl-es-apps-on-ios","summary":"The iOS SDK includes powerful graphics tools for analyzing and optimizing the performance of your OpenGL ES apps. Discover expert techniques you can apply to your apps to maximize their efficiency and attain high frame rates. Learn practical ways to identify bottlenecks, tune performance hot-spots, and overcome any hurdles that could take you off the fast path.","tags":[],"title":"Tools for Tuning OpenGL ES Apps on iOS","url":"\/documentation\/wwdc11-416-tools-for-tuning-opengl-es-apps-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-415-working-with-media-in-av-foundation","summary":"The AV Foundation framework provides a rich Objective-C interface for playback and editing of audio and video in your iOS or Mac OS X application. Discover the tremendous control and flexibility provided by AV Foundation and get instruction about working with media in your apps. Understand the mechanisms for reading and writing media and learn how to compose independent clips into new assets.","tags":[],"title":"Working with Media in AV Foundation","url":"\/documentation\/wwdc11-415-working-with-media-in-av-foundation\/"},{"category":"","section":"documentation","slug":"wwdc11-414-advances-in-opengl-es-for-ios-5","summary":"OpenGL ES provides access to the stunning graphics power of iPhone, iPad, and iPod touch. See how you can tap into the latest advances in OpenGL ES for iOS 5 and harness the programmable pipeline enabled by OpenGL ES 2.0. Get introduced to the new GL Kit framework and learn how your apps can take advantage of its built-in features and effects.","tags":[],"title":"Advances in OpenGL ES for iOS 5","url":"\/documentation\/wwdc11-414-advances-in-opengl-es-for-ios-5\/"},{"category":"","section":"documentation","slug":"wwdc11-413-audio-session-management-for-ios","summary":"iOS provides a powerful engine for playing, recording, and processing audio in your applications for iPhone, iPad or iPod touch. Gain a thorough understanding of audio session management, and learn the recommended practices for handling background audio, dealing with interruptions, and playing multiple sounds simultaneously.","tags":[],"title":"Audio Session Management for iOS","url":"\/documentation\/wwdc11-413-audio-session-management-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-412-turnbased-gaming-with-game-center","summary":"Turn-based competition is an exciting capability added in Game Center for iOS 5. Learn about the new API and user interface for turn-based play and see how it applies in a variety of popular game genres. Gain insight into managing turn-based game state and get details about how the turn is passed from player to player.","tags":[],"title":"Turn-Based Gaming with Game Center","url":"\/documentation\/wwdc11-412-turnbased-gaming-with-game-center\/"},{"category":"","section":"documentation","slug":"wwdc11-411-music-in-ios-and-lion","summary":"iOS and Mac OS X feature a state-of-the-art audio engine, enabling a variety of groundbreaking music applications. Learn about the latest advances in audio capabilities on iOS and Mac. Gain a thorough understanding of MIDI and other sequencing APIs, and check out a new collection of audio units on iOS.","tags":[],"title":"Music in iOS and Lion","url":"\/documentation\/wwdc11-411-music-in-ios-and-lion\/"},{"category":"","section":"documentation","slug":"wwdc11-410-multiplayer-gaming-with-game-center","summary":"The ultimate challenge is to compete against a skilled opponent, and Game Center makes it easy for your players to discover each other and play together over a network. Understand the process to add players to a multi-player match. Go into the details of peer-to-peer and server-hosted multiplayer games. Learn about sending data or game state to remote players, and discuss how you can take advantage of in-game voice chat.","tags":[],"title":"Multi-Player Gaming with Game Center","url":"\/documentation\/wwdc11-410-multiplayer-gaming-with-game-center\/"},{"category":"","section":"documentation","slug":"wwdc11-409-working-with-game-center","summary":"Players, Scores, and Achievements are at the core of the Game Center experience. See how these ideas are expressed in the Game Kit framework and understand how your users will interact with your Game Center enabled app. Understand the process of authenticating a player, updating leaderboards, and managing achievements. Learn from a variety of usage scenarios that can help you enrich your game and keep bringing your players back for more.","tags":[],"title":"Working with Game Center","url":"\/documentation\/wwdc11-409-working-with-game-center\/"},{"category":"","section":"documentation","slug":"wwdc11-408-http-live-streaming-update","summary":"HTTP Live Streaming lets you deliver live and on-demand multimedia content using a standard HTTP server. Gain a practical understanding of recent enhancements and how they affect best practices for delivering video into your application or on the web.","tags":[],"title":"HTTP Live Streaming Update","url":"\/documentation\/wwdc11-408-http-live-streaming-update\/"},{"category":"","section":"documentation","slug":"wwdc11-407-introduction-to-game-center","summary":"iOS games can take advantage of Game Center, Apple’s social gaming network. Get introduced to the concepts behind this technology and understand how to create a gaming experience that users find compelling, fun, and easy to use. Learn the approach for adding Game Center to your games and get an overview of the classes and APIs in the Game Kit framework.","tags":[],"title":"Introduction to Game Center","url":"\/documentation\/wwdc11-407-introduction-to-game-center\/"},{"category":"","section":"documentation","slug":"wwdc11-406-airplay-and-external-displays-in-ios-apps","summary":"AirPlay enables apps to wirelessly stream music, video, or even the entire display to an HDTV via Apple TV. Get an overview of AirPlay capabilities and see how it creates entirely new possibilities for games, media apps, and more. Learn how your apps can output visuals and audio to a second display wirelessly over AirPlay or through a connected cable. Understand the key principles for driving external displays from iOS and gain insight into recommended practices to enrich the user experience and optimize performance.","tags":[],"title":"AirPlay and External Displays in iOS apps","url":"\/documentation\/wwdc11-406-airplay-and-external-displays-in-ios-apps\/"},{"category":"","section":"documentation","slug":"wwdc11-405-exploring-av-foundation","summary":"AV Foundation harnesses a streamlined media architecture that enables high-performance audio and video playback, editing, recording, and more. Explore the features provided by this technology and understand how to add advanced multimedia capabilities to your apps. Get an overview of the classes in the AV Foundation framework on iOS and get introduced to the powerful capabilities brought back to the Mac in Lion.","tags":[],"title":"Exploring AV Foundation","url":"\/documentation\/wwdc11-405-exploring-av-foundation\/"},{"category":"","section":"documentation","slug":"wwdc11-404-audio-development-for-games","summary":"iOS and Mac OS X provides an impressive array of audio technologies tailored for use in games. See how to apply the high-level classes for audio in AV Foundation for simple playback and understand the recommended practices for looping sounds and effects. Then dive deeper into game audio and learn how easy it is to integrate OpenAL into your immersive games and create a thrilling 3D audio experience.","tags":[],"title":"Audio Development for Games","url":"\/documentation\/wwdc11-404-audio-development-for-games\/"},{"category":"","section":"documentation","slug":"wwdc11-403-essential-game-technologies-for-ios-pt-2","summary":"iOS provides a phenomenal platform for mobile game development. Dive deeper into iOS game technologies and see how the best games take advantage of the rich features of the platform. Get practical guidance about game design and production, and see which iOS features can drive incredible advances in your titles. This is the second of two sessions covering the techniques for iOS game development.","tags":[],"title":"Essential Game Technologies for iOS, Pt 2","url":"\/documentation\/wwdc11-403-essential-game-technologies-for-ios-pt-2\/"},{"category":"","section":"documentation","slug":"wwdc11-402-essential-game-technologies-for-ios-pt-1","summary":"iOS delivers an incredible collection of graphics, media, and integrated technologies for developing cutting-edge mobile games. Explore the frameworks and technologies that enable you to create the most imaginative games possible. Dive into expert techniques to harness the full capabilities of iOS and create rich gameplay experiences for your players. This is the first of two sessions covering the techniques for iOS game development.","tags":[],"title":"Essential Game Technologies for iOS, Pt 1","url":"\/documentation\/wwdc11-402-essential-game-technologies-for-ios-pt-1\/"},{"category":"","section":"documentation","slug":"wwdc11-401-whats-new-in-opencl","summary":"OpenCL lets your application tap into the vast computing power of modern GPUs and multicore CPUs to accelerate computationally intensive tasks. Get all the details about advances in OpenCL for Mac OS X Lion and learn techniques that yield incredible performance increases. Explore tightened integration between OpenCL and Grand Central Dispatch, and see how auto-vectorization makes it easy for your app to harness parallel computation.","tags":[],"title":"What’s New in OpenCL","url":"\/documentation\/wwdc11-401-whats-new-in-opencl\/"},{"category":"","section":"documentation","slug":"wwdc11-400-graphics-media-and-games-kickoff","summary":"iOS and Mac OS X deliver an amazing lineup of technologies for developing cutting-edge games, innovative graphical applications, and platform-optimized audio and video experiences. Join your fellow developers in kicking off the Graphics, Media, and Games sessions of WWDC 2011 and gain key insights into the powerful capabilities you’ll use to create great apps.","tags":[],"title":"Graphics, Media, and Games Kickoff","url":"\/documentation\/wwdc11-400-graphics-media-and-games-kickoff\/"},{"category":"","section":"documentation","slug":"wwdc11-323-introducing-automatic-reference-counting","summary":"Automatic Reference Counting (ARC) dramatically simplifies memory management in Objective-C. Discover how the latest advancements in the LLVM compiler can help you write less code when creating safe, fast applications. A must-attend session for developers of all skill levels, on both Mac OS X and iOS.","tags":[],"title":"Introducing Automatic Reference Counting","url":"\/documentation\/wwdc11-323-introducing-automatic-reference-counting\/"},{"category":"","section":"documentation","slug":"wwdc11-322-objectivec-advancements-indepth","summary":"Join experts from the Objective-C runtime team as they dive deep into the latest runtime and language advancements. Discover how LLVM is helping to advance innovation in Objective-C, learn about new language constructs, and find out more about Automatic Reference Counting.","tags":[],"title":"Objective-C Advancements In-Depth","url":"\/documentation\/wwdc11-322-objectivec-advancements-indepth\/"},{"category":"","section":"documentation","slug":"wwdc11-321-migrating-from-gdb-to-lldb","summary":"LLDB is the next-generation debugger for Mac OS X and iOS. Discover why you’ll want to start using LLDB in your own development, get expert tips from the team that created LLDB, and see how it will help you track down bugs more efficiently than ever before.","tags":[],"title":"Migrating from GDB to LLDB","url":"\/documentation\/wwdc11-321-migrating-from-gdb-to-lldb\/"},{"category":"","section":"documentation","slug":"wwdc11-320-adopting-multitasking-in-your-app","summary":"If your app would benefit from playing audio or updating location when in the background, or completing a task even after the user leaves, or from fast app switching, you will want to learn about multitasking in iOS. A must attend session if you plan to use multitasking in your app.","tags":[],"title":"Adopting Multitasking in Your App","url":"\/documentation\/wwdc11-320-adopting-multitasking-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc11-319-effective-debugging-with-xcode-4","summary":"Xcode 4 introduces a refined and powerful new debugging interface. Discover how you can better track the value of your variables, better debug multithreaded applications, and find and fix issues faster than ever. Join the Xcode engineering team for an in-depth look at the Xcode debugger and LLDB.","tags":[],"title":"Effective Debugging with Xcode 4","url":"\/documentation\/wwdc11-319-effective-debugging-with-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc11-317-device-management-and-app-submission-with-xcode-4","summary":"Xcode 4 contains a wide array of features to make developing for iOS easy and straightforward. From automatic device provisioning, to creating and resigning build archives, and validation and submission to the app store. Join the Xcode engineering team for a tour through the iOS development process and discover time-saving tips and tricks built right into Xcode.","tags":[],"title":"Device Management and App Submission with Xcode 4","url":"\/documentation\/wwdc11-317-device-management-and-app-submission-with-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc11-316-llvm-technologies-in-depth","summary":"The Apple LLVM compiler has evolved at a staggering pace, providing remarkably quick compile times and generating lightning-fast code. See how Xcode integrates LLVM into the IDE to alert to you mistakes as you type, and how it can even fix problems for you. Learn how Xcode’s static analyzer leverages the intelligence of the LLVM engine, and see the latest advancements in C++ support.","tags":[],"title":"LLVM Technologies in Depth","url":"\/documentation\/wwdc11-316-llvm-technologies-in-depth\/"},{"category":"","section":"documentation","slug":"wwdc11-315-whats-new-in-core-data-on-mac-os-x","summary":"Learn about the latest advancements in Core Data on Mac OS X Lion, including improved fetch request API, ordered relationships, new incremental store support, and iCloud Storage APIs. Discover how you can adopt these powerful enhancements in your Mac OS X Lion apps.","tags":[],"title":"What’s New in Core Data on Mac OS X","url":"\/documentation\/wwdc11-315-whats-new-in-core-data-on-mac-os-x\/"},{"category":"","section":"documentation","slug":"wwdc11-313-mastering-schemes-in-xcode-4","summary":"Xcode 4 introduced schemes:a powerful new way to control how you build, debug, test, analyze, profile, and deploy your application. Discover how to use schemes to their fullest potential, learn in-depth details about the Xcode build system, and see how you can configure your project for maximum productivity.","tags":[],"title":"Mastering Schemes in Xcode 4","url":"\/documentation\/wwdc11-313-mastering-schemes-in-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc11-312-ios-performance-and-power-optimization-with-instruments","summary":"Creating an app that performs great is essential to making your users happy. Learn the techniques that will make your app launch faster, require less memory, efficiently use the network, and minimize power consumption. A must attend session for all iOS developers.","tags":[],"title":"iOS Performance and Power Optimization with Instruments","url":"\/documentation\/wwdc11-312-ios-performance-and-power-optimization-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc11-311-mastering-source-control-in-xcode-4","summary":"Xcode 4 provides powerful new ways to integrate directly with Git and Subversion repositories. Learn how this integration can help you work more efficiently with your team, juggle numerous development branches, find and fix bugs, and better understand the history of your code with the Version editor.","tags":[],"title":"Mastering Source Control in Xcode 4","url":"\/documentation\/wwdc11-311-mastering-source-control-in-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc11-310-whats-new-in-instruments","summary":"Instruments is the one stop shop for all your performance needs on Mac OS X and iOS. Discover the latest advancements in Instruments, including improvements in System Trace, Time Profiler, and memory analysis. Learn how Instruments can help your app perform even better.","tags":[],"title":"What’s New in Instruments","url":"\/documentation\/wwdc11-310-whats-new-in-instruments\/"},{"category":"","section":"documentation","slug":"wwdc11-309-introducing-interface-builder-storyboarding","summary":"Discover how Xcode’s Interface Builder support for Storyboarding in iOS 5 makes designing your iOS apps so much easier. Storyboarding allows you to graphically arrange all your views within a single design canvas, where you can then define the app’s logical flow, and even assign transition animations. Learn how to use Storyboarding to quickly go from concept, to creating your next great app.","tags":[],"title":"Introducing Interface Builder Storyboarding","url":"\/documentation\/wwdc11-309-introducing-interface-builder-storyboarding\/"},{"category":"","section":"documentation","slug":"wwdc11-308-blocks-and-grand-central-dispatch-in-practice","summary":"From processing events and callbacks to keeping your app’s user interface running smoothly, block objects and GCD queues are a fundamental part of software design on iOS and Mac OS X. This session provides both an introduction to the technologies and more advanced tips and tricks you need to take advantage of blocks and GCD.","tags":[],"title":"Blocks and Grand Central Dispatch in Practice","url":"\/documentation\/wwdc11-308-blocks-and-grand-central-dispatch-in-practice\/"},{"category":"","section":"documentation","slug":"wwdc11-307-moving-to-apple-llvm-compiler","summary":"Apple LLVM is the modern compiler for Mac OS X and iOS development. Discover the latest features in the Apple LLVM compiler, and see how to take advantage of them in your application. Learn from Apple’s compiler team as they walk you through the steps to migrate your project from GCC to LLVM.","tags":[],"title":"Moving to Apple LLVM compiler","url":"\/documentation\/wwdc11-307-moving-to-apple-llvm-compiler\/"},{"category":"","section":"documentation","slug":"wwdc11-306-maximizing-productivity-in-xcode-4","summary":"Xcode 4 delivers a wealth of new features to help you be more productive than ever before. Join engineers from the Xcode team as they teach time-saving tips, and demonstrate workflows geared toward the power user, to help you work faster and more efficiently.","tags":[],"title":"Maximizing Productivity in Xcode 4","url":"\/documentation\/wwdc11-306-maximizing-productivity-in-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc11-303-whats-new-in-core-data-on-ios","summary":"Core Data is a powerful technology for managing data persistence in your applications. Learn about the latest advancements in Core Data on iOS, including improved fetch request API, ordered relationships, and improved concurrency support. Discover how you can adopt these powerful enhancements in your iOS apps.","tags":[],"title":"What’s New in Core Data on iOS","url":"\/documentation\/wwdc11-303-whats-new-in-core-data-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-302-using-interface-builder-in-xcode-4","summary":"Xcode 4 seamlessly integrates Interface Builder within the IDE. Learn how you can use this integration to work more efficiently than ever before. Discover how Interface Builder in Xcode 4 makes it easy to visually design your user interface and create connections to your code.","tags":[],"title":"Using Interface Builder in Xcode 4","url":"\/documentation\/wwdc11-302-using-interface-builder-in-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc11-300-developer-tools-kickoff","summary":"Xcode is the development environment for creating great applications for Mac, iPhone, and iPad. Discover amazing new features in Xcode, and learn how to get the most out of your development experience. A must-attend session for all developers.","tags":[],"title":"Developer Tools Kickoff","url":"\/documentation\/wwdc11-300-developer-tools-kickoff\/"},{"category":"","section":"documentation","slug":"wwdc11-212-next-generation-cryptographic-services","summary":"Learn about new cryptographic capabilities as well as changes made to the cryptographic services in Mac OS X. Gain insight into the best practices and techniques for using cryptography in your code. Learn how easy it is to add cryptography to your applications.","tags":[],"title":"Next Generation Cryptographic Services","url":"\/documentation\/wwdc11-212-next-generation-cryptographic-services\/"},{"category":"","section":"documentation","slug":"wwdc11-211-bonjour-network-discovery-and-connectivity","summary":"Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks. A wide range of Apple’s products-from iMacs and MacBooks to AirPort Base Stations and Time Capsules, Apple TVs to iPhones, iPod touches and iPads-use Bonjour for streamlined and reliable networking. Learn how to use Bonjour to make it easy for your applications to publish, discover, and resolve network services.","tags":[],"title":"Bonjour Network Discovery and Connectivity","url":"\/documentation\/wwdc11-211-bonjour-network-discovery-and-connectivity\/"},{"category":"","section":"documentation","slug":"wwdc11-210-mastering-grand-central-dispatch","summary":"Grand Central Dispatch is a powerful technology on Mac OS X and iOS that simplifies multi-threaded development. Learn about the latest advancements in Grand Central Dispatch, discover how you can adopt GCD in your own application to increase performance, and gain the real world knowledge you need take your app to the next level.","tags":[],"title":"Mastering Grand Central Dispatch","url":"\/documentation\/wwdc11-210-mastering-grand-central-dispatch\/"},{"category":"","section":"documentation","slug":"wwdc11-209-inside-the-accelerate-framework-for-ios","summary":"Introduction to the Accelerate framework APIs, which consists of state of the art signal processing, matrix and linear algebra computation and now image processing and array based elements.","tags":[],"title":"Inside the Accelerate Framework for iOS","url":"\/documentation\/wwdc11-209-inside-the-accelerate-framework-for-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-208-securing-application-data","summary":"Securing data is an important feature of any application. Learn how to use the Keychain and get recipes to protect application data. Understand how to determine data caching policies, what to do when a device locks, and how to handle upgrades and restores of iOS devices.","tags":[],"title":"Securing Application Data","url":"\/documentation\/wwdc11-208-securing-application-data\/"},{"category":"","section":"documentation","slug":"wwdc11-207-userland-device-access","summary":"As Mac OS X has evolved, many tasks that previously required a kext can be accomplished entirely from outside the kernel. Learn what APIs and services are available to applications to access and control IOKit devices, including Mac App Store compatible solutions.","tags":[],"title":"Userland Device Access","url":"\/documentation\/wwdc11-207-userland-device-access\/"},{"category":"","section":"documentation","slug":"wwdc11-206-introducing-xpc","summary":"XPC is a powerful new technology in Mac OS X Lion for logically separating parts of your application. This separation allows you to work better with App Sandboxing and produce more secure, fault tolerant architectures. Learn all about XPC, how to incorporate it into your application, and discover the real world best practice to get the most out of it.","tags":[],"title":"Introducing XPC","url":"\/documentation\/wwdc11-206-introducing-xpc\/"},{"category":"","section":"documentation","slug":"wwdc11-205-core-os-networking-indepth","summary":"In this session we will got into depth on key new features, tools, and technology that you should be considering as part of your next great iOS or Mac app.","tags":[],"title":"Core OS Networking In-Depth","url":"\/documentation\/wwdc11-205-core-os-networking-indepth\/"},{"category":"","section":"documentation","slug":"wwdc11-204-app-sandbox-and-the-mac-app-store","summary":"Planning to distribute your application on the Mac App Store? Don’t miss this session! Learn how to adopt App Sandbox in your application in order to meet the Mac App Store Guidelines. (pre-req:Introducing App Sandbox)","tags":[],"title":"App Sandbox and the Mac App Store","url":"\/documentation\/wwdc11-204-app-sandbox-and-the-mac-app-store\/"},{"category":"","section":"documentation","slug":"wwdc11-202-security-overview","summary":"Get an overview of new security capabilities in iOS and Mac OS X Lion. Learn how these features can be used to help secure your application. Gain insights into emerging security threats and the implications at the application level.","tags":[],"title":"Security Overview","url":"\/documentation\/wwdc11-202-security-overview\/"},{"category":"","section":"documentation","slug":"wwdc11-201-working-with-ios-accessories","summary":"iOS provides several services in which apps can interact with external accessories and devices. Starting with iOS 4.3, you can stream content from your app using AirPlay. In this session we will review the AirPlay feature set and describe how apps and websites can work with AirPlay devices. We will also review the latest hardware guidelines for developers of Bluetooth accessories and cover new features for Bluetooth, the External Accessory framework, and accessibility devices.","tags":[],"title":"Working with iOS Accessories","url":"\/documentation\/wwdc11-201-working-with-ios-accessories\/"},{"category":"","section":"documentation","slug":"wwdc11-200-core-os-networking-key-principles","summary":"Networking has become a key part of the experience we expect from our computers, devices, and the applications our customers use every day. In this session we will discuss the key principles for successful network integration for your applications as well as new technologies and features you should be considering as you write the next great app.","tags":[],"title":"Core OS Networking, Key Principles","url":"\/documentation\/wwdc11-200-core-os-networking-key-principles\/"},{"category":"","section":"documentation","slug":"wwdc11-136-latent-semantic-mapping-exposing-the-meaning-behind-words-and-documents","summary":"Latent Semantic Mapping (LSM) is the powerful engine behind such Mac OS X features as the Junk Mail Filter, Parental Controls, Kanji Text Input, and in Lion, a more helpful Help. This session will explain how you can use LSM to make your own documents easier for your users to find, to sort, to filter, to classify, and to retrieve. Learn how to use this valuable framework and the LSM command-line tool. Gain an understanding of the major concepts behind the API, see the types of problems it can address in your application, and learn best practices for achieving robust performance.","tags":[],"title":"Latent Semantic Mapping: Exposing the Meaning behind Words and Documents","url":"\/documentation\/wwdc11-136-latent-semantic-mapping-exposing-the-meaning-behind-words-and-documents\/"},{"category":"","section":"documentation","slug":"wwdc11-131-getting-your-apps-ready-for-china-and-other-hot-new-markets","summary":"Sales of Apple products are increasing dramatically in new markets such as China. Apple platforms now support new localizations such as Arabic. Quality localization is critical to the success of your apps in these rapidly growing markets. This session will cover the things you need to know to succeed, including:1. What kind of language support is offered and how you can test. 2. Making your application localizable for these markets. 3. How to make sure your application supports bidirectional UI.","tags":[],"title":"Getting Your Apps Ready for China and other Hot New Markets","url":"\/documentation\/wwdc11-131-getting-your-apps-ready-for-china-and-other-hot-new-markets\/"},{"category":"","section":"documentation","slug":"wwdc11-129-practical-drawing-for-ios-developers","summary":"Come learn about all the amazing things you can do with Core Graphics. In this talk you learn from seasoned Apple engineers how to use Core Graphics to get great performance, beautiful graphics, and compelling animations. Learn to draw amazing custom user interface elements, customize the appearance of UIKit with procedurally generated images and animate between draw states. This talk will help you use Core Graphics to its full potential in your application.","tags":[],"title":"Practical Drawing for iOS Developers","url":"\/documentation\/wwdc11-129-practical-drawing-for-ios-developers\/"},{"category":"","section":"documentation","slug":"wwdc11-128-advanced-text-processing","summary":"Applications deal with large amounts of text in a wide variety of languages and formats. They can benefit from improving their understanding of textual data. Learn how to analyze the content of text using the wide range of features now available on iOS and Mac OS X, including regular expressions, data detectors, linguistic APIs, spellchecking, and more.","tags":[],"title":"Advanced Text Processing","url":"\/documentation\/wwdc11-128-advanced-text-processing\/"},{"category":"","section":"documentation","slug":"wwdc11-127-design-patterns-to-simplify-mac-accessibility","summary":"Your Mac app already contains a wealth of accessibility information just waiting to be reported through the NSAccessibility APIs. Doing so opens your app up to growing numbers of VoiceOver users and gives you and your users a way to automate your application’s interface. Come learn about design patterns that simply the process of making your application and custom views accessible, and discover accessibility enhancements in Lion.","tags":[],"title":"Design Patterns to Simplify Mac Accessibility","url":"\/documentation\/wwdc11-127-design-patterns-to-simplify-mac-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc11-125-uitableview-changes-tips-and-tricks","summary":"iOS 5.0 introduces a number of new features in UITableView. Come learn what’s new as well as some fun tricks to make your application stand out from the crowd.","tags":[],"title":"UITableView Changes, Tips & Tricks","url":"\/documentation\/wwdc11-125-uitableview-changes-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc11-124-twitter-integration","summary":"Learn how to integrate Twitter into your applications. If you’re new to Twitter, or have existing applications, we’ll show you how easy it is to make the most of our new framework for single sign-on accounts.","tags":[],"title":"Twitter Integration","url":"\/documentation\/wwdc11-124-twitter-integration\/"},{"category":"","section":"documentation","slug":"wwdc11-123-improving-the-stability-of-your-apps","summary":"Learn how to properly test and debug your application to ensure a great first impression. From edge cases to common pitfalls, learn tips and tricks on how to ensure that your application runs on multiple devices and multiple versions of iOS.","tags":[],"title":"Improving the Stability of Your Apps","url":"\/documentation\/wwdc11-123-improving-the-stability-of-your-apps\/"},{"category":"","section":"documentation","slug":"wwdc11-122-ios-accessibility","summary":"iOS devices are incredibly popular for users with blindness, low vision, and other disabilities. Learn how to make your apps accessible to everyone, as well as how to make apps that are tailored expressly for users with disabilities. This talk will cover new and existing UIAccessibility API, and it will provide tips and tricks for making all apps more usable by everyone.","tags":[],"title":"iOS Accessibility","url":"\/documentation\/wwdc11-122-ios-accessibility\/"},{"category":"","section":"documentation","slug":"wwdc11-121-understanding-uikit-rendering","summary":"UIKit has strong ties to Core Animation, and an understanding of this relationship can provide important insight into the behavior and performance of your UIKit application. We’ll walk through the fundamentals of UIView and CALayer geometry, convert a pure Core Animation application to use UIKit, and explore some tools Core Animation offers to enhance your application’s appearance and performance. Learn various techniques to provide optimal edge anti-aliasing, group opacity, clipping, shadows and more.","tags":[],"title":"Understanding UIKit Rendering","url":"\/documentation\/wwdc11-121-understanding-uikit-rendering\/"},{"category":"","section":"documentation","slug":"wwdc11-120-view-based-nstableview-basic-to-advanced","summary":"Lion now has the ability to use Views instead of Cells inside NSTableView. Get the information on how to quickly develop applications using this new technology. Basic TableView setup will be covered, along with more advanced features, such as insertion animations and dynamically updating content.","tags":[],"title":"View Based NSTableView Basic to Advanced","url":"\/documentation\/wwdc11-120-view-based-nstableview-basic-to-advanced\/"},{"category":"","section":"documentation","slug":"wwdc11-119-resume-and-automatic-termination-in-lion","summary":"Lion introduces Resume:a simpler way for apps to exit and later resume where they left off. Come learn how to take advantage of new APIs to enable your users to spend less time managing your app and more time using it. You will learn about the Resume feature as we walk through converting real applications to adopt automatic termination and window restoration. The session will include plenty of concrete code samples and practical advice.","tags":[],"title":"Resume and Automatic Termination in Lion","url":"\/documentation\/wwdc11-119-resume-and-automatic-termination-in-lion\/"},{"category":"","section":"documentation","slug":"wwdc11-118-making-the-most-of-multitouch-on-ios","summary":"This session will help you take advantage of the Multi-Touch features available in iOS. You will learn practical information about Multi-Touch APIs, touch routing, gesture recognizers, as well as guidelines for interoperating with the system and other apps, and pointers for how to create complex real-world user interfaces which make great use of Multi-Touch.","tags":[],"title":"Making the Most of Multi-Touch on iOS","url":"\/documentation\/wwdc11-118-making-the-most-of-multitouch-on-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-117-performing-calendar-calculations","summary":"Calendar arithmetic can be tricky. Discover some of the common pitfalls in various calendars and learn about the best practices to doing various kinds of calculations.","tags":[],"title":"Performing Calendar Calculations","url":"\/documentation\/wwdc11-117-performing-calendar-calculations\/"},{"category":"","section":"documentation","slug":"wwdc11-116-storing-documents-in-icloud-using-ios-5","summary":"iCloud Storage enables iOS 5 apps to store documents in the cloud, so users can access the same documents from iPhone, iPad, iPod touch, Mac, or PC. Learn how to use the new UIDocument class to build applications that integrate with iCloud.","tags":[],"title":"Storing Documents in iCloud using iOS 5","url":"\/documentation\/wwdc11-116-storing-documents-in-icloud-using-ios-5\/"},{"category":"","section":"documentation","slug":"wwdc11-115-scrolling-swiping-dragging-now-with-more-animation","summary":"Scrolling and drag and drop have undergone major improvements in Lion. Get introduced to the new scrolling behavior and learn why up is now down, and down is now up. Discover the new scroll wheel event properties providing a wealth of new information about each scroll event. Learn how to customize scrolling in NSScrollView such as setting a custom background for rubber-banding and setting which axis are allowed to rubber-band. Learn how to track scrolling to perform a fluid swipe animation of your content while playing nice with rubber-banding. No longer be a passive observer of drag and drop. Learn how and when to actively participate by changing the drag images in flight.","tags":[],"title":"Scrolling, Swiping, Dragging: Now with more animation!","url":"\/documentation\/wwdc11-115-scrolling-swiping-dragging-now-with-more-animation\/"},{"category":"","section":"documentation","slug":"wwdc11-114-customizing-the-appearance-of-uikit-controls","summary":"With iOS 5, you can customize the look of your app controls using the new Appearance APIs. The new Appearance Proxy API allows you to efficiently apply a custom appearance to your views and controls, including built-in controls such navigation, tab, and toolbars. These customizations can be applied across your entire app or independently on a per-control basis.","tags":[],"title":"Customizing the Appearance of UIKit Controls","url":"\/documentation\/wwdc11-114-customizing-the-appearance-of-uikit-controls\/"},{"category":"","section":"documentation","slug":"wwdc11-113-full-screen-and-aqua-changes","summary":"Learn the ins and outs of making your app Lion-ready. Use Lion’s new Full Screen mode, and adapt to changes in the look and behavior of standard controls. This session will include tips and sample code that you can learn from and put immediately to work.","tags":[],"title":"Full Screen and Aqua Changes","url":"\/documentation\/wwdc11-113-full-screen-and-aqua-changes\/"},{"category":"","section":"documentation","slug":"wwdc11-112-writing-easytochange-code-your-secondmost-important-goal-as-a-developer","summary":"Dealing with software change is constant. The better you plan for change, the faster you can make new apps and update your existing apps. This talk gives you ideas for improving your approach to software change, and includes both general software engineering conventions and iOS-specific conventions. You’ll hear concrete suggestions you can use to make your development process quicker and more efficient.","tags":[],"title":"Writing Easy-To-Change Code: Your Second-Most Important Goal As A Developer","url":"\/documentation\/wwdc11-112-writing-easytochange-code-your-secondmost-important-goal-as-a-developer\/"},{"category":"","section":"documentation","slug":"wwdc11-111-visualizing-information-geographically-with-mapkit","summary":"The Map Kit framework lets you present rich annotated maps from within your application. Come learn about the added support for different tracking modes and new ways of showing custom information and maps to users. Review the latest best practices for integrating Map Kit into your app.","tags":[],"title":"Visualizing Information Geographically with MapKit","url":"\/documentation\/wwdc11-111-visualizing-information-geographically-with-mapkit\/"},{"category":"","section":"documentation","slug":"wwdc11-110-designing-user-interfaces-for-ios-and-mac-os-x-apps","summary":"Gain key insights into what it takes to create amazing iPhone, iPad, and Mac OS X apps. Learn the latest tips, best practices, methodology and prototyping techniques.","tags":[],"title":"Designing User Interfaces for iOS and Mac OS X Apps","url":"\/documentation\/wwdc11-110-designing-user-interfaces-for-ios-and-mac-os-x-apps\/"},{"category":"","section":"documentation","slug":"wwdc11-109-taking-advantage-of-file-coordination","summary":"The next version of the Foundation framework will include file coordination, a new mechanism that allows a process to interoperate well with other processes that are accessing the same files. It even lets your application play an active role in file operations done by other processes. We’ll talk about what it is and how you use it. It’s an important API to some of the other new features you’ll learn about at this year’s WWDC so we’ll also talk about how parts of Mac OS X and iOS are already using it.","tags":[],"title":"Taking Advantage of File Coordination","url":"\/documentation\/wwdc11-109-taking-advantage-of-file-coordination\/"},{"category":"","section":"documentation","slug":"wwdc11-108-ios-printing-system","summary":"iOS now contains a full featured printing system that allows any application to create great printed output. In this session you will learn about how printing works on iOS, the printing models available to your application and how to determine which approach is best. We will provide step by step walk through of the necessary APIs and program structure to allow your application to printing with desktop quality and richness, with a minimum of development effort.","tags":[],"title":"iOS Printing System","url":"\/documentation\/wwdc11-108-ios-printing-system\/"},{"category":"","section":"documentation","slug":"wwdc11-107-auto-save-and-versions-in-mac-os-x-107-lion","summary":"Your application can easily be part of the new Auto Save and Versions features in Lion. We will show the benefits of adopting these new features, discuss how to implement them, and go over best practices for Auto Saving applications. This talk will also cover some of the other new topics in NSDocument.","tags":[],"title":"Auto Save and Versions in Mac OS X 10.7 Lion","url":"\/documentation\/wwdc11-107-auto-save-and-versions-in-mac-os-x-107-lion\/"},{"category":"","section":"documentation","slug":"wwdc11-106-systemwide-previews-on-osx-and-ios","summary":"Quick Look is a technology that displays previews (OSX and iOS) and thumbnails (OSX only) of your documents. It helps the user quickly identify the files he is interacting with.Learn how to take advantage of Quick Look to display document previews on the Mac, iPhone and iPad. Learn how you can generate thumbnails and how to write plug-ins to support your own document formats on the Mac.","tags":[],"title":"System-wide Previews on OSX and iOS","url":"\/documentation\/wwdc11-106-systemwide-previews-on-osx-and-ios\/"},{"category":"","section":"documentation","slug":"wwdc11-105-polishing-your-app-tips-and-tricks-to-improve-responsiveness-and-performance","summary":"It’s easy to write an app for iOS, however writing a great app takes effort. iOS Engineers will show you how to improve your app’s responsiveness and performance, while polishing the overall user experience. Discover new techniques for saving your app’s state, starting quickly on cold launch, improving user awareness by utilizing animations, and working efficiently with network resources and GCD.","tags":[],"title":"Polishing your App: Tips and Tricks to Improve Responsiveness and Performance","url":"\/documentation\/wwdc11-105-polishing-your-app-tips-and-tricks-to-improve-responsiveness-and-performance\/"},{"category":"","section":"documentation","slug":"wwdc11-104-advanced-scrollview-techniques","summary":"Come learn about how to achieve the appearance of infinite scrolling in either one or two dimensions. We’ll also look at how to change the resolution of drawn content during zooming, without requiring the use of CATiledLayer.","tags":[],"title":"Advanced ScrollView Techniques","url":"\/documentation\/wwdc11-104-advanced-scrollview-techniques\/"},{"category":"","section":"documentation","slug":"wwdc11-103-cocoa-autolayout","summary":"In Lion, we revisit the basics of how views are placed in windows for the first time since Mac OS X 10.0. Springs and struts (i.e. autoresizing masks) are out, dashed blue Interface Builder guides are in. Rather than being one-off helpers for setting a frame in IB, guides become persistent objects that maintain a relationship at runtime. Come see what’s going on, and what merited such a big change.","tags":[],"title":"Cocoa Autolayout","url":"\/documentation\/wwdc11-103-cocoa-autolayout\/"},{"category":"","section":"documentation","slug":"wwdc11-102-implementing-uiviewcontroller-containment","summary":"View controllers are a fundamental piece of any iOS application. Come to this session to learn how to ensure child view controllers receive appearance and rotation callbacks correctly, new methods of controlling view controller presentation, and become acquainted with a new view controller container class.","tags":[],"title":"Implementing UIViewController Containment","url":"\/documentation\/wwdc11-102-implementing-uiviewcontroller-containment\/"},{"category":"","section":"documentation","slug":"wwdc11-101-whats-new-in-cocoa","summary":"The Cocoa frameworks give you high-level access to the underlying power of Mac OS X. Get a developer’s eye overview of the Lion advances in Foundation and Application Kit, including support for new features such as Full-screen, Auto Save, Resume, Versions, and many others. This session will orient you for the other Cocoa sessions that cover these technologies in further detail.","tags":[],"title":"What’s New in Cocoa","url":"\/documentation\/wwdc11-101-whats-new-in-cocoa\/"},{"category":"","section":"documentation","slug":"wwdc11-100-whats-new-in-cocoa-touch","summary":"iOS 5 introduces many enhancements to the Cocoa Touch frameworks that accelerate your development and improve your application’s user experience. Get up to speed with theming UIKit, handling documents, custom view controller containment and all the other new features that will help you write great applications.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc11-100-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc11","summary":"iOS 5, macOS 10.7 (Lion).","tags":[],"title":"WWDC11","url":"\/documentation\/wwdc11\/"},{"category":"","section":"documentation","slug":"wwdc10-512-using-html5-offline-storage","summary":"See how you can use HTML5 local data storage to improve responsiveness in your web application. Learn to create full-fledged offline web applications that can be used even when your users don’t have a connection to the Internet, and discover the best practices for using these technologies in web content that’s intended for Safari on iPhone OS and the desktop.","tags":[],"title":"Using HTML5 Offline Storage","url":"\/documentation\/wwdc10-512-using-html5-offline-storage\/"},{"category":"","section":"documentation","slug":"wwdc10-511-creating-content-with-iad-js-part-2","summary":"Learn to use the iAd JS framework to create rich ad content for iPhone OS applications. See how iAd JS uses the latest web technologies like HTML5 and CSS3, and learn to leverage the iAd JS class structure and built-in controls to deliver high-performance ad content. Understand the basic principles of this framework, and learn to extend iAd JS to make your own custom controls.","tags":[],"title":"Creating Content With iAd JS, Part 2","url":"\/documentation\/wwdc10-511-creating-content-with-iad-js-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-510-creating-content-with-iad-js-part-1","summary":"See how to build an ad with iAd JS as Apple engineers take you through the code step-by-step. Discover the best practices for organizing your various ad assets for preloading, media streaming, and more. Learn to add view controllers, and see how to correctly package your ad content for deployment.","tags":[],"title":"Creating Content With iAd JS, Part 1","url":"\/documentation\/wwdc10-510-creating-content-with-iad-js-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-509-creating-info-graphics-with-standard-web-technologies","summary":"You can use standard web technologies to create rich informational graphics that display flawlessly in Safari and other web browsers. Learn how to use SVG and the HTML5 canvas element to create and display graphs, tables, charts, and data visualizations in your web pages. Discover the best practices for optimal drawing performance, and for integrating remote, dynamic data into your web graphics.","tags":[],"title":"Creating Info Graphics with Standard Web Technologies","url":"\/documentation\/wwdc10-509-creating-info-graphics-with-standard-web-technologies\/"},{"category":"","section":"documentation","slug":"wwdc10-508-adding-touch-and-gesture-detection-to-web-pages-on-iphone-os","summary":"Safari on iPad literally puts the Web right in your hands. See how to enable direct manipulation of web content using the DOM Touch JavaScript API to detect touch and gesture events such as pinch and rotation. Learn to augment your web content with the kinds of rich interactions that you typically see in native applications, and see how to integrate DOM touch events with other prominent cutting-edge web technologies.","tags":[],"title":"Adding Touch and Gesture Detection to Web Pages on iPhone OS","url":"\/documentation\/wwdc10-508-adding-touch-and-gesture-detection-to-web-pages-on-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-507-getting-the-most-out-of-safari-integrated-developer-tools","summary":"Safari contains an extraordinary set of integrated developer tools. See how to use these tools to debug JavaScript, profile performance, inspect and edit CSS, view locally stored data, and test pieces of code on the fly. Discover new features that streamline your development, and learn techniques for optimizing page load time on mobile devices such as iPhone and iPad.","tags":[],"title":"Getting the Most Out of Safari Integrated Developer Tools","url":"\/documentation\/wwdc10-507-getting-the-most-out-of-safari-integrated-developer-tools\/"},{"category":"","section":"documentation","slug":"wwdc10-506-creating-extensions-for-safari-part-2","summary":"Take your Safari extension to the next level by learning how to modify the appearance and behavior of any web page. Find out what methods and properties are exposed to JavaScript specifically for extensions, and see how your Safari extension can execute scripts, apply CSS styles, and display context menus. Learn how you can easily adjust an existing extension for use in Safari, and discover how easy it is to publish updated versions of your extension.","tags":[],"title":"Creating Extensions for Safari, Part 2","url":"\/documentation\/wwdc10-506-creating-extensions-for-safari-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-505-creating-extensions-for-safari-part-1","summary":"New in Safari 5, the Safari Developer Program lets you use standard web technologies to create extensions for Safari. Discover what’s possible with Safari extensions, and learn how you can use this technology to add buttons to the Safari toolbar, or a display a bar that shows your own custom content. See how to get a head start on extension development with the Extension Builder in Safari, and find out how to create user settings for your extension.","tags":[],"title":"Creating Extensions for Safari, Part 1","url":"\/documentation\/wwdc10-505-creating-extensions-for-safari-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-504-css-effects-part-2-galleries-and-3d-effects","summary":"You can create rich, interactive media galleries for Safari on iPhone OS and the desktop using standard web technologies such as CSS transitions and animations. See how to deliver a first-rate immersive experience by positioning and animating webpage elements in 3D space, controlling keyframes within animations, and listening for animation events to trigger other actions on the page. Understand how to deliver these effects with a minimal amount of code, and discover tips and tricks for great performance.","tags":[],"title":"CSS Effects, Part 2: Galleries and 3D Effects","url":"\/documentation\/wwdc10-504-css-effects-part-2-galleries-and-3d-effects\/"},{"category":"","section":"documentation","slug":"wwdc10-503-css-effects-part-1-ui-elements-and-navigation","summary":"You can use the latest CSS technologies to deliver a top-notch web experience in Safari on iPhone OS and the desktop. Discover how to use CSS to dynamically position, scale, or rotate any web page element in 2D space, create rich animated menus, and implement image-free mastheads and buttons. See how to optimize with CSS to take advantage of hardware-accelerated animations and reduce your overall page load time, and learn the best practices for creating content that degrades gracefully in older web browsers.","tags":[],"title":"CSS Effects, Part 1: UI Elements and Navigation","url":"\/documentation\/wwdc10-503-css-effects-part-1-ui-elements-and-navigation\/"},{"category":"","section":"documentation","slug":"wwdc10-502-delivering-audio-and-video-using-web-standards-part-2","summary":"Learn to integrate HTML5 video with CSS3 2D and 3D transforms and animations to deliver rich media experiences for Safari on iPhone OS, Mac OS X, and Windows. See how to add advanced features such as closed captions, and understand how to modify your code so that your video can be embedded in other websites in a way that is compatible with multiple platforms and web browsers.","tags":[],"title":"Delivering Audio and Video Using Web Standards, Part 2","url":"\/documentation\/wwdc10-502-delivering-audio-and-video-using-web-standards-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-501-delivering-audio-and-video-using-web-standards-part-1","summary":"HTML5 is the best way to deliver audio and video in web pages in Safari. Discover basic techniques for delivering media with HTML5 and master the JavaScript APIs necessary to design and implement your own custom media controls to match the look and feel of your website. Learn platform-specific details and best practices for delivering a seamless media experience in Safari on iPhone OS, Mac OS X, and Windows.","tags":[],"title":"Delivering Audio and Video Using Web Standards, Part 1","url":"\/documentation\/wwdc10-501-delivering-audio-and-video-using-web-standards-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-500-safari-internet-and-web-state-of-the-union","summary":"With blazing performance, a strong commitment to open web standards, and an intuitive set of integrated developer tools, Safari is the optimal platform for web developers on iPhone OS, Mac OS X, and Windows. Familiarize yourself with the tools and technologies that you can use to deliver a superior web experience in Safari, and discover exciting new features specifically for web developers. Get up to speed on the state of Internet and Web technologies, and plan your roadmap of sessions for the entire week.","tags":[],"title":"Safari, Internet and Web State of the Union","url":"\/documentation\/wwdc10-500-safari-internet-and-web-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc10-426-core-image-effects-and-optimization","summary":"Core Image lets you create high-performance image processing solutions that automatically take advantage of modern GPU hardware on Mac OS X. See how you can harness its capabilities to enhance still images and create stunning visual effects. Learn recommended practices for using Core Image efficiently, and understand how to extend Core Image to leverage your own custom image processing algorithms.","tags":[],"title":"Core Image Effects and Optimization","url":"\/documentation\/wwdc10-426-core-image-effects-and-optimization\/"},{"category":"","section":"documentation","slug":"wwdc10-425-core-animation-in-practice-part-2","summary":"Core Animation can give your application a dynamic, responsive user interface and eye-catching visuals. Learn how to maintain high frame rates and deliver smooth transitions and effects. Understand the impact of design decisions and how to implement best practices for creating compelling animations. Review solutions to common issues faced by Core Animation programmers.","tags":[],"title":"Core Animation in Practice, Part 2","url":"\/documentation\/wwdc10-425-core-animation-in-practice-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-424-core-animation-in-practice-part-1","summary":"Core Animation is the layer-based animation system that powers the dynamic user experience seen in iPhone OS. See Core Animation in action and learn about its architecture, capabilities, and best practices. Learn how to combine the familiar capabilities of UIKit, Quartz 2D, and OpenGL ES with the power of Core Animation layers and animation.","tags":[],"title":"Core Animation in Practice, Part 1","url":"\/documentation\/wwdc10-424-core-animation-in-practice-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-423-sensing-device-motion-in-ios-4","summary":"The Core Motion framework provides a consolidated programing interface for all things motion - providing high-fidelity data that lets you determine precisely how the device is oriented and moving in 3D space. Come discover how you can create incredibly immersive user experiences using only your device’s motion for input.","tags":[],"title":"Sensing Device Motion in iOS 4","url":"\/documentation\/wwdc10-423-sensing-device-motion-in-ios-4\/"},{"category":"","section":"documentation","slug":"wwdc10-422-taking-advantage-of-multiple-gpus","summary":"Your application may be running on a Mac that contains more than one graphics processor. Understand how to adapt to renderer changes and the actions to take when the user drags your app from one screen to another. Discover how your application can drive multiple GPUs with OpenGL and OpenCL simultaneously, and see how to leverage the low-level power of IOSurface to share media data between them.","tags":[],"title":"Taking Advantage of Multiple GPUs","url":"\/documentation\/wwdc10-422-taking-advantage-of-multiple-gpus\/"},{"category":"","section":"documentation","slug":"wwdc10-421-incorporating-the-camera-and-photo-library-in-your-app","summary":"iPhone OS lets you easily integrate still images and video into your apps and provides direct access to the Photo Library. You can also combine live camera input with positional information and other data to create a visually stunning app. Hear about best practices from existing use cases. Also learn how to take advantage of new features such as programmatic access to all library assets and live image buffer access.","tags":[],"title":"Incorporating the Camera and Photo Library in your App","url":"\/documentation\/wwdc10-421-incorporating-the-camera-and-photo-library-in-your-app\/"},{"category":"","section":"documentation","slug":"wwdc10-420-opengl-for-mac-os-x","summary":"OpenGL is the foundation for accelerated graphics in Mac OS X, taking advantage of the most recent innovations in graphics hardware. See how advances in OpenGL enable you to unlock the incredible rendering power of the GPU. Get all the details to take advantage of OpenGL extensions, and learn best practices and tips for modernizing and streamlining your graphics code.","tags":[],"title":"OpenGL for Mac OS X","url":"\/documentation\/wwdc10-420-opengl-for-mac-os-x\/"},{"category":"","section":"documentation","slug":"wwdc10-419-opengl-es-tuning-and-optimization","summary":"Your application can create incredible visuals while maintaining high frame rates using OpenGL ES. Understand how to fine tune your code to the performance profile of the iPhone, iPad, and iPod touch. Gain specific insights into mastering the developer tools, and learn key practices to keep your application on the fast path.","tags":[],"title":"OpenGL ES Tuning and Optimization","url":"\/documentation\/wwdc10-419-opengl-es-tuning-and-optimization\/"},{"category":"","section":"documentation","slug":"wwdc10-418-maximizing-opencl-performance","summary":"Dive deeper into the practical application of OpenCL to accelerate computationally intensive tasks. Discover a variety of algorithms that can harness OpenCL to yield incredible performance gains, and learn to take advantage of the OpenCL execution model and memory architecture. Learn how to mix high-performance rendering using the OpenGL graphics API with the parallel computing capabilities of OpenCL.","tags":[],"title":"Maximizing OpenCL Performance","url":"\/documentation\/wwdc10-418-maximizing-opencl-performance\/"},{"category":"","section":"documentation","slug":"wwdc10-417-opengl-es-shading-and-advanced-rendering","summary":"The OpenGL ES Shading Language lets you tap into the programmable graphics pipeline enabled by OpenGL ES 2.0. Dive straight into the vertex and fragment shader code used to create spectacular visual effects. Find out how OpenGL ES 2.0 advanced rendering techniques can accelerate and transform your application.","tags":[],"title":"OpenGL ES Shading and Advanced Rendering","url":"\/documentation\/wwdc10-417-opengl-es-shading-and-advanced-rendering\/"},{"category":"","section":"documentation","slug":"wwdc10-416-harnessing-opencl-in-your-application","summary":"OpenCL is a groundbreaking technology that lets your application tap into the vast computing power of modern graphics processors and multicore CPUs. Understand the OpenCL architecture, its approachable C-based language, and its powerful API for managing parallel computations. Discover how to refactor your application code to unleash the full computational capabilities of the Mac OS X platform.","tags":[],"title":"Harnessing OpenCL in Your Application","url":"\/documentation\/wwdc10-416-harnessing-opencl-in-your-application\/"},{"category":"","section":"documentation","slug":"wwdc10-415-opengl-es-overview-for-iphone-os","summary":"OpenGL ES provides access to the stunning graphics power of iPhone, iPad, and iPod touch. See how your application can create incredible visuals while maintaining high frame rates using the programmable pipeline enabled by OpenGL ES 2.0. Learn more about the innovations provided by iOS 4, and see how OpenGL ES can deliver interactive graphics in your games and other mobile 3D applications.","tags":[],"title":"OpenGL ES Overview for iPhone OS","url":"\/documentation\/wwdc10-415-opengl-es-overview-for-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-414-opengl-essential-design-practices","summary":"OpenGL and OpenGL ES provide access to the stunning 2D and 3D rendering power of the Mac, iPhone, and iPad. Learn fundamental, platform-independent best practices along with specific techniques to use the graphics pipeline efficiently. See how to best submit vertex and texture data, eliminate redundant data copies, streamline your use of the GPU, and attain maximum frame rates in your application.","tags":[],"title":"OpenGL Essential Design Practices","url":"\/documentation\/wwdc10-414-opengl-essential-design-practices\/"},{"category":"","section":"documentation","slug":"wwdc10-413-audio-development-for-iphone-os-part-2","summary":"Audio units unleash the power of iPhone OS to provide your app with sophisticated audio manipulation and processing. Dive deep into the architecture and fundamentals of an app built around audio units and understand how to take advantage of their richness in your own code. Learn to use audio units for mixing, and see how your app can support low-latency input and output.","tags":[],"title":"Audio Development for iPhone OS, Part 2","url":"\/documentation\/wwdc10-413-audio-development-for-iphone-os-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-412-audio-development-for-iphone-os-part-1","summary":"iPhone OS provides a powerful engine for playing, recording, and processing audio in your applications for iPhone, iPad or iPod touch. Get introduced to the high level classes in AV Foundation used to play or record sounds. Gain a thorough understanding of audio session management, and learn the recommended practices for handling background audio, choosing an audio session category, and playing multiple sounds simultaneously.","tags":[],"title":"Audio Development for iPhone OS, Part 1","url":"\/documentation\/wwdc10-412-audio-development-for-iphone-os-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-411-fundamentals-of-digital-audio-for-mac-os-x-and-iphone-os","summary":"Core Audio features a state-of-the-art audio engine for Mac OS X and iPhone OS, enabling the world’s most innovative desktop and mobile music and audio applications. Understand the fundamental principles of digital audio processing and codecs that are critical to any application delivering audio functionality and how these relate to the Core Audio API and services.","tags":[],"title":"Fundamentals of Digital Audio for Mac OS X and iPhone OS","url":"\/documentation\/wwdc10-411-fundamentals-of-digital-audio-for-mac-os-x-and-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-410-game-center-techniques-part-2","summary":"Continue to learn about Game Center by examining of the richness of the Game Kit framework and API. Understand the process behind matchmaking and go deeply into the details of sending, receiving, and handling multi-player invitations. Learn about sending data or game state to remote players and discuss how you can take advantage of in-game voice chat.","tags":[],"title":"Game Center Techniques, Part 2","url":"\/documentation\/wwdc10-410-game-center-techniques-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-409-using-the-camera-with-av-foundation","summary":"AV Foundation provides your application with full programmatic access to video and still images from the built-in camera. Learn how to utilize camera input in your app to analyze incoming video frames. Explore the capture capabilities of the AV Foundation framework, and see how you can integrate them into your products.","tags":[],"title":"Using the Camera with AV Foundation","url":"\/documentation\/wwdc10-409-using-the-camera-with-av-foundation\/"},{"category":"","section":"documentation","slug":"wwdc10-408-game-center-techniques-part-1","summary":"The developer preview of Game Center is enabled through new additions to the Game Kit framework in iOS 4. Dive into its rich API to get your Game Center application up and running. Learn the process for authenticating a player, managing achievements, and updating leaderboards. Learn from a variety of usage scenarios that can help you enrich your users’ gaming experience.","tags":[],"title":"Game Center Techniques, Part 1","url":"\/documentation\/wwdc10-408-game-center-techniques-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-407-editing-media-with-av-foundation","summary":"The AV Foundation framework gives you a new level of power and control over iPhone OS media. New classes introduced in iOS 4 extend your ability to work with movies as well as audio. Discover how you can edit media files for outstanding results.","tags":[],"title":"Editing Media with AV Foundation","url":"\/documentation\/wwdc10-407-editing-media-with-av-foundation\/"},{"category":"","section":"documentation","slug":"wwdc10-405-discovering-av-foundation","summary":"The AV Foundation framework provides a rich Objective-C interface for recording and playing audio and video in your iPhone OS application. In iOS 4, the framework includes significant new foundation classes for working with media. Learn how to use these new classes for media playback, editing, capture, and export.","tags":[],"title":"Discovering AV Foundation","url":"\/documentation\/wwdc10-405-discovering-av-foundation\/"},{"category":"","section":"documentation","slug":"wwdc10-404-introduction-to-game-center","summary":"iOS 4 includes a developer preview of Game Center, Apple’s new social gaming network. Get introduced to the concepts behind this technology and understand how to use it to create great games. Learn about the classes and APIs in the Game Kit framework and see how your users will interact with your Game Center enabled app.","tags":[],"title":"Introduction to Game Center","url":"\/documentation\/wwdc10-404-introduction-to-game-center\/"},{"category":"","section":"documentation","slug":"wwdc10-403-advances-in-http-live-streaming","summary":"HTTP Live Streaming lets you deliver video using HTTP from a standard Web server. Gain a practical understanding of the details behind deployment of live and on-demand streams. Learn how to design for mobility and the best practices for delivering video into your application or on the web.","tags":[],"title":"Advances in HTTP Live Streaming","url":"\/documentation\/wwdc10-403-advances-in-http-live-streaming\/"},{"category":"","section":"documentation","slug":"wwdc10-402-game-design-and-development-for-iphone-os-part-2","summary":"The iPhone SDK provides a phenomenal platform for mobile game development. Dive deeper into the technologies available to iPhone game developers and learn best practices. Understand real-world solutions for enhancing gameplay and creating high-quality content through rapid design iteration. See how the best games harness the rich capabilities of iPhone OS, and learn how to create a compelling and entertaining experience of your own. This two-part is session essential for developers wishing to create rich gameplay experiences for iPhone, iPad, and iPod touch.","tags":[],"title":"Game Design and Development for iPhone OS, Part 2","url":"\/documentation\/wwdc10-402-game-design-and-development-for-iphone-os-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-401-game-design-and-development-for-iphone-os-part-1","summary":"iOS 4 delivers an incredible collection of graphics, media, and connected technologies for developing cutting-edge mobile games. Learn how to create the most compelling and innovative games possible. Understand the tools for creating game models, audio assets, and gorgeous artwork, and learn practical techniques behind game design and production. This two-part session is essential for developers wishing to create rich gameplay experiences for iPhone, iPad, and iPod touch.","tags":[],"title":"Game Design and Development for iPhone OS, Part 1","url":"\/documentation\/wwdc10-401-game-design-and-development-for-iphone-os-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-400-graphics-and-media-state-of-the-union","summary":"Apple’s Graphics and Media frameworks provide an incredible array of technologies for rich graphics, cutting-edge game development, and platform-optimized audio and video experiences. Join your fellow developers in kicking off the Graphics and Media sessions of WWDC 2010 and gain key insights into the powerful capabilities you’ll use to create great applications.","tags":[],"title":"Graphics and Media State of the Union","url":"\/documentation\/wwdc10-400-graphics-and-media-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc10-317-understanding-crash-reports-on-iphone-os","summary":"Even the best apps crash sometimes. Diagnosing and fixing your app’s crashes can make the difference between improving it or losing your customers. Learn the skills you need to identify and fix your crashes and avoid common pitfalls.","tags":[],"title":"Understanding Crash Reports on iPhone OS","url":"\/documentation\/wwdc10-317-understanding-crash-reports-on-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-316-debugging-with-xcode-4-and-lldb","summary":"Xcode 4 takes debugging to the next level with new features to help you work faster and more efficiently. Learn about new workflows for debugging Mac and iPhone applications, and discover Apple’s powerful new debugger infrastructure, LLDB.","tags":[],"title":"Debugging with Xcode 4 and LLDB","url":"\/documentation\/wwdc10-316-debugging-with-xcode-4-and-lldb\/"},{"category":"","section":"documentation","slug":"wwdc10-315-using-interface-builder-in-xcode-4","summary":"Xcode 4 integrates the Interface Builder design tool directly into the IDE, providing a seamless experience between UI layout and coding. Learn to use Xcode Genius to keep your implementation and design in sync, and use the Library to drag and drop GUI controls or code snippets into your project.","tags":[],"title":"Using Interface Builder in Xcode 4","url":"\/documentation\/wwdc10-315-using-interface-builder-in-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc10-314-building-and-distributing-your-app-with-xcode-4","summary":"Xcode 4 makes it easier than ever to build and distribute your applications to the world. Discover how to create a custom build scheme, and how Xcode 4 makes it easy to package your app for QA, beta testing, and the App Store.","tags":[],"title":"Building and Distributing Your App with Xcode 4","url":"\/documentation\/wwdc10-314-building-and-distributing-your-app-with-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc10-313-llvm-technologies-in-depth","summary":"The open source LLVM compiler included with Xcode has evolved at a staggering pace, providing a remarkable combination of lightning-fast compile times and faster code. Explore the power of LLVM’s library architecture, see how Xcode employs the Clang front-end for detailed code analysis, and learn about the latest advancements in C++ support.","tags":[],"title":"LLVM Technologies in Depth","url":"\/documentation\/wwdc10-313-llvm-technologies-in-depth\/"},{"category":"","section":"documentation","slug":"wwdc10-312-whats-new-in-the-llvm-compiler","summary":"LLVM tightly integrates with Xcode to produce high-performance code from lightning-fast compiles. Learn about the latest features in the LLVM compiler, see how it is employed from within Xcode, compatibility with GCC, and how you can make full use of its new technologies in your application.","tags":[],"title":"What’s New in the LLVM Compiler","url":"\/documentation\/wwdc10-312-whats-new-in-the-llvm-compiler\/"},{"category":"","section":"documentation","slug":"wwdc10-311-advanced-memory-analysis-with-instruments","summary":"Efficient memory management is essential to making an app great. Inefficient memory usage wastes scarce resources, can degrade system performance, and can even cause your app to crash. At this must-attend session for Mac and iPhone developers, learn advanced techniques for tracking memory usage in your app. Come to a better understanding of the object life cycle, and discover how to improve your app’s memory performance.","tags":[],"title":"Advanced Memory Analysis with Instruments","url":"\/documentation\/wwdc10-311-advanced-memory-analysis-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc10-310-app-publishing-with-itunes-connect","summary":"The iTunes Connect portal provides a variety of tools for managing all aspects of your app publishing lifecycle. Learn app publishing best practices, review support for iOS 4 features like Game Center and iAd, and see how the portal has evolved to make it easier to manage your electronic assets, meta-data, contracts, and reports.","tags":[],"title":"App Publishing with iTunes Connect","url":"\/documentation\/wwdc10-310-app-publishing-with-itunes-connect\/"},{"category":"","section":"documentation","slug":"wwdc10-309-advanced-performance-analysis-with-instruments","summary":"Great Mac and iPhone applications delight users with fast execution and responsive UI. Join the Instruments team as you dive deeply into the latest techniques to improve your application’s performance.","tags":[],"title":"Advanced Performance Analysis with Instruments","url":"\/documentation\/wwdc10-309-advanced-performance-analysis-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc10-308-developing-your-app-with-xcode-4","summary":"Xcode 4 contains powerful new features, and subtle refinements, to make you and your team more productive. Discover improvements in the editor, new ways to structure your projects, and how to use source control directly within Xcode, to produce better apps, faster than ever before.","tags":[],"title":"Developing Your App with Xcode 4","url":"\/documentation\/wwdc10-308-developing-your-app-with-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc10-307-introducing-xcode-4","summary":"Xcode 4 is the next generation integrated development toolset for building Mac, iPhone, and iPad applications. Take a tour of the new features in Xcode 4, and see the streamlined workflows for editing, debugging, and versioning in action.","tags":[],"title":"Introducing Xcode 4","url":"\/documentation\/wwdc10-307-introducing-xcode-4\/"},{"category":"","section":"documentation","slug":"wwdc10-306-automating-user-interface-testing-with-instruments","summary":"iPhone SDK 4 provides a powerful new instrument for automated user interface testing. Learn how to write scripts to control your app, verify run-time behavior, and discover user-facing regressions quickly and efficiently. See how automated testing can help you write better apps that behave the way you expect.","tags":[],"title":"Automating User Interface Testing with Instruments","url":"\/documentation\/wwdc10-306-automating-user-interface-testing-with-instruments\/"},{"category":"","section":"documentation","slug":"wwdc10-305-designing-apps-with-interface-builder","summary":"Interface Builder is the way to design rich user interfaces for iPhone and iPad apps. Discover how to rapidly develop polished and professional interfaces for your app, and learn how Interface Builder and nib files help you develop apps more efficiently.","tags":[],"title":"Designing Apps with Interface Builder","url":"\/documentation\/wwdc10-305-designing-apps-with-interface-builder\/"},{"category":"","section":"documentation","slug":"wwdc10-304-whats-new-in-instruments","summary":"Discover how the latest advancements in Instruments help you to pinpoint and eliminate performance problems in your iPhone OS and Mac OS X apps. At this highly-recommended session for all developers, you’ll gain a new understanding of your memory usage, learn to perform fine-grained CPU analysis, and acquire other new performance-enhancing skills.","tags":[],"title":"What’s New in Instruments","url":"\/documentation\/wwdc10-304-whats-new-in-instruments\/"},{"category":"","section":"documentation","slug":"wwdc10-303-mastering-xcode-for-iphone-os-development-part-2","summary":"Xcode is your iPhone OS development hub. Master the full spectrum of development within Xcode, including coding and building your app, managing device provisioning, performing static analysis, employing advanced debugging techniques, sharing your app with testers, and publishing to the App Store. This is the second session of a two-part series.","tags":[],"title":"Mastering Xcode for iPhone OS Development, Part 2","url":"\/documentation\/wwdc10-303-mastering-xcode-for-iphone-os-development-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-302-automating-the-creation-of-ipad-content","summary":"As the demand for content for iPad increases, so does the need for tools to create that content. Mac OS X offers well-integrated automation technologies and tools, including Automator, Services, and AppleScript, that are ideal for generating content. Geared towards professional and non-professionals alike, this session will include hands-on tutorials covering how to use the automation technologies of Mac OS X to create and distribute HTML-based content for iPad.","tags":[],"title":"Automating the Creation of iPad Content","url":"\/documentation\/wwdc10-302-automating-the-creation-of-ipad-content\/"},{"category":"","section":"documentation","slug":"wwdc10-301-mastering-xcode-for-iphone-os-development-part-1","summary":"Xcode is your iPhone development hub. Master the full spectrum of development within Xcode, including coding and building your app, managing device provisioning, performing static analysis, employing advanced debugging techniques, sharing your app with testers, and publishing to the App Store. This is the first session of a two-part series.","tags":[],"title":"Mastering Xcode for iPhone OS Development, Part 1","url":"\/documentation\/wwdc10-301-mastering-xcode-for-iphone-os-development-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-300-developer-tools-state-of-the-union","summary":"Xcode is the development environment for creating great applications for Mac, iPhone, and iPad. The Xcode toolset consists of the Xcode IDE for coding, building, and debugging, Interface Builder to design UI, and Instruments to analyze behavior and performance, plus dozens of additional tools. Discover amazing new features, and learn how to get the most out of your development experience. A must-attend session for all developers.","tags":[],"title":"Developer Tools State of the Union","url":"\/documentation\/wwdc10-300-developer-tools-state-of-the-union\/"},{"category":"","section":"documentation","slug":"wwdc10-211-simplifying-iphone-app-development-with-grand-central-dispatch","summary":"Grand Central Dispatch makes it faster and easier than ever before to write asynchronous code. Learn new techniques that will help your app get more done while remaining responsive to the user. Discover how Grand Central Dispatch can help simplify or even eliminate complicated threading code.","tags":[],"title":"Simplifying iPhone App Development with Grand Central Dispatch","url":"\/documentation\/wwdc10-211-simplifying-iphone-app-development-with-grand-central-dispatch\/"},{"category":"","section":"documentation","slug":"wwdc10-210-launchondemand","summary":"Dig into Mac OS X’s unique launch-on-demand architecture. Learn best practices for creating an efficient, robust, on-demand daemon.","tags":[],"title":"Launch-on-Demand","url":"\/documentation\/wwdc10-210-launchondemand\/"},{"category":"","section":"documentation","slug":"wwdc10-209-securing-application-data","summary":"Securing data is an important feature of any application. Learn how to use the Keychain and get recipes to protect application data. Understand how to determine data caching policies, what to do when a device locks, and how to handle upgrades and restores of iPhone OS devices.","tags":[],"title":"Securing Application Data","url":"\/documentation\/wwdc10-209-securing-application-data\/"},{"category":"","section":"documentation","slug":"wwdc10-208-network-apps-for-iphone-os-part-2","summary":"Concludes a two-part series to present the latest techniques for building reliable, secure, high-performance network applications, with a focus on iPhone OS applications. Part 2 covers the interface lifecycle, NSOperation and runloop-based asynchronous APIs, performance considerations, debugging, logging, packet tracing, and failure simulation. Find out from the experts how to improve and enhance your networking products to perform as reliably and securely in real-world implementations as in your test lab.","tags":[],"title":"Network Apps for iPhone OS, Part 2","url":"\/documentation\/wwdc10-208-network-apps-for-iphone-os-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-207-network-apps-for-iphone-os-part-1","summary":"First of a two-part series to present the latest techniques for building reliable, secure, high-performance network apps for iPhone OS. Gain a solid understanding of network architecture, bandwidth and latency, asymmetric connectivity, service discovery, reachability, and other networking concepts. Equip yourself with the skills necessary to build reliable and secure networking products.","tags":[],"title":"Network Apps for iPhone OS, Part 1","url":"\/documentation\/wwdc10-207-network-apps-for-iphone-os-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-206-introducing-blocks-and-grand-central-dispatch-on-iphone","summary":"iOS 4 introduces support for blocks and Grand Central Dispatch, which enable you to encapsulate units of work that may be executed concurrently. Learn how these revolutionary technologies can help you write better, cleaner, asynchronous code.","tags":[],"title":"Introducing Blocks and Grand Central Dispatch on iPhone","url":"\/documentation\/wwdc10-206-introducing-blocks-and-grand-central-dispatch-on-iphone\/"},{"category":"","section":"documentation","slug":"wwdc10-205-simplifying-networking-using-bonjour","summary":"Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks. A wide range of Apple’s products, from iMacs and MacBooks to AirPort Base Stations and Time Capsules, Apple TVs to iPhones, iPod touches and iPads use Bonjour for streamlined and reliable networking. Learn how to use Bonjour to make it easy for your applications to publish, discover, and resolve network services.","tags":[],"title":"Simplifying Networking Using Bonjour","url":"\/documentation\/wwdc10-205-simplifying-networking-using-bonjour\/"},{"category":"","section":"documentation","slug":"wwdc10-204-creating-secure-applications","summary":"Secure coding helps protect a user’s data from theft or corruption and prevents the compromise of secrets, loss of service, or damage to your users’ systems. Gain insight into emerging security threats and learn powerful techniques to securely code, review, and install your software. Learn about hot topics in security such as the use of SSL, privacy, URL handlers, WebKit views, and privilege separation with Service Management.","tags":[],"title":"Creating Secure Applications","url":"\/documentation\/wwdc10-204-creating-secure-applications\/"},{"category":"","section":"documentation","slug":"wwdc10-203-io-kit-device-drivers-for-mac-os-x","summary":"The I\/O Kit is a set of system frameworks and libraries for creating device drivers on Mac OS X, supporting both 32 and 64 bit architectures. Learn about the design of I\/O Kit drivers, as well as tips and tricks for fast, efficient driver development and debugging. Whether you’re bringing a new device to Mac OS X or developing an application to access an existing device, this session is for you.","tags":[],"title":"I\/O Kit Device Drivers for Mac OS X","url":"\/documentation\/wwdc10-203-io-kit-device-drivers-for-mac-os-x\/"},{"category":"","section":"documentation","slug":"wwdc10-202-the-accelerate-framework-for-iphone-os","summary":"The ARM architecture used in iPhone 3GS, iPad and iPod touch has a powerful vector unit that can be used to improve the performance and energy consumption of array computations. Learn how to use the Accelerate framework to take advantage of the vector unit while avoiding the hassle of writing processor-specific code.","tags":[],"title":"The Accelerate framework for iPhone OS","url":"\/documentation\/wwdc10-202-the-accelerate-framework-for-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-201-developing-applications-that-work-with-iphone-os-accessories","summary":"Accessories can connect to iPod, iPhone, and iPad through the 30-pin dock connector, Bluetooth, or Wi-Fi. Learn about the options for using standard or custom protocols such as location and iPod remote control. Understand best practices for Bluetooth and hear the latest on designing applications that use the External Accessory framework to interact with wired and wireless accessories.","tags":[],"title":"Developing Applications that work with iPhone OS Accessories","url":"\/documentation\/wwdc10-201-developing-applications-that-work-with-iphone-os-accessories\/"},{"category":"","section":"documentation","slug":"wwdc10-200-core-os-networking","summary":"iPhone OS and Mac OS X offer a rich set of networking APIs that provide advanced features while maintaining compatibility with open standards. You can use Apple’s networking APIs to develop software that perform a wide range of networking tasks, from providing access to web services within your application to writing a device driver for a network hardware device. Hear about new technologies, the latest developments in the networking frameworks and best practices.","tags":[],"title":"Core OS Networking","url":"\/documentation\/wwdc10-200-core-os-networking\/"},{"category":"","section":"documentation","slug":"wwdc10-147-advanced-performance-optimization-on-iphone-os-part-2","summary":"Quick, nimble, and efficient apps provide the best user experience on iPhone OS. Learn advanced techniques for optimizing memory usage and making efficient network requests. Get expert instruction on how to use Instruments and other tools to examine your application’s memory footprint, monitor network activity, and track CPU utilization to fine tune application performance. This is the second part of a two part series.","tags":[],"title":"Advanced Performance Optimization on iPhone OS, Part 2","url":"\/documentation\/wwdc10-147-advanced-performance-optimization-on-iphone-os-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-145-key-event-handling-in-cocoa-applications","summary":"Increase the productivity of your users by expediting common operations via keyboard shortcuts. Discover your options for implementing key equivalents for menus and controls, and how hot keys and Services can handle events from within any app. Learn the ways that users can customize key equivalents and how your app can facilitate their use. Also learn about advanced techniques for emulating contextual menus when you need ultimate control.","tags":[],"title":"Key Event Handling in Cocoa Applications","url":"\/documentation\/wwdc10-145-key-event-handling-in-cocoa-applications\/"},{"category":"","section":"documentation","slug":"wwdc10-144-advanced-objectivec-and-garbage-collection-techniques","summary":"Objective-C powers Mac OS X, providing a truly dynamic language upon which to build exciting applications. Mastering Objective-C will make you more productive, and provide greater insight into the Cocoa frameworks. Discover advanced techniques using garbage collection, blocks, and other new Objective-C features that will help you wring the most performance out of today’s multicore Macs.","tags":[],"title":"Advanced Objective-C and Garbage Collection Techniques","url":"\/documentation\/wwdc10-144-advanced-objectivec-and-garbage-collection-techniques\/"},{"category":"","section":"documentation","slug":"wwdc10-141-crafting-custom-cocoa-views","summary":"Learn how to build robust, polished, well-crafted custom views that integrate gracefully with Mac OS X’s capabilities and user interface. Through examination of a comprehensive example, this talk illustrates the necessary ingredients to putting the fit and finish on any custom view. Leave with a checklist and clearly written example in hand, ready to perfect custom views of your own.","tags":[],"title":"Crafting Custom Cocoa Views","url":"\/documentation\/wwdc10-141-crafting-custom-cocoa-views\/"},{"category":"","section":"documentation","slug":"wwdc10-138-api-design-for-cocoa-and-cocoa-touch","summary":"Cocoa and Cocoa Touch feature highly consistent design patterns throughout their APIs. A pattern used in one context is readily available in many other contexts. Build better apps more quickly by understanding these patterns along with the motivations behind their design. Learn about API conventions and guidelines, techniques for extending Cocoa classes, exceptions, errors, performance, thread safety, among other common Cocoa API design patterns.","tags":[],"title":"API Design for Cocoa and Cocoa Touch","url":"\/documentation\/wwdc10-138-api-design-for-cocoa-and-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc10-137-optimizing-core-data-performance-on-iphone-os","summary":"Core Data provides fast, easy, and efficient management of your app’s data on iPhone OS. Learn Core Data best practices to obtain great performance while reducing memory consumption. Gain a deeper understanding so you can use Core Data to its fullest.","tags":[],"title":"Optimizing Core Data Performance on iPhone OS","url":"\/documentation\/wwdc10-137-optimizing-core-data-performance-on-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-136-calendar-integration-with-event-kit","summary":"The Event Kit and Event Kit UI frameworks together allow iPhone OS applications to access event information from a user’s Calendar database. You can fetch events based on a date range or a unique identifier, receive notifications when event records change, and allow users to create and edit events for any of their local and server-based calendars. Learn techniques to take advantage of these features and other useful tips from Apple engineers.","tags":[],"title":"Calendar Integration with Event Kit","url":"\/documentation\/wwdc10-136-calendar-integration-with-event-kit\/"},{"category":"","section":"documentation","slug":"wwdc10-135-advanced-performance-optimization-on-iphone-os-part-1","summary":"Quick, nimble, and efficient apps provide the best user experience on iPhone OS. Learn advanced techniques for optimizing memory usage and making efficient network requests. Get expert instruction on how to use Instruments and other tools to examine your application’s memory footprint, monitor network activity, and track CPU utilization to fine tune application performance. This is the first part of a two part series.","tags":[],"title":"Advanced Performance Optimization on iPhone OS, Part 1","url":"\/documentation\/wwdc10-135-advanced-performance-optimization-on-iphone-os-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-134-optimize-your-iphone-app-for-the-retina-display","summary":"The iPhone 4 Retina display packs four times as many pixels into the same size screen as earlier iPhone models. All of these additional pixels mean your apps can now display incredibly crisp images and text. While iPhone OS has built-in support for high pixel density and takes care of most of the heavy lifting, there are several opportunities for you to optimize your applications for this new display. Learn the tips and tricks to ensure your application takes full advantage of these wonderful new display capabilities.","tags":[],"title":"Optimize your iPhone App for the Retina Display","url":"\/documentation\/wwdc10-134-optimize-your-iphone-app-for-the-retina-display\/"},{"category":"","section":"documentation","slug":"wwdc10-133-using-itunes-and-app-store-affiliate-tools-and-technologies","summary":"The iTunes and App Store Affiliate Program lets you earn commissions by using a number of powerful tools to integrate iTunes and App Store product information and links into your apps and website. Learn how to leverage tools like Link Maker, the Enterprise Partner Feed, JSON Search API, RSS and others, to build rich user experiences using product meta-data to efficiently direct users to specific apps and discrete iTunes collections.","tags":[],"title":"Using iTunes and App Store Affiliate Tools and Technologies","url":"\/documentation\/wwdc10-133-using-itunes-and-app-store-affiliate-tools-and-technologies\/"},{"category":"","section":"documentation","slug":"wwdc10-131-performance-optimization-on-iphone-os","summary":"Building a fast, efficient app is essential to delight your users and play well on iPhone OS. Learn how to add valuable polish and speed to your app by launching faster, scrolling smoother, reducing memory consumption, and avoiding common design pitfalls. Take your app to the next level of performance.","tags":[],"title":"Performance Optimization on iPhone OS","url":"\/documentation\/wwdc10-131-performance-optimization-on-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-130-future-proofing-your-application","summary":"iPhone OS has a rich set of APIs that enable you to build great applications. However, applications that make incorrect assumptions may fail to run properly on future versions of iPhone OS. Understand the most common mistakes and how to achieve your application’s goals and maintain compatibility.","tags":[],"title":"Future Proofing your Application","url":"\/documentation\/wwdc10-130-future-proofing-your-application\/"},{"category":"","section":"documentation","slug":"wwdc10-129-implementing-local-and-push-notifications","summary":"Push notifications keep users up-to-date when their apps have data waiting for them on remote servers. Local notifications let apps generate notifications locally, without relying on a remote server. Learn best practices for creating notifications that get a user’s attention through any combination of an alert message, a distinctive sound, or number badging of the application—even when your app isn’t running.","tags":[],"title":"Implementing Local and Push Notifications","url":"\/documentation\/wwdc10-129-implementing-local-and-push-notifications\/"},{"category":"","section":"documentation","slug":"wwdc10-128-mastering-table-views","summary":"Table views present list information in thousands of iPhone applications, from games to utilities. Users often want to add, remove and edit their list data. Come gain a deeper understanding of how to enable table view content to be edited, new content to be inserted and unwanted content to be deleted.","tags":[],"title":"Mastering Table Views","url":"\/documentation\/wwdc10-128-mastering-table-views\/"},{"category":"","section":"documentation","slug":"wwdc10-127-customizing-maps-with-overlays","summary":"The Map Kit framework lets you embed annotated maps directly into your app. Additional support for draggable map annotations and map overlays provide further ways to enhance your app’s map functionality. Learn how to reposition annotations and use overlays to layer information such as bus routes and weather maps to present truly customized location-based information.","tags":[],"title":"Customizing Maps with Overlays","url":"\/documentation\/wwdc10-127-customizing-maps-with-overlays\/"},{"category":"","section":"documentation","slug":"wwdc10-125-internationalizing-data-on-mac-and-iphone","summary":"Mac OS X and iPhone OS have a rich model for processing and presenting language and locale-specific information such as dates, times, numbers, calendars, and time zones. Avoiding common mistakes when handling international data is critical to making your application ready for a global audience. Get the detailed knowledge you need to make your application shine no matter where in the world your users are.","tags":[],"title":"Internationalizing Data on Mac and iPhone","url":"\/documentation\/wwdc10-125-internationalizing-data-on-mac-and-iphone\/"},{"category":"","section":"documentation","slug":"wwdc10-124-understanding-foundation","summary":"The Foundation framework provides the “nuts and bolts” classes for both iPhone OS and Mac OS programming, and an understanding of the Foundation framework is essential for building great software on the Mac, iPhone, and iPad. Learn about the wide-ranging capabilities of the Foundation framework and discover how to best use features like collections, strings, archiving, notifications, preferences, bundles, and more.","tags":[],"title":"Understanding Foundation","url":"\/documentation\/wwdc10-124-understanding-foundation\/"},{"category":"","section":"documentation","slug":"wwdc10-123-building-animation-driven-interfaces","summary":"Animation plays an important role in apps for iPhone, iPad and iPod touch. Learn how to build high performance animated user interfaces using UIKit and Core Animation. Gain insight about various types of animations. Also hear about the best practices to follow when creating animations.","tags":[],"title":"Building Animation Driven Interfaces","url":"\/documentation\/wwdc10-123-building-animation-driven-interfaces\/"},{"category":"","section":"documentation","slug":"wwdc10-122-accessibility-on-iphone-os","summary":"The iPhone has revolutionized the lives of blind people with its incredible built-in VoiceOver technology — but can they use your app? A few simple steps can expand your user base within this growing community of iPhone users. In addition, adding accessibility to your app makes automating your UI testing much simpler. Discover how your app can be truly universal and simpler to test by adopting the iPhone Accessibility API.","tags":[],"title":"Accessibility on iPhone OS","url":"\/documentation\/wwdc10-122-accessibility-on-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-121-advanced-gesture-recognition","summary":"Direct content manipulation is a big part of what makes using iPhone OS so compelling. iPhone OS 3.2 introduced a new way to define reusable custom gestures, decoupling the act of recognizing a gesture from the resulting action. Learn how to create custom gestures and manage their interaction with other gesture recognizers and existing touch handlers.","tags":[],"title":"Advanced Gesture Recognition","url":"\/documentation\/wwdc10-121-advanced-gesture-recognition\/"},{"category":"","section":"documentation","slug":"wwdc10-120-simplifying-touch-event-handling-with-gesture-recognizers","summary":"iPhone OS 3.2 introduced a new way to manage and recognize Multi-Touch gestures, leaving you free to focus on the resulting actions. Learn how easy it is to incorporate standard gestures into your application now that gesture detection and handling have been decoupled.","tags":[],"title":"Simplifying Touch Event Handling with Gesture Recognizers","url":"\/documentation\/wwdc10-120-simplifying-touch-event-handling-with-gesture-recognizers\/"},{"category":"","section":"documentation","slug":"wwdc10-119-accessing-shared-contact-information","summary":"The Address Book Framework lets you easily fetch, browse, and edit contacts from multiple sources including CardDav, MobileMe, and Exchange—all from within your app. Learn how to leverage built-in UI classes and APIs to retrieve contacts based on source, and to view and access links between the same contact that occur in multiple sources. The session also covers coding best practices for multi-threaded access.","tags":[],"title":"Accessing Shared Contact Information","url":"\/documentation\/wwdc10-119-accessing-shared-contact-information\/"},{"category":"","section":"documentation","slug":"wwdc10-118-mastering-core-data","summary":"Core Data contains a vast set of advanced features to help you better manage your data and evolve your application over time. Master the techniques for working with data in your application, from being more efficient to doing more in the database and changing how you store your data over time. Take your Core Data knowledge to the next level.","tags":[],"title":"Mastering Core Data","url":"\/documentation\/wwdc10-118-mastering-core-data\/"},{"category":"","section":"documentation","slug":"wwdc10-117-building-a-serverdriven-user-experience","summary":"Powerful server-side technologies and Cocoa Touch best practices make it easy to remotely update native user interface and data structures in deployed mobile applications. Find out how to use proven techniques and technologies to deliver unique content and a personalized experience for each user of your application.","tags":[],"title":"Building a Server-driven User Experience","url":"\/documentation\/wwdc10-117-building-a-serverdriven-user-experience\/"},{"category":"","section":"documentation","slug":"wwdc10-116-modelviewcontroller-for-iphone-os","summary":"The Model-View-Controller (MVC) design paradigm is pervasive in the Cocoa Touch frameworks. With the arrival of iPad and the need to display that same information (the M in MVC) in a new way, it is more important than ever to understand this fundamental pattern. Learn about the support built into iPhone OS for MVC, the implementation choices open to you based on the needs of your application, and how to use this design pattern to help you deliver code that works great on iPad, iPhone and iPod touch.","tags":[],"title":"Model-View-Controller for iPhone OS","url":"\/documentation\/wwdc10-116-modelviewcontroller-for-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-115-using-core-location-in-ios-4","summary":"The Core Location framework lets you determine the current location and position of a device. With the new location monitoring service in iOS 4, your app can register for callbacks when the location of the device changes—even when your app isn’t running. Learn details from the experts on notification registration, code execution, geocoding, and further enhancements to determining location.","tags":[],"title":"Using Core Location in iOS 4","url":"\/documentation\/wwdc10-115-using-core-location-in-ios-4\/"},{"category":"","section":"documentation","slug":"wwdc10-114-advanced-cocoa-text-tips-and-tricks","summary":"The Cocoa Text System provides easy-to-use building blocks for developing powerful, sophisticated applications that can create, edit, modify and add features to documents. Learn tips and tricks for enhancing the Cocoa text classes to your specifications: customizing glyph generation, synchronizing multiple document contents, modifying line fragment calculation, animating text inline, and more.","tags":[],"title":"Advanced Cocoa Text Tips and Tricks","url":"\/documentation\/wwdc10-114-advanced-cocoa-text-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc10-113-working-effectively-with-objectivec-on-iphone-os","summary":"Objective-C is the language of Cocoa Touch. Take an in-depth working tour of Objective-C, from properties and memory management, to integrating your existing C and C++ code with Objective-C. Examine design patterns, exception models, and other important considerations. A valuable session to hone your knowledge of the language.","tags":[],"title":"Working Effectively with Objective-C on iPhone OS","url":"\/documentation\/wwdc10-113-working-effectively-with-objectivec-on-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-112-integrating-ads-with-iad","summary":"iAd lets you easily incorporate advertisements in your apps. Use Apple’s iAd service to automatically handle all the work associated with loading and presenting the ad content and responding to taps in those ads. Learn details on ad placement and sizes, delegate and tap-related behaviors, testing configurations, and much more.","tags":[],"title":"Integrating Ads with iAd","url":"\/documentation\/wwdc10-112-integrating-ads-with-iad\/"},{"category":"","section":"documentation","slug":"wwdc10-111-ipad-development-overview","summary":"Developing for iPad uses many techniques and processes similar to developing for iPhone, but there are important differences. Learn how to bring your existing code to iPad as a universal application while taking advantage of split view and popover controllers, gesture recognizers, and other new features.","tags":[],"title":"iPad Development Overview","url":"\/documentation\/wwdc10-111-ipad-development-overview\/"},{"category":"","section":"documentation","slug":"wwdc10-110-advanced-text-handling-for-iphone-os","summary":"Applications deal with large amounts of text in a wide variety of languages and formats. iOS 4 introduces many new features and enhancements to the ways you can use and present text. Learn the details of these additions including string handling, attributed strings, regular expressions, data detectors, spellchecking, custom fonts, displaying text with Core Text, and more.","tags":[],"title":"Advanced Text Handling for iPhone OS","url":"\/documentation\/wwdc10-110-advanced-text-handling-for-iphone-os\/"},{"category":"","section":"documentation","slug":"wwdc10-109-adopting-multitasking-on-iphone-os-part-2","summary":"Multitasking in iOS 4 allows applications to perform key tasks in the background while preserving battery life and performance. Discover how your app can take advantage of multitasking and learn how easy it is to adopt. Gain advanced insight on how to make your app take advantage of the seven multitasking services in order to provide the best user experience. This is the second part of a two-part series.","tags":[],"title":"Adopting Multitasking on iPhone OS, Part 2","url":"\/documentation\/wwdc10-109-adopting-multitasking-on-iphone-os-part-2\/"},{"category":"","section":"documentation","slug":"wwdc10-108-managing-mobile-devices","summary":"Devices running iPhone OS are as easy to configure and manage as they are to use. Learn about the new Mobile Device Management architecture and discover how to use new Over-The-Air (OTA) capabilities to erase or lock a device and query for important device information. OTA also lets you remotely deploy configuration profiles, install in-house applications, and make managed iPhone deployments even more manageable.","tags":[],"title":"Managing Mobile Devices","url":"\/documentation\/wwdc10-108-managing-mobile-devices\/"},{"category":"","section":"documentation","slug":"wwdc10-107-cocoa-tips-and-tricks","summary":"Cocoa’s rich set of APIs help you to refine your application and better integrate it with Mac OS X so that it stands apart from your competition. Discover how to add great features to your application and make it run more efficiently with just a few lines of code. Learn from the experts tips and tricks to help your application leverage the most from Cocoa to delight your users.","tags":[],"title":"Cocoa Tips and Tricks","url":"\/documentation\/wwdc10-107-cocoa-tips-and-tricks\/"},{"category":"","section":"documentation","slug":"wwdc10-106-understanding-document-interaction-controller","summary":"iPhone OS 3.2 introduced a new way to share documents between apps. The document interaction controller provides ways for previewing the contents of a file in place or opening it in another app. If your app supports documents it should also support this feature. Learn how documents are handled in iPhone OS and how to add this functionality to your application.","tags":[],"title":"Understanding Document Interaction Controller","url":"\/documentation\/wwdc10-106-understanding-document-interaction-controller\/"},{"category":"","section":"documentation","slug":"wwdc10-105-adopting-multitasking-on-iphone-os-part-1","summary":"Multitasking in iOS 4 allows applications to perform key tasks in the background while preserving battery life and performance. Discover how your app can take advantage of multitasking and learn how easy it is to adopt. Gain advanced insight on how to make your app take advantage of the seven multitasking services in order to provide the best user experience. This is the first part of a two-part series.","tags":[],"title":"Adopting Multitasking on iPhone OS, Part 1","url":"\/documentation\/wwdc10-105-adopting-multitasking-on-iphone-os-part-1\/"},{"category":"","section":"documentation","slug":"wwdc10-104-designing-apps-with-scroll-views","summary":"Scrolling easily through large amounts of content is integral to the ease of use of an iPhone, iPad, or iPod touch. UIScrollView and CATiledLayer provide ways for iPhone OS applications to display and manipulate content that that won’t fit on the screen. Learn some of the techniques used in Apple’s own applications. We’ll explain centering zoomable content, zooming in on one piece of content while leaving another fixed in place, and other advanced uses of UIScrollView.","tags":[],"title":"Designing Apps with Scroll Views","url":"\/documentation\/wwdc10-104-designing-apps-with-scroll-views\/"},{"category":"","section":"documentation","slug":"wwdc10-103-ipad-and-iphone-user-interface-design","summary":"iPad and iPhone provide a great environment for designing compelling apps that are rich in functionality and simple to use. Gain key insights into what it takes to create amazing iPhone and iPad apps. Learn how to re-imagine your iPhone or desktop apps for iPad. Understand how some significant differences between iPhone and iPad affect your design decisions.","tags":[],"title":"iPad and iPhone User Interface Design","url":"\/documentation\/wwdc10-103-ipad-and-iphone-user-interface-design\/"},{"category":"","section":"documentation","slug":"wwdc10-102-whats-new-in-foundation-for-ios-4","summary":"Understanding the Foundation framework is essential for building good software on the Mac, iPhone, and iPad. As Foundation evolves, it is important to keep your knowledge up to date. Get an overview of the new features and important changes in the Foundation framework in iOS 4. Learn about the new blocks feature and how it’s used in the new Foundation APIs as well. This session will also help orient you to other sessions that will cover these technologies in more detail.","tags":[],"title":"What’s New in Foundation for iOS 4","url":"\/documentation\/wwdc10-102-whats-new-in-foundation-for-ios-4\/"},{"category":"","section":"documentation","slug":"wwdc10-101-whats-new-in-cocoa-touch","summary":"iOS 4 introduces many enhancements to the Cocoa Touch frameworks — enhancements that accelerate your development and improve your iPhone application’s user experience. Get up to speed with search bar enhancements, input views for your responders, in app SMS, and many more iOS 4 additions.","tags":[],"title":"What’s New in Cocoa Touch","url":"\/documentation\/wwdc10-101-whats-new-in-cocoa-touch\/"},{"category":"","section":"documentation","slug":"wwdc10-100-usable-by-everybody-design-principles-for-accessibility-on-mac-os-x","summary":"Apple leads the computing industry in accessibility. Snow Leopard provides many features to help you create Mac OS X applications that everyone can use. Learn about the universal-design principles you should use when building a user interface, and learn techniques for making existing interfaces accessible to a wider audience.","tags":[],"title":"Usable by Everybody: Design Principles for Accessibility on Mac OS X","url":"\/documentation\/wwdc10-100-usable-by-everybody-design-principles-for-accessibility-on-mac-os-x\/"},{"category":"","section":"documentation","slug":"wwdc10","summary":"iOS 4.","tags":[],"title":"WWDC10","url":"\/documentation\/wwdc10\/"},{"category":"","section":"documentation","slug":"vielfaltsoftware","summary":"No Bio on GitHub","tags":[],"title":"Alexander Gross (1 note)","url":"\/documentation\/contributors\/vielfaltsoftware\/"},{"category":"","section":"documentation","slug":"victorpuga","summary":"Web developer by day,  platforms developer at night","tags":[],"title":"Victor Manuel Puga Ruiz (8 notes)","url":"\/documentation\/contributors\/victorpuga\/"},{"category":"","section":"documentation","slug":"trav-ma","summary":"Software Development Manager for IQVIA’s Mobile team in Arizona.","tags":[],"title":"Travis Ma (5 notes)","url":"\/documentation\/contributors\/trav-ma\/"},{"category":"","section":"documentation","slug":"tianskylan","summary":"No Bio on GitHub","tags":[],"title":"Sky Lan (2 notes)","url":"\/documentation\/contributors\/tianskylan\/"},{"category":"","section":"documentation","slug":"thecodedself","summary":"No Bio on GitHub","tags":[],"title":"Keegan Rush (2 notes)","url":"\/documentation\/contributors\/thecodedself\/"},{"category":"","section":"documentation","slug":"terlan98","summary":"iOS Developer","tags":[],"title":"Tarlan Ismayilsoy (2 notes)","url":"\/documentation\/contributors\/terlan98\/"},{"category":"","section":"documentation","slug":"teacup","summary":"No Bio on GitHub","tags":[],"title":"teacup (1 note)","url":"\/documentation\/contributors\/teacup\/"},{"category":"","section":"documentation","slug":"suzgupta","summary":"Experienced product\/support\/content manager, newbie dev. Passionate about UX, projects with heart and meaning, and the joy of learning together.","tags":[],"title":"Susannah Skyer (1 note)","url":"\/documentation\/contributors\/suzgupta\/"},{"category":"","section":"documentation","slug":"stevenpaulhoward","summary":"3D connoisseur","tags":[],"title":"stevenpaulhoward (4 notes)","url":"\/documentation\/contributors\/stevenpaulhoward\/"},{"category":"","section":"documentation","slug":"srujanc","summary":"Sr Software Engineer at IQVIA","tags":[],"title":"Srujan Chitla (5 notes)","url":"\/documentation\/contributors\/srujanc\/"},{"category":"","section":"documentation","slug":"spanage","summary":"macOS EM @ Apple, Swift dev, Accessibility specialist – formerly Slack and Twitter.","tags":[],"title":"Sommer Panage (1 note)","url":"\/documentation\/contributors\/spanage\/"},{"category":"","section":"documentation","slug":"skhillon","summary":"No Bio on GitHub","tags":[],"title":"Sarthak Khillon (19 notes)","url":"\/documentation\/contributors\/skhillon\/"},{"category":"","section":"documentation","slug":"rusik","summary":"Make mobile apps with ❤️","tags":[],"title":"Ruslan Kavetsky (3 notes)","url":"\/documentation\/contributors\/rusik\/"},{"category":"","section":"documentation","slug":"ronyfadel","summary":"No Bio on GitHub","tags":[],"title":"Rony Fadel (2 notes)","url":"\/documentation\/contributors\/ronyfadel\/"},{"category":"","section":"documentation","slug":"rogerluan","summary":"Core contributor @fastlane 🚀","tags":[],"title":"Roger Oba (7 notes)","url":"\/documentation\/contributors\/rogerluan\/"},{"category":"","section":"documentation","slug":"rayfix","summary":"No Bio on GitHub","tags":[],"title":"Ray Fix (1 note)","url":"\/documentation\/contributors\/rayfix\/"},{"category":"","section":"documentation","slug":"ramitsharma991","summary":"Indie iOS Dev. Swift, SwiftUI, Obj-C, UX and related.","tags":[],"title":"Ramit Sharma (15 notes)","url":"\/documentation\/contributors\/ramitsharma991\/"},{"category":"","section":"documentation","slug":"rakeshneela","summary":"No Bio on GitHub","tags":[],"title":"Rakesh Neela (1 note)","url":"\/documentation\/contributors\/rakeshneela\/"},{"category":"","section":"documentation","slug":"pitt500","summary":"Swift Content Creator | Engineering Manager at Insulet | Formerly Meta and HP","tags":[],"title":"Pedro Rojas (1 note)","url":"\/documentation\/contributors\/pitt500\/"},{"category":"","section":"documentation","slug":"philptr","summary":"macOS UI, Frameworks, and Systems. Previously AppKit @ Apple","tags":[],"title":"Phil Zakharchenko (7 notes)","url":"\/documentation\/contributors\/philptr\/"},{"category":"","section":"documentation","slug":"petermolnar-dev","summary":"iOS Developer @Parallels","tags":[],"title":"Peter Molnar (3 notes)","url":"\/documentation\/contributors\/petermolnar-dev\/"},{"category":"","section":"documentation","slug":"parjohns","summary":"No Bio on GitHub","tags":[],"title":"P (5 notes)","url":"\/documentation\/contributors\/parjohns\/"},{"category":"","section":"documentation","slug":"ninjalikescheez","summary":"Building SDKs @getsentry","tags":[],"title":"NinjaLikesCheez (3 notes)","url":"\/documentation\/contributors\/ninjalikescheez\/"},{"category":"","section":"documentation","slug":"nikolaikhud","summary":"No Bio on GitHub","tags":[],"title":"Nikolai Khudiakov (1 note)","url":"\/documentation\/contributors\/nikolaikhud\/"},{"category":"","section":"documentation","slug":"n3twr","summary":"No Bio on GitHub","tags":[],"title":"Juan (3 notes)","url":"\/documentation\/contributors\/n3twr\/"},{"category":"","section":"documentation","slug":"multitudes","summary":"student at 42Berlin 🐬 | C & C++ | 🍎 Swift(UI) app dev  | speciality coffee ☕️ & cycling 🚴🏻‍♂️","tags":[],"title":"laurent b (33 notes)","url":"\/documentation\/contributors\/multitudes\/"},{"category":"","section":"documentation","slug":"mtschmidt","summary":"No Bio on GitHub","tags":[],"title":"Manuel Thomas Schmidt (1 note)","url":"\/documentation\/contributors\/mtschmidt\/"},{"category":"","section":"documentation","slug":"mortengregersen","summary":"Hi 👋 I am Morten - I live in Denmark 🇩🇰","tags":[],"title":"Morten Bjerg Gregersen (21 notes)","url":"\/documentation\/contributors\/mortengregersen\/"},{"category":"","section":"documentation","slug":"missingnotes","summary":"This page gives you an overview of all sessions that have no notes yet. Many opportunities to contribute!","tags":[],"title":"Missing Sessions","url":"\/documentation\/missingnotes\/"},{"category":"","section":"documentation","slug":"mike011","summary":"Swift Developer","tags":[],"title":"Michael Charland (3 notes)","url":"\/documentation\/contributors\/mike011\/"},{"category":"","section":"documentation","slug":"mikakruschel","summary":"No Bio on GitHub","tags":[],"title":"Miká Kruschel (2 notes)","url":"\/documentation\/contributors\/mikakruschel\/"},{"category":"","section":"documentation","slug":"mikaelacaron","summary":"iOS Engineer making my own apps","tags":[],"title":"Mikaela Caron (1 note)","url":"\/documentation\/contributors\/mikaelacaron\/"},{"category":"","section":"documentation","slug":"mbbischoff","summary":"poems &","tags":[],"title":"mb (2 notes)","url":"\/documentation\/contributors\/mbbischoff\/"},{"category":"","section":"documentation","slug":"matteom","summary":"I teach Swift and iOS Development Best Practices","tags":[],"title":"Matteo Manferdini (1 note)","url":"\/documentation\/contributors\/matteom\/"},{"category":"","section":"documentation","slug":"marcolg97","summary":"iOS Developer - in love with SwiftUI","tags":[],"title":"Marco La Gala (1 note)","url":"\/documentation\/contributors\/marcolg97\/"},{"category":"","section":"documentation","slug":"marcoeidinger","summary":"Software engineer working on open source and enterprise mobile SDKs for iOS and macOS developers written in Swift","tags":[],"title":"Marco Eidinger (4 notes)","url":"\/documentation\/contributors\/marcoeidinger\/"},{"category":"","section":"documentation","slug":"mackuba","summary":"Independent Mac & iOS developer. Sometimes freelancing, mostly working on my own stuff these days.","tags":[],"title":"Kuba Suder (16 notes)","url":"\/documentation\/contributors\/mackuba\/"},{"category":"","section":"documentation","slug":"lorin-vr","summary":"iOS developer","tags":[],"title":"Lorin van Riel (2 notes)","url":"\/documentation\/contributors\/lorin-vr\/"},{"category":"","section":"documentation","slug":"lordmooch","summary":"iOS developer. Swift. SwiftUI. SQLite. MS SQL Server.","tags":[],"title":"Michael Lysons (2 notes)","url":"\/documentation\/contributors\/lordmooch\/"},{"category":"","section":"documentation","slug":"leogdion","summary":"Principal Software Developer at @brightdigit","tags":[],"title":"leogdion (1 note)","url":"\/documentation\/contributors\/leogdion\/"},{"category":"","section":"documentation","slug":"kyawthemonkey","summary":"Senior iOS Developer | Programming Mentor | Swift enthusiast","tags":[],"title":"Kyaw Zay Ya Lin Tun (3 notes)","url":"\/documentation\/contributors\/kyawthemonkey\/"},{"category":"","section":"documentation","slug":"kslazinski","summary":"UX Designer @next-planet","tags":[],"title":"Kris Slazinski (2 notes)","url":"\/documentation\/contributors\/kslazinski\/"},{"category":"","section":"documentation","slug":"kabirkhaan","summary":"No Bio on GitHub","tags":[],"title":"Kabir Khan (1 note)","url":"\/documentation\/contributors\/kabirkhaan\/"},{"category":"","section":"documentation","slug":"johnbaer3","summary":"No Bio on GitHub","tags":[],"title":"John Baer (2 notes)","url":"\/documentation\/contributors\/johnbaer3\/"},{"category":"","section":"documentation","slug":"joforsell","summary":"Grade school teacher turned iOS developer.","tags":[],"title":"Johan Forsell (1 note)","url":"\/documentation\/contributors\/joforsell\/"},{"category":"","section":"documentation","slug":"jeehut","summary":"Spatial-first Indie Developer for  Platforms. Actively contributing to Open Source since 2011!","tags":[],"title":"Cihat Gündüz (71 notes)","url":"\/documentation\/contributors\/jeehut\/"},{"category":"","section":"documentation","slug":"javierdemartin","summary":"No Bio on GitHub","tags":[],"title":"Javier de Martín (2 notes)","url":"\/documentation\/contributors\/javierdemartin\/"},{"category":"","section":"documentation","slug":"ismehimeh","summary":"iOS engineer @ EPAM • SwiftUI & UIKit • Passionate about testing and maintainable code • Software Engineering BSc ’18","tags":[],"title":"Sergei Vasilenko (1 note)","url":"\/documentation\/contributors\/ismehimeh\/"},{"category":"","section":"documentation","slug":"harrison-heinig","summary":"No Bio on GitHub","tags":[],"title":"Harrison Heinig (9 notes)","url":"\/documentation\/contributors\/harrison-heinig\/"},{"category":"","section":"documentation","slug":"harlbo","summary":"𝗶𝗢𝗦 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿📱","tags":[],"title":"Jinha (1 note)","url":"\/documentation\/contributors\/harlbo\/"},{"category":"","section":"documentation","slug":"halmueller","summary":"Developer, architect, teacher, Apple platforms and geodata hacker.","tags":[],"title":"Hal Mueller (7 notes)","url":"\/documentation\/contributors\/halmueller\/"},{"category":"","section":"documentation","slug":"feifanzhou","summary":"Building Tanagram Lore: collaboration tools for teams that max out their agent subscriptions","tags":[],"title":"Feifan Zhou (1 note)","url":"\/documentation\/contributors\/feifanzhou\/"},{"category":"","section":"documentation","slug":"fbernutz","summary":"You can learn anything, but you can’t learn everything","tags":[],"title":"Feli Bernutz (17 notes)","url":"\/documentation\/contributors\/fbernutz\/"},{"category":"","section":"documentation","slug":"elkraneo","summary":"It’s a reminder of a sauce that I loved once","tags":[],"title":"Cristian Díaz (3 notes)","url":"\/documentation\/contributors\/elkraneo\/"},{"category":"","section":"documentation","slug":"dustynaugust","summary":"No Bio on GitHub","tags":[],"title":"Dustyn August (2 notes)","url":"\/documentation\/contributors\/dustynaugust\/"},{"category":"","section":"documentation","slug":"drewvolz","summary":"Past tense draw","tags":[],"title":"Drew Volz (1 note)","url":"\/documentation\/contributors\/drewvolz\/"},{"category":"","section":"documentation","slug":"donnywals","summary":"No Bio on GitHub","tags":[],"title":"Donny Wals (3 notes)","url":"\/documentation\/contributors\/donnywals\/"},{"category":"","section":"documentation","slug":"dl-alexandre","summary":"Software Developer","tags":[],"title":"Dalton Alexandre (5 notes)","url":"\/documentation\/contributors\/dl-alexandre\/"},{"category":"","section":"documentation","slug":"derrickshowers","summary":"No Bio on GitHub","tags":[],"title":"Derrick Showers (1 note)","url":"\/documentation\/contributors\/derrickshowers\/"},{"category":"","section":"documentation","slug":"davidleee","summary":"iOS developer🧑🏻‍💻","tags":[],"title":"David Lee (7 notes)","url":"\/documentation\/contributors\/davidleee\/"},{"category":"","section":"documentation","slug":"dasautoooo","summary":"💻 Programmer | 🕹 Lifetime Gamer","tags":[],"title":"Leonard Chen (6 notes)","url":"\/documentation\/contributors\/dasautoooo\/"},{"category":"","section":"documentation","slug":"dagronf","summary":"No Bio on GitHub","tags":[],"title":"Darren Ford (6 notes)","url":"\/documentation\/contributors\/dagronf\/"},{"category":"","section":"documentation","slug":"daemonloki","summary":"Machine Learning and AI enthusiast with a passion for mobile app development.","tags":[],"title":"Stefan Blos (1 note)","url":"\/documentation\/contributors\/daemonloki\/"},{"category":"","section":"documentation","slug":"coughski","summary":"No Bio on GitHub","tags":[],"title":"Kuba Szulaczkowski (3 notes)","url":"\/documentation\/contributors\/coughski\/"},{"category":"","section":"documentation","slug":"contributors","summary":"WWDCNotes is only possible thanks to these awesome volunteers! Contribute now to get listed here as well.","tags":[],"title":"Contributors","url":"\/documentation\/contributors\/"},{"category":"","section":"documentation","slug":"contributing","summary":"This project is a community effort and your help is needed! All you need is Xcode and some time to watch a WWDC session video.","tags":[],"title":"Contributing","url":"\/documentation\/contributing\/"},{"category":"","section":"documentation","slug":"chrisvasselli","summary":"No Bio on GitHub","tags":[],"title":"chrisvasselli (1 note)","url":"\/documentation\/contributors\/chrisvasselli\/"},{"category":"","section":"documentation","slug":"cecile-lebleu","summary":"Designer turned developer.","tags":[],"title":"Cécile Lebleu (3 notes)","url":"\/documentation\/contributors\/cecile-lebleu\/"},{"category":"","section":"documentation","slug":"blackjacx","summary":"iOS Engineer a.d. 2009 • iOS \/ OSX Enthusiast • WWDC19 • Passionate Mountainbiker","tags":[],"title":"Stefan Herold (28 notes)","url":"\/documentation\/contributors\/blackjacx\/"},{"category":"","section":"documentation","slug":"atahhan","summary":"Software Engineer","tags":[],"title":"Ammar AlTahhan (12 notes)","url":"\/documentation\/contributors\/atahhan\/"},{"category":"","section":"documentation","slug":"arnoappenzeller","summary":"I’m on Mastodon: @arno_app@mastodon.online","tags":[],"title":"Arno Appenzeller (3 notes)","url":"\/documentation\/contributors\/arnoappenzeller\/"},{"category":"","section":"documentation","slug":"appfrosch","summary":"No Bio on GitHub","tags":[],"title":"Andreas Seeger (1 note)","url":"\/documentation\/contributors\/appfrosch\/"},{"category":"","section":"documentation","slug":"antonio081014","summary":"Reveal a brilliant idea in a very mobile engineer way.","tags":[],"title":"Yi D. (16 notes)","url":"\/documentation\/contributors\/antonio081014\/"},{"category":"","section":"documentation","slug":"alexkaessner","summary":"Product & interface designer. I craft and design apps, websites, icons and more.","tags":[],"title":"Alexander Käßner (9 notes)","url":"\/documentation\/contributors\/alexkaessner\/"},{"category":"","section":"documentation","slug":"adamwalz","summary":"Co-Founder, Engineering @butter. Butter is a personal assistant that puts all of your company knowledge within reach.","tags":[],"title":"Adam Walz (1 note)","url":"\/documentation\/contributors\/adamwalz\/"},{"category":"","section":"documentation","slug":"abadikaka","summary":"No Bio on GitHub","tags":[],"title":"Michael (7 notes)","url":"\/documentation\/contributors\/abadikaka\/"}],"tags":{"ios":"iOS","ipados":"iPadOS","macos":"macOS","watchos":"watchOS"}}