Dunfey · Hotel WWDC as data, est. 1983
Front desk everything
Years
Topics

2025 DesignSwiftSwiftUI & UI FrameworksDeveloper Tools

WWDC25 · 37 min · Design / Swift / SwiftUI & UI Frameworks / Developer Tools

What’s new in Xcode 26

Discover the latest productivity and performance advancements in Xcode 26. Learn how to leverage large language models in your development workflow. Explore editing and debugging enhancements, improved performance and testing tools, and Swift Build - the open-source build system engine used by Xcode.

Watch at developer.apple.com ↗

Transcript all transcripts

Chapters

Code shown on screen · 10 snippets

Using Playgrounds swift · at 5:25 ↗
import Playgrounds
Using Playgrounds swift · at 5:30 ↗
#Playground {
  
}
Using Playgrounds swift · at 5:37 ↗
let landmark = Landmark.exampleData.first
Using Playgrounds swift · at 6:10 ↗
let region = landmark?.coordinateRegion
Regex to scan for floating point numbers swift · at 6:33 ↗
func scanForFloatingPointNumbers() -> [Regex<Substring>.Match] {
    return self.matches(of: /[0-9]*[.][0-9]+/)
}
Adding another playground swift · at 6:42 ↗
#Playground {
  
}
Adding another playground swift · at 6:49 ↗
let string = "lon: -113.16096, lat: 36.21904"
let longitude = string.scanForFloatingPointNumbers().first
let latitude = string.scanForFloatingPointNumbers().last
Updated regular expression swift · at 7:33 ↗
func scanForFloatingPointNumbers() -> [Regex<Substring>.Match] {
    return self.matches(of: /[+-]?[0-9]*[.][0-9]+/)
}
Checking for camera authorization swift · at 18:49 ↗
// Checking for camera authorization

var isCameraAuthorized: Bool {
    get async {
        let status = AVCaptureDevice.authorizationStatus(for: .video)

        // Determine if the user previously authorized camera access.
        var isAuthorized = status == .authorized

        // If the system hasn't determined the user's authorization status,
        // explicitly prompt them for approval.
        if status == .notDetermined {
            isAuthorized = await AVCaptureDevice.requestAccess(for: .video)
        }

        return isAuthorized
    }
}
Test scrolling animation performance with XCTHitchMetric swift · at 34:40 ↗
// XCTHitchMetric

func testScrollingAnimationPerformance() throws {
    // Custom performance test measure options.
    let measureOptions = XCTMeasureOptions()
    measureOptions.invocationOptions = .manuallyStop

    // App being tested.
    let app = XCUIApplication()

    // Launch app and get reference to scroll view.
    app.launch()
    let scrollView = app.scrollViews.firstMatch

    measure(metrics: [XCTHitchMetric(application: app)], options: measureOptions) {
        scrollView.swipeUp(velocity: .fast)
        stopMeasuring()
        scrollView.swipeDown(velocity: .fast)
    }
}

Resources