What’s new in Swift
WWDC24
What’s new in Swift 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... WWDC24
Migrate your app to Swift 6
WWDC24
Migrate your app to Swift 6 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... WWDC24
What’s new in Xcode 16
WWDC24
What’s new in Xcode 16 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. WWDC24
Discover RealityKit APIs for iOS, macOS, and visionOS
WWDC24
Discover RealityKit APIs for iOS, macOS, and visionOS 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. WWDC24
Extend your Xcode Cloud workflows
WWDC24
Extend your Xcode Cloud workflows 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. WWDC24
A Swift Tour: Explore Swift’s features and design
WWDC24
A Swift Tour: Explore Swift’s features and design 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... WWDC24
Xcode essentials
WWDC24
Xcode essentials 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. WWDC24
Compose interactive 3D content in Reality Composer Pro
WWDC24
Compose interactive 3D content in Reality Composer Pro 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... WWDC24
Run, Break, Inspect: Explore effective debugging in LLDB
WWDC24
Run, Break, Inspect: Explore effective debugging in LLDB 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... WWDC24
Demystify explicitly built modules
WWDC24
Demystify explicitly built modules 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. WWDC24
Discover area mode for Object Capture
WWDC24
Discover area mode for Object Capture 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... WWDC24
Break into the RealityKit debugger
WWDC24
Break into the RealityKit debugger 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. WWDC24
Analyze heap memory
WWDC24
Analyze heap memory 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. WWDC24
Port advanced games to Apple platforms
WWDC24
Port advanced games to Apple platforms 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... WWDC24
Go further with Swift Testing
WWDC24
Go further with Swift Testing 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. WWDC24
Meet Swift Testing
WWDC24
Meet Swift Testing 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. WWDC24
Build a spatial drawing app with RealityKit
WWDC24
Build a spatial drawing app with RealityKit 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... WWDC24
Enhance your spatial computing app with RealityKit audio
WWDC24
Enhance your spatial computing app with RealityKit audio 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... WWDC24
What’s new in USD and MaterialX
WWDC24
What’s new in USD and MaterialX 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... WWDC24
Connect your project to Xcode Cloud
Tech Talks
Connect your project to Xcode Cloud Unlock the benefits of continuous integration and delivery in Xcode Cloud with source code management tools. Learn how to set up Xcode Cloud with a self-hosted source control management provider like GitHub Enterprise, troubleshoot common issues, and explore key project maintenance tips. Tech Talks
Manage Game Center with the App Store Connect API
Tech Talks
Manage Game Center with the App Store Connect API Discover how you can use the App Store Connect API to automate your Game Center configurations outside of App Store Connect on the web. Find out how the API can help you create achievements and leaderboards and share them between related games using groups. And learn how to enable and configure... Tech Talks
Discover Metal Performance HUD
Tech Talks
Discover Metal Performance HUD Get to know the new heads-up display panel built to help you analyze graphics performance in real time. Metal Performance HUD displays key graphics statistics so you can monitor, log, and identify tough-to-spot performance problems. Tech Talks
Get started with custom product pages
Tech Talks
Get started with custom product pages Learn how you can create additional versions of your App Store product page and showcase different features or content within your app. We'll explore how you can create pages for a specific aspect of your app or a specific audience, show you how to set it up in App Store Connect, and highlight... Tech Talks
Get started with product page optimization
Tech Talks
Get started with product page optimization Help make your App Store product page even more relevant and effective with product page optimization. We'll explore details of the feature, take you through the setup process in App Store Connect including how to test different app icons, screenshots and app previews, and share testing... Tech Talks
Get started with custom offer codes
Tech Talks
Get started with custom offer codes Discover how you can complement existing offer codes campaigns with custom, repeatable codes to provide even more flexibility to acquire and retain subscribers. We'll take you through the latest enhancements to offer codes, provide engineering guidance, explore best practices, and show you how to... Tech Talks
Optimize subscriptions for success: acquisition
Tech Talks
Optimize subscriptions for success: acquisition Learn how you can acquire subscribers and grow your business using App Store features. We'll explore subscriber acquisition strategies, share implementation best practices, and show you how to integrate these processes into your app for success. Tech Talks
Improve Object Detection models in Create ML
Tech Talks
Improve Object Detection models in Create ML When you train custom Core ML models for object detection in Create ML, you can bring image understanding to your app. Discover how transfer learning allows you to build smaller models with less training data. We'll also take you through some of the advanced parameters in Create ML that help you... Tech Talks
Support customers with StoreKit 2 and App Store Server API
Tech Talks
Support customers with StoreKit 2 and App Store Server API Discover how you can use StoreKit 2, App Store Server API, and App Store Server Notifications to create great in-app purchase experiences for your customers and offer support and refunds. We'll explore implementation approaches, provide best practices and take you through customer management and... Tech Talks
Discover advances in Metal for A15 Bionic
Tech Talks
Discover advances in Metal for A15 Bionic Discover how you can elevate your apps and games with Metal and the A15 Bionic. We'll help you take advantage of Apple GPU family 8 with the latest Metal features: Learn how to save memory with Lossy Compression, dive into complex shadow mapping techniques with Sparse Depth and Stencil Textures,... Tech Talks
What can you do on an Apple silicon Mac?
Tech Talks
What can you do on an Apple silicon Mac? Learn how developers updated their apps for Apple silicon Macs and began taking advantage of the advanced capabilities of the Apple M1 chip. Tech Talks
Discover Metal enhancements for A14 Bionic
Tech Talks
Discover Metal enhancements for A14 Bionic Explore how Metal is bringing sophisticated rendering and powerful compute features to A14 Bionic. We'll take you through the Metal capabilities delivered in the Apple GPU Family 7 feature set, including new texture addressing modes, fast SIMD reduction and matrix multiplication operations, and a... Tech Talks
Find and fix hitches in the commit phase
Tech Talks
Find and fix hitches in the commit phase Discover how to render smoother animations in your app by troubleshooting the commit phase of your render loop. Dive into the mechanics of this phase, and learn how to use Instruments to uncover the source of hitches in your app, eliminate them, and avoid them outright. Tech Talks
Explore UI animation hitches and the render loop
Tech Talks
Explore UI animation hitches and the render loop Explore how you can improve the performance of your app's user interface by identifying scrolling and animation hitches in your app. We'll take you through how hitches happen in the render loop, and explain how to measure hitch time ratio and fix the issues that most impact people using your app. Tech Talks
Demystify and eliminate hitches in the render phase
Tech Talks
Demystify and eliminate hitches in the render phase When you implement complex view hierarchies in your app, you may run into animation hitches. Demystify how your views are turned into pixels during the render phase, and learn how to use Instruments to uncover issues in this part of the render loop. Discover how to eliminate offscreen passes and... Tech Talks
Web Inspector Walkthrough
Tech Talks
Web Inspector Walkthrough Web Inspector is packed with features designed to make inspection, debugging and delivery of your web content a breeze. Get an overview of the latest features including major layouts, tabs, buttons, and other capabilities that make Web Inspector a powerful web development tool. Tech Talks
Using Web Inspector with tvOS Apps
Tech Talks
Using Web Inspector with tvOS Apps With Web Inspector, you can debug web content on several Apple platforms, including tvOS. This video introduces you to Web Inspector's powerful debugging capabilities, and takes you through the features designed to accelerate debugging of TVML content in your tvOS app. Tech Talks
Perform accessibility audits for your app
WWDC23
Perform accessibility audits for your app 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. WWDC23
Discover String Catalogs
WWDC23
Discover String Catalogs 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... WWDC23
Debug with structured logging
WWDC23
Debug with structured logging 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... WWDC23
Meet UIKit for spatial computing
WWDC23
Meet UIKit for spatial computing 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. WWDC23
Bring your game to Mac, Part 2: Compile your shaders
WWDC23
Bring your game to Mac, Part 2: Compile your shaders 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... WWDC23
Run your iPad and iPhone apps in the Shared Space
WWDC23
Run your iPad and iPhone apps in the Shared Space 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. WWDC23
Enhance your iPad and iPhone apps for the Shared Space
WWDC23
Enhance your iPad and iPhone apps for the Shared Space 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. WWDC23
Fix failures faster with Xcode test reports
WWDC23
Fix failures faster with Xcode test reports 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... WWDC23
Build programmatic UI with Xcode Previews
WWDC23
Build programmatic UI with Xcode Previews 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... WWDC23
Optimize GPU renderers with Metal
WWDC23
Optimize GPU renderers with Metal 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... WWDC23
Prototype with Xcode Playgrounds
WWDC23
Prototype with Xcode Playgrounds 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... WWDC23
Beyond the basics of structured concurrency
WWDC23
Beyond the basics of structured concurrency 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... WWDC23
Create practical workflows in Xcode Cloud
WWDC23
Create practical workflows in Xcode Cloud 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. WWDC23
Analyze hangs with Instruments
WWDC23
Analyze hangs with Instruments 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... WWDC23
Meet Swift OpenAPI Generator
WWDC23
Meet Swift OpenAPI Generator 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. WWDC23
Mix Swift and C++
WWDC23
Mix Swift and C++ 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. WWDC23
Write Swift macros
WWDC23
Write Swift macros 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... WWDC23
Meet mergeable libraries
WWDC23
Meet mergeable libraries 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... WWDC23
Create rich documentation with Swift-DocC
WWDC23
Create rich documentation with Swift-DocC 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... WWDC23
Meet RealityKit Trace
WWDC23
Meet RealityKit Trace 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... WWDC23
Meet Safari for spatial computing
WWDC23
Meet Safari for spatial computing 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... WWDC23
Simplify distribution in Xcode and Xcode Cloud
WWDC23
Simplify distribution in Xcode and Xcode Cloud 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,... WWDC23
What’s new in Swift
WWDC23
What’s new in Swift 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... WWDC23
Rediscover Safari developer features
WWDC23
Rediscover Safari developer features 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... WWDC23
Expand on Swift macros
WWDC23
Expand on Swift macros 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... WWDC23
Optimize app power and performance for spatial computing
WWDC23
Optimize app power and performance for spatial computing 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. WWDC23
Bring your game to Mac, Part 1: Make a game plan
WWDC23
Bring your game to Mac, Part 1: Make a game plan 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... WWDC23
What’s new in App Store Connect
WWDC23
What’s new in App Store Connect 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... WWDC23
What’s new in Xcode 15
WWDC23
What’s new in Xcode 15 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... WWDC23
Generalize APIs with parameter packs
WWDC23
Generalize APIs with parameter packs 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... WWDC23
Bring your game to Mac, Part 3: Render with Metal
WWDC23
Bring your game to Mac, Part 3: Render with Metal 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... WWDC23
What’s new in Web Inspector
WWDC23
What’s new in Web Inspector 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... WWDC23
Create engaging content for Swift Playgrounds
WWDC22
Create engaging content for Swift Playgrounds 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... WWDC22
What's new in Swift-DocC
WWDC22
What's new in Swift-DocC 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... WWDC22
Improve the discoverability of your Swift-DocC content
WWDC22
Improve the discoverability of your Swift-DocC content 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. WWDC22
Link fast: Improve build and launch times
WWDC22
Link fast: Improve build and launch times 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. WWDC22
Author fast and reliable tests for Xcode Cloud
WWDC22
Author fast and reliable tests for Xcode Cloud 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... WWDC22
Deep dive into Xcode Cloud for teams
WWDC22
Deep dive into Xcode Cloud for teams 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... WWDC22
Debug Swift debugging with LLDB
WWDC22
Debug Swift debugging with LLDB 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. WWDC22
Get the most out of Xcode Cloud
WWDC22
Get the most out of Xcode Cloud 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... WWDC22
Track down hangs with Xcode and on-device detection
WWDC22
Track down hangs with Xcode and on-device detection 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... WWDC22
Demystify parallelization in Xcode builds
WWDC22
Demystify parallelization in Xcode builds 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... WWDC22
Meet Swift Package plugins
WWDC22
Meet Swift Package plugins 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. WWDC22
Create Swift Package plugins
WWDC22
Create Swift Package plugins 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. WWDC22
Use Xcode for server-side development
WWDC22
Use Xcode for server-side development 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... WWDC22
Use Xcode to develop a multiplatform app
WWDC22
Use Xcode to develop a multiplatform app 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. WWDC22
Simplify C++ templates with concepts
WWDC22
Simplify C++ templates with concepts 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... WWDC22
What's new in Xcode
WWDC22
What's new in Xcode 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... WWDC22
Improve app size and runtime performance
WWDC22
Improve app size and runtime performance 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... WWDC22
Build your first app in Swift Playgrounds
WWDC22
Build your first app in Swift Playgrounds 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... WWDC22
Power down: Improve battery consumption
WWDC22
Power down: Improve battery consumption 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... WWDC22
Host and automate your DocC documentation
WWDC21
Host and automate your DocC documentation 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... WWDC21
Meet DocC documentation in Xcode
WWDC21
Meet DocC documentation in Xcode 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... WWDC21
Customize your advanced Xcode Cloud workflows
WWDC21
Customize your advanced Xcode Cloud workflows 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... WWDC21
Meet Xcode Cloud
WWDC21
Meet Xcode Cloud 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... WWDC21
Analyze HTTP traffic in Instruments
WWDC21
Analyze HTTP traffic in Instruments 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. WWDC21
Review code and collaborate in Xcode
WWDC21
Review code and collaborate in Xcode 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... WWDC21
Embrace Expected Failures in XCTest
WWDC21
Embrace Expected Failures in XCTest 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... WWDC21
Evaluate videos with the Advanced Video Quality Tool
WWDC21
Evaluate videos with the Advanced Video Quality Tool 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... WWDC21
Discover and curate Swift Packages using Collections
WWDC21
Discover and curate Swift Packages using Collections 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... WWDC21
Optimize high-end games for Apple GPUs
WWDC21
Optimize high-end games for Apple GPUs 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... WWDC21
Diagnose unreliable code with test repetitions
WWDC21
Diagnose unreliable code with test repetitions 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.
To get the... WWDC21
Automate CloudKit tests with cktool and declarative schema
WWDC21
Automate CloudKit tests with cktool and declarative schema 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... WWDC21
Discover breakpoint improvements
WWDC21
Discover breakpoint improvements 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. WWDC21
Detect bugs early with the static analyzer
WWDC21
Detect bugs early with the static analyzer 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... WWDC21
Understand and eliminate hangs from your app
WWDC21
Understand and eliminate hangs from your app 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... WWDC21
Elevate your DocC documentation in Xcode
WWDC21
Elevate your DocC documentation in Xcode 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... WWDC21
Detect and diagnose memory issues
WWDC21
Detect and diagnose memory issues 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.
WWDC21
Triage TestFlight crashes in Xcode Organizer
WWDC21
Triage TestFlight crashes in Xcode Organizer 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... WWDC21
Distribute apps in Xcode with cloud signing
WWDC21
Distribute apps in Xcode with cloud signing 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. WWDC21
Build interfaces with style
WWDC21
Build interfaces with style 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... WWDC21
Build interactive tutorials using DocC
WWDC21
Build interactive tutorials using DocC 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... WWDC21
Discover Metal debugging, profiling, and asset creation tools
WWDC21
Discover Metal debugging, profiling, and asset creation tools 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... WWDC21
Localize your SwiftUI app
WWDC21
Localize your SwiftUI app 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... WWDC21
Explore Xcode Cloud workflows
WWDC21
Explore Xcode Cloud workflows 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... WWDC21
Explore Digital Crown, Trackpad, and iPad pointer automation
WWDC21
Explore Digital Crown, Trackpad, and iPad pointer automation 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. WWDC21
Faster and simpler notarization for Mac apps
WWDC21
Faster and simpler notarization for Mac apps 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... WWDC21
Symbolication: Beyond the basics
WWDC21
Symbolication: Beyond the basics 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... WWDC21
Ultimate application performance survival guide
WWDC21
Ultimate application performance survival guide 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... WWDC21
Diagnose Power and Performance regressions in your app
WWDC21
Diagnose Power and Performance regressions in your app 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... WWDC21
Meet TestFlight on Mac
WWDC21
Meet TestFlight on Mac 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. WWDC21
Explore advanced project configuration in Xcode
WWDC21
Explore advanced project configuration in Xcode 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... WWDC21
Discover Core Image debugging techniques
WWDC20
Discover Core Image debugging techniques 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,... WWDC20
Handle interruptions and alerts in UI tests
WWDC20
Handle interruptions and alerts in UI tests 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... WWDC20
Broaden your reach with Siri Event Suggestions
WWDC20
Broaden your reach with Siri Event Suggestions 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... WWDC20
Explore the new system architecture of Apple silicon Macs
WWDC20
Explore the new system architecture of Apple silicon Macs 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... WWDC20
Get your test results faster
WWDC20
Get your test results faster 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... WWDC20
iPad and iPhone apps on Apple silicon Macs
WWDC20
iPad and iPhone apps on Apple silicon Macs 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... WWDC20
Port your Mac app to Apple silicon
WWDC20
Port your Mac app to Apple silicon 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... WWDC20
Decipher and deal with common Siri errors
WWDC20
Decipher and deal with common Siri errors “Sorry, there was a problem with the app..."
Don't let Siri errors get you down: Learn how to debug your Siri intents and create great integrations people can use through voice or the Shortcuts app. We'll look at common intent errors, how to test for them, and the path to a seamless Siri... WWDC20
What's new in MetricKit
WWDC20
What's new in MetricKit Quickly detect power and performance regressions and troubleshoot app issues when you adopt MetricKit. Discover the latest trackable metrics for your app, including CPU instructions, animation hitches, and exit reasons. And learn about diagnostics in MetricKit that can help you troubleshoot... WWDC20
Use Swift on AWS Lambda with Xcode
WWDC20
Use Swift on AWS Lambda with Xcode Serverless functions are increasingly becoming popular for running event-driven or otherwise ad-hoc compute tasks in the cloud, allowing developers to more easily scale and control compute costs. Discover how to use the new Swift AWS Lambda Runtime package to build serverless functions in Swift,... WWDC20
Eliminate animation hitches with XCTest
WWDC20
Eliminate animation hitches with XCTest Animations can dramatically enhance the user experience of your app, provide a sense of direct manipulation, and help people to better understand the results of their actions. Animation hitches can break that experience. Discover how to use XCTest to detect interruptions to smooth scrolling and... WWDC20
Core Data: Sundries and maxims
WWDC20
Core Data: Sundries and maxims Core Data is the central way to durably and persistently store information from your app — and we're going to show you how to refine that implementation for even faster data ingest and fetching. Discover how you can improve data capture with batch insert, tailor fetch requests to your data needs,... WWDC20
Refine Objective-C frameworks for Swift
WWDC20
Refine Objective-C frameworks for Swift Fine-tune your Objective-C headers to work beautifully in Swift. We'll show you how to take an unwieldy Objective-C framework and transform it into an API that feels right at home. Learn about the suite of annotations you can use to provide richer type information, more idiomatic names, and... WWDC20
Diagnose performance issues with the Xcode Organizer
WWDC20
Diagnose performance issues with the Xcode Organizer Analyze aggregated power and performance data from multiple versions of your app with just a few clicks. We'll introduce you to the latest version of the Xcode Organizer and its interactive interface, where you can easily compare and contrast app metrics across releases. Explore disk write... WWDC20
Add custom views and modifiers to the Xcode Library
WWDC20
Add custom views and modifiers to the Xcode Library 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... WWDC20
Build localization-friendly layouts using Xcode
WWDC20
Build localization-friendly layouts using Xcode Localizing your app is a wonderful way to share your work with a worldwide audience and make it relevant to more cultures and languages. We'll show you how you can prepare for localization before ever translating a word by building thoughtful layouts for your app. Learn how to structure your UI... WWDC20
Introducing StoreKit Testing in Xcode
WWDC20
Introducing StoreKit Testing in Xcode 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... WWDC20
Identify trends with the Power and Performance API
WWDC20
Identify trends with the Power and Performance API Track your app's performance metrics in custom team dashboards, bug reporting systems, and other custom workflows with the Power and Performance Metrics and Diagnostics API. Explore how you can access the same data that drives the Power and Performance analysis tools in Xcode to quickly identify... WWDC20
Build an Action Classifier with Create ML
WWDC20
Build an Action Classifier with Create ML 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... WWDC20
Become a Simulator expert
WWDC20
Become a Simulator expert Simulator runs your iOS, iPadOS, tvOS, or watchOS apps directly on your Mac — no separate device required. We'll give you a tour of the app's latest tools and features and show you how to sharpen your Simulator skills. Discover how to test pointer and trackpad support, adjust Simulator... WWDC20
Structure your app for SwiftUI previews
WWDC20
Structure your app for SwiftUI previews When you use SwiftUI previews during development, you can quickly create apps that are more flexible and maintainable. Discover ways to improve the preview experience by making small tweaks to your project. Find out how to preview multiple files at once, how to manage data flow for previews, and... WWDC20
Decode ProRes with AVFoundation and VideoToolbox
WWDC20
Decode ProRes with AVFoundation and VideoToolbox 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... WWDC20
Edit and play back HDR video with AVFoundation
WWDC20
Edit and play back HDR video with AVFoundation 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... WWDC20
Design high quality Siri media interactions
WWDC20
Design high quality Siri media interactions 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... WWDC20
Build GPU binaries with Metal
WWDC20
Build GPU binaries with Metal 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... WWDC20
Write tests to fail
WWDC20
Write tests to fail 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... WWDC20
Visually edit SwiftUI views
WWDC20
Visually edit SwiftUI views 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... WWDC20
Debug GPU-side errors in Metal
WWDC20
Debug GPU-side errors in Metal 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.
Get an introduction to GPU-side errors and learn how to find and... WWDC20
Export HDR media in your app with AVFoundation
WWDC20
Export HDR media in your app with AVFoundation 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,... WWDC20
Optimize Metal apps and games with GPU counters
WWDC20
Optimize Metal apps and games with GPU counters 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... WWDC20
Explore Packages and Projects with Xcode Playgrounds
WWDC20
Explore Packages and Projects with Xcode Playgrounds 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... WWDC20
Gain insights into your Metal app with Xcode 12
WWDC20
Gain insights into your Metal app with Xcode 12 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... WWDC20
Build Metal-based Core Image kernels with Xcode
WWDC20
Build Metal-based Core Image kernels with Xcode 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... WWDC20
Triage test failures with XCTIssue
WWDC20
Triage test failures with XCTIssue 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.
For more information on designing... WWDC20
Optimize the Core Image pipeline for your video app
WWDC20
Optimize the Core Image pipeline for your video app 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... WWDC20
Optimize the interface of your Mac Catalyst app
WWDC20
Optimize the interface of your Mac Catalyst app 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,... WWDC20
What's new in Mac Catalyst
WWDC20
What's new in Mac Catalyst 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... WWDC20
XCTSkip your tests
WWDC20
XCTSkip your tests 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.
To get the most out... WWDC20
Use model deployment and security with Core ML
WWDC20
Use model deployment and security with Core ML 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... WWDC20
Build Image and Video Style Transfer models in Create ML
WWDC20
Build Image and Video Style Transfer models in Create ML 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... WWDC20
Introduction to SwiftUI
WWDC20
Introduction to SwiftUI 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. WWDC20
Advancements in the Objective-C runtime
WWDC20
Advancements in the Objective-C runtime Dive into the microscopic world of low-level bits and bytes that underlie every Objective-C and Swift class. Find out how recent changes to internal data structures, method lists, and tagged pointers provide better performance and lower memory usage. We'll demonstrate how to recognize and fix... WWDC20
Optimizing App Launch
WWDC19
Optimizing App Launch 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... WWDC19
Getting Started with Instruments
WWDC19
Getting Started with Instruments 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... WWDC19
Accessibility Inspector
WWDC19
Accessibility Inspector 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... WWDC19
All About Notarization
WWDC19
All About Notarization 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... WWDC19
What's New in Xcode 11
WWDC19
What's New in Xcode 11 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... WWDC19
What's New in Machine Learning
WWDC19
What's New in Machine Learning 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... WWDC19
Mastering Xcode Previews
WWDC19
Mastering Xcode Previews 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. WWDC19
Adopting Swift Packages in Xcode
WWDC19
Adopting Swift Packages in Xcode 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. WWDC19
Optimizing Storage in Your App
WWDC19
Optimizing Storage in Your App 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... WWDC19
Getting the Most Out of Simulator
WWDC19
Getting the Most Out of Simulator 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... WWDC19
Designing for Adverse Network and Temperature Conditions
WWDC19
Designing for Adverse Network and Temperature Conditions 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... WWDC19
Modeling in Custom Instruments
WWDC19
Modeling in Custom Instruments 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... WWDC19
Developing a Great Profiling Experience
WWDC19
Developing a Great Profiling Experience 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... WWDC19
Delivering Optimized Metal Apps and Games
WWDC19
Delivering Optimized Metal Apps and Games 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... WWDC19
What's New in App Store Connect
WWDC19
What's New in App Store Connect 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... WWDC19
Advances in App Background Execution
WWDC19
Advances in App Background Execution 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... WWDC19
Debugging in Xcode 11
WWDC19
Debugging in Xcode 11 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... WWDC19
What's New in Clang and LLVM
WWDC19
What's New in Clang and LLVM 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. WWDC19
Improving Battery Life and Performance
WWDC19
Improving Battery Life and Performance 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... WWDC19
LLDB: Beyond "po"
WWDC19
LLDB: Beyond "po" 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. WWDC19
Modern Swift API Design
WWDC19
Modern Swift API Design 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... WWDC19
Getting Started with Xcode
WWDC19
Getting Started with Xcode 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... WWDC19
Binary Frameworks in Swift
WWDC19
Binary Frameworks in Swift 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. WWDC19
Introducing the Create ML App
WWDC19
Introducing the Create ML App 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... WWDC19
Testing in Xcode
WWDC19
Testing in Xcode 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... WWDC19
Core ML 3 Framework
WWDC19
Core ML 3 Framework 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... WWDC19
Great Developer Habits
WWDC19
Great Developer Habits 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... WWDC19
Measuring Performance Using Logging
WWDC18
Measuring Performance Using Logging 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. WWDC18
Optimizing App Assets
WWDC18
Optimizing App Assets 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... WWDC18
Building Faster in Xcode
WWDC18
Building Faster in Xcode 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... WWDC18
Metal Shader Debugging and Profiling
WWDC18
Metal Shader Debugging and Profiling 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... WWDC18
Advanced Debugging with Xcode and LLDB
WWDC18
Advanced Debugging with Xcode and LLDB 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. WWDC18
Creating Custom Instruments
WWDC18
Creating Custom Instruments 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. WWDC18
Metal Game Performance Optimization
WWDC18
Metal Game Performance Optimization 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... WWDC18
iOS Memory Deep Dive
WWDC18
iOS Memory Deep Dive 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. WWDC18
Understanding Crashes and Crash Logs
WWDC18
Understanding Crashes and Crash Logs 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. WWDC18
Testing Tips & Tricks
WWDC18
Testing Tips & Tricks 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... WWDC18
Modernizing Grand Central Dispatch Usage
WWDC17
Modernizing Grand Central Dispatch Usage 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. WWDC17
SceneKit: What's New
WWDC17
SceneKit: What's New 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... WWDC17
System Trace in Depth
WWDC16
System Trace in Depth 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... WWDC16
Advanced Metal Shader Optimization
WWDC16
Advanced Metal Shader Optimization 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... WWDC16
Concurrent Programming With GCD in Swift 3
WWDC16
Concurrent Programming With GCD in Swift 3 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. WWDC16
What's New in LLDB
WWDC15
What's New in LLDB 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... WWDC15
Swift and Objective-C Interoperability
WWDC15
Swift and Objective-C Interoperability 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. WWDC15
App Thinning in Xcode
WWDC15
App Thinning in Xcode 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... WWDC15
Ingredients of Great Games
WWDC14
Ingredients of Great Games 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... WWDC14