Developer Tools
-
Tech Talks -
15:49
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...
-
25:31
Tailor your Metal apps for Apple M1
Discover the advances in Metal performance and capability delivered with the Apple M1 chip on Apple silicon Macs. Apple M1 unites the top-end graphics and compute abilities of discrete GPUs with the features and power efficiency of Apple silicon, creating entirely new opportunities for developers...
-
28:57
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...
-
19:24
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...
-
11:23
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.
-
11:54
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.
-
4:01
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.
-
5:53
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.
-
-
WWDC 2020 -
6:12
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...
-
15:43
Swift packages: Resources and localization
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...
-
9:06
Widgets Code-along, part 3: Advancing timelines
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...
-
13:11
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...
-
23:15
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,...
-
15:18
Widgets Code-along, part 2: Alternate timelines
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...
-
11:07
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...
-
11:48
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...
-
15:00
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...
-
17:06
Background execution demystified
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...
-
2:09
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...
-
13:45
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...
-
13:33
Why is my app getting killed?
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...
-
14:43
Swan's Quest, Chapter 1: Voices in the dark
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. Learn about VoiceOver and write interesting audio descriptions. You just...
-
15:12
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...
-
15:27
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...
-
13:45
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...
-
36:16
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...
-
27:31
Safely manage pointers in Swift
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. This session is a follow-up to...
-
24:02
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...
-
8:08
Swan's Quest, Chapter 4: The sequence completes
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. Discover how to play pitched instruments with MIDI codes,...
-
11:43
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...
-
20:22
Build SwiftUI views for widgets
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...
-
5:18
Swan's Quest, Chapter 2: A time for tones
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. Discover how to convert Swift...
-
36:15
Data Essentials in SwiftUI
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...
-
5:06
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...
-
33:42
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...
-
54:38
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.
-
18:39
Control training in Create ML with Swift
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...
-
27:44
What's new in SwiftUI
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...
-
17:27
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,...
-
26:06
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...
-
12:23
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,...
-
42:42
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...
-
20:14
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...
-
37:32
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,...
-
14:17
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...
-
29:30
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...
-
20:56
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...
-
23:16
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...
-
32:50
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...
-
17:23
Explore logging in Swift
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...
-
23:40
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...
-
14:51
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...
-
22:44
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...
-
9:05
Widgets Code-along, part 1: The adventure begins
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...
-
14:14
Build a SwiftUI view in Swift Playgrounds
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. For more on Swift Playgrounds, check out our interactive...
-
15:29
App essentials in SwiftUI
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...
-
19:08
Stacks, Grids, and Outlines in SwiftUI
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...
-
16:24
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...
-
12:02
Build document-based apps in SwiftUI
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...
-
7:16
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,...
-
17:55
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...
-
40:44
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...
-
12:38
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...
-
8:37
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...
-
8:29
Create Swift Playgrounds content for iPad and Mac
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...
-
32:19
What's new in Swift
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...
-
20:53
Embrace Swift type inference
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...
-
23:12
Meet WidgetKit
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...
-
15:24
Explore numerical computing in Swift
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...
-
7:47
Distribute binary frameworks as Swift packages
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...
-
5:59
Swan's Quest, Chapter 3: The notable scroll
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...
-
17:29
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...
-
22:50
Unsafe Swift
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...
-
24:52
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...
-
6:35
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...
-
24:42
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...
-
23:05
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...
-
-
WWDC 2019 -
33:40
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...
-
14:49
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...
-
20:59
Introducing Accelerate for Swift
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...
-
41:19
Swift Playgrounds 3
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...
-
33:24
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.
-
20:44
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.
-
37:09
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...
-
39:07
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...
-
43:06
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...
-
34:34
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...
-
36:09
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...
-
37:49
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...
-
43:18
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...
-
37:42
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...
-
34:54
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...
-
41:03
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.
-
41:06
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...
-
49:24
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...
-
39:33
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...
-
33:02
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...
-
40:32
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.
-
10:14
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...
-
31:05
Creating Swift Packages
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...
-
36:44
What's New in Swift
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...
-
30:34
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...
-
40:38
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...
-
53:30
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...
-
54:25
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...
-
44:09
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.
-
14:34
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...
-
39:04
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...
-
-
WWDC 2018 -
57:33
Behind the Scenes of the Xcode Build Process
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.
-
49:32
Measuring and Optimizing HLS Performance
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,...
-
38:19
Getting the Most out of Playgrounds in Xcode
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.
-
30:55
What's New in Testing
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.
-
59:09
Introducing Dark Mode
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.
-
40:13
Embracing Algorithms
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...
-
35:25
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.
-
37:27
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...
-
42:15
What's New in LLVM
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,...
-
37:53
Using Collections Effectively
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.
-
35:23
Create Your Own Swift Playgrounds Subscription
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.
-
33:35
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...
-
51:28
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.
-
57:17
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.
-
38:13
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...
-
39:48
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...
-
38:24
Data You Can Trust
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...
-
34:26
Core Data Best Practices
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...
-
36:38
Getting to Know Swift Package Manager
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.
-
53:41
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.
-
50:21
Practical Approaches to Great App Performance
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...
-
50:52
What’s New in Energy Debugging
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...
-
41:41
New Localization Workflows in Xcode 10
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.
-
55:40
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.
-
40:39
What's New in Cocoa for macOS
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...
-
46:45
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...
-
37:29
What's New in Swift
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...
-
38:26
Metal for Accelerating Machine Learning
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...
-
21:30
Source Control Workflows in Xcode
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...
-
56:55
Swift Generics (Expanded)
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...
-
-
WWDC 2017 -
50:03
Making Great SiriKit Experiences
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...
-
42:20
Localizing with Xcode 9
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.
-
38:08
Auto Layout Techniques in Interface Builder
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...
-
31:12
GitHub and the New Source Control Workflows in Xcode 9
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.
-
35:33
Advances in TVMLKit
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...
-
37:50
Touch Bar Fundamentals
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...
-
53:10
What's New in Foundation
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...
-
33:29
What's New in LLVM
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...
-
39:14
Understanding Undefined Behavior
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.
-
38:54
Engineering for Testability
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.
-
38:43
Accelerate and Sparse Solvers
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.
-
39:56
Teaching with Swift Playgrounds
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...
-
40:04
Writing Energy Efficient Apps
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...
-
37:32
Efficient Interactions with Frameworks
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...
-
40:27
Debugging with Xcode 9
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...
-
37:35
Build Better Apps with CloudKit Dashboard
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...
-
54:21
Finding Bugs Using Xcode Runtime Tools
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...
-
33:08
Metal 2 Optimization and Debugging
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...
-
54:37
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.
-
35:30
Localizing Content for Swift Playgrounds
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.
-
49:21
What's New in Accessibility
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...
-
40:09
SceneKit in Swift Playgrounds
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...
-
53:52
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...
-
35:44
What’s New in Swift Playgrounds
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,...
-
59:30
What's New in Swift
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.
-
40:00
What's New in Testing
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.
-
35:45
What's New in Signing for Xcode and Xcode Server
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.
-
32:56
App Startup Time: Past, Present, and Future
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.
-
-
WWDC 2016 -
39:22
Optimizing App Startup Time
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...
-
41:16
Swift API Design Guidelines
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...
-
32:53
Using Time Profiler in Instruments
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...
-
40:18
What's New in LLVM
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.
-
36:47
What's New in Foundation for Swift
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,...
-
41:15
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...
-
37:39
Improving Existing Apps with Modern Best Practices
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.
-
39:51
Protocol and Value Oriented Programming in UIKit Apps
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...
-
40:19
What's New in Auto Layout
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...
-
37:54
Going Server-side with Swift Open Source
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...
-
58:22
Understanding Swift Performance
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.
-
35:41
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.
-
47:34
Optimizing I/O for Performance and Battery Life
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.
-
43:42
Unified Logging and Activity Tracing
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.
-
38:21
Visual Debugging with Xcode
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...
-
33:20
Thread Sanitizer and Static Analysis
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...
-
34:01
Auditing Your Apps for Accessibility
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...
-
37:18
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...
-
49:44
Introducing Swift Playgrounds
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...
-
31:59
Neural Networks and Accelerate
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.
-
36:50
Advanced Testing and Continuous Integration
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...
-
52:43
Introduction to Xcode
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...
-
41:14
What's New in Swift
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...
-
37:03
Using and Extending the Xcode Source Editor
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...
-
51:47
Getting Started with Swift
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...
-
37:46
Making Apps Adaptive, Part 1
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...
-
32:16
What's New in Xcode App Signing
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.
-
59:52
Debugging Tips and Tricks
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...
-
-
WWDC 2015 -
42:29
Achieving All-day Battery Life
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.
-
42:15
Debugging Energy Issues
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.
-
44:15
Advanced NSOperations
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.
-
40:25
Continuous Integration and Code Coverage in Xcode
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.
-
45:52
Protocol-Oriented Programming in Swift
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...
-
35:40
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.
-
43:18
What's New in Storyboards
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...
-
40:27
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...
-
37:05
Performance on iOS and watchOS
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.
-
37:14
Mysteries of Auto Layout, Part 2
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.
-
39:52
WatchKit Tips and Tricks
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.
-
57:53
Metal Performance Optimization Techniques
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...
-
33:52
Advanced Debugging and the Address Sanitizer
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.
-
37:43
Implementing UI Designs in Interface Builder
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...
-
40:04
Mysteries of Auto Layout, Part 1
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...
-
44:10
Introducing On Demand Resources
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...
-
42:00
Optimizing Swift Performance
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.
-
34:20
Authoring Rich Playgrounds
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.
-
35:33
Low Energy, High Performance: Compression and Accelerate
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...
-
49:26
UI Testing in Xcode
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.
-
39:30
Profiling in Depth
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.
-
38:37
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...
-
44:00
Building Responsive and Efficient Apps with GCD
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...
-
-
WWDC 2014 -
56:33
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...
-