Logo for tanaschita.com

WWDC 2024 summary of Apple's platforms state of the union talk for iOS developers

Discover Apple's announcements for iOS at WWDC 2024.

24 Jun 2024 · 5 min read

This article summerizes the announcements for iOS at Apple's platforms state of the union talk at WWDC 2024.

Let's jump in.

Sponsorship logo
Preparing for a technical iOS job interview - updated for iOS 18
Check out my book on preparing for a technical iOS job interview with over 200 questions & answers. Test your knowledge on iOS topics such as Swift, SwiftUI, Combine, HTTP Networking, Authentication, SwiftData & Core Data, Concurrency with async/await, Security, Automated Testing, Machine Learning and more.
LEARN MORE

Apple Intelligence

Apple Intelligence is Apple's suite of AI technologies that improve user experience by powering features like Siri, image recognition, and personalized recommendations across their devices.

As iOS developers, we can use Apple Intelligence in our apps, for example by using the Image Playground API which allows us to add Image Playgrounds to our apps to let users generate their own new images from text input directly on device:

Button(...)
.imagePlaygroundSheet (isPresented: $isImagePlaygroundPresented){ createdImageURL in
// Use generated image. The created url is a local url which we can access with FileManager.
}

Further examples to use Apple Intelligence in an iOS app are:

  • Genmoji which lets users create new emojis from their text input
  • Siri with App Intents

Predictive Code Completion & Swift Assist

Xcode 16 introduces Predictive Code Completion which uses machine learning to provide more accurate and context-aware suggestions.

Additionally, Xcode 16 comes with Swift Assist which uses machine learning provide code suggestions from our text input. Since Swift Assist runs in the cloud, it knows all the latest SDK updates and Swift Language features.

Swift Testing

Swift Testing is Apple's new testing framework which is an open-source package. An example of a test with Swift Testing looks as follows:

@Test("test long outputs of MinutesFormatter",
arguments: [
(1, "eine Minute"),
(2, "zwei Minuten")
])
func testMinutesFormatter(minutes: Int, expected: String) {
let formatter = MinutesFormatter(lang: "de")
#expect(formatter.longOutput(from: minutes) == expected)
}

Swift Testing also works side-by-side with XCTest which helps us migrate tests incrementally.

Swift 6

Swift has its 10th birthday this year. Swift 6 introduces data-race safety by diagnosing potencial data races at compile time, further concurrency improvements, typed throws, increased interoperability with other languages and more.

SwiftUI updates

SwiftUI comes with improvements on many different topics such as navigation transitions, animation interoperability, programmatic text selection, timer formats, scrolling refinements and more.

SwiftData updates

SwiftData introduces new marcos such as #Index and #Unique. Additionally, we now get access to the history of local changes.

RealityKit updates

RealityKit 4 allows building for iOS, iPadOS, macOS, and visionOS simultaneously.

Reality Composer Pro, introduced with Apple Vision Pro, supports spatial app development across these platforms. Features like MaterialX shaders, portals, and particles work with RealityView on all four platforms. This includes existing APIs, as well as new features like blend shapes, inverse kinematics, skeletal poses and animation timelines.

Additionally, Xcode view debugging now includes 3D scene content inspection, simplifying the debugging process.

Controls API

The new Controls API allows us to add controls to device system spaces such as Control Center and Lock Screen. Controls can for example toggle a setting, execute an action or trigger a deep link. We can use the new ControlWidget type to configure controls.

Tinted App Icons

iOS now supports tinted app icons which can be configured in Xcode additionally to Light and Dark Mode app icons.

Sponsorship logo
Preparing for a technical iOS job interview - updated for iOS 18
Check out my book on preparing for a technical iOS job interview with over 200 questions & answers. Test your knowledge on iOS topics such as Swift, SwiftUI, Combine, HTTP Networking, Authentication, SwiftData & Core Data, Concurrency with async/await, Security, Automated Testing, Machine Learning and more.
LEARN MORE

Newsletter

Image of a reading marmot
Subscribe

Like to support my work?

Say hi

Related tags

Articles with related topics

technical interview

swift

ios

Preparing for a technical iOS job interview with questions and answers - book preview

A new book version, updated for iOS 18, is now available.

22 Jul 2024 · 8 min read

Latest articles and tips

© 2024 tanaschita.com

Privacy policy

Impressum