SwiftLee Weekly - Issue 337


This week's SwiftLee Weekly covers:

  • ContentBuilder in SwiftUI
  • Headless Xcode 27 MCP
  • iOS 26' DataDetector

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Swift Testing explained with code examples

Are you yet using Swift Testing? Apple continued to improve the framework and I barely touch XCTest anymore. Here's an update on all the latest.
avanderlee.com

SPONSORED

Fastlane alternative - Codemagic CLI tools

Are you tired of Ruby and Fastlane installation issues? There's got to be a better way! Discover Codemagic open source CLI tools. It is not a drop-in replacement for all of what Fastlane does (screenshots for example), but we use it at Codemagic to build and publish iOS and Android apps, also versioning and device provisioning. View on GitHub.

CURATED FROM THE COMMUNITY

iOS 26: DataDetector

NSDataDetector, we've been friends in the past! It's so nice to see a modern replacement for this and Anton Gubarenkoshares all the details.
antongubarenko.substack.com

Unit Testing Navigation Logic In Swiftui

Unit testing navigation logic is always challenging, even more so in SwiftUI. Mohammad Azam explains how you can make use of a router to make navigation testable.
azamsharp.com

Headless Xcode: From Prompt to Simulator with MCP

Big news for iOS devs in one of the latest Xcode 27 beta releases. Artem Novichkov explains what headless Xcode MCP server access means for you when working with agents.
artemnovichkov.com

Creating multi-step animations with PhaseAnimator in SwiftUI

A simple SwiftUI animation might be doable, but what if you want a sequence of steps? This technique by Natalia Panferova works for that.
nilcoalescing.com

ContentBuilder Explained - The Secret Behind SwiftUI's Type-Checking Speedup

New in SwiftUI: ContentBuilder. Or well, it's actually not: it's just a typealias. But it's still a powerful change?! I know, this sounds confusing, but Fatbobman explains why there is a big reason to consider using it.
fatbobman.com

SWIFT EVOLUTION

An overview of last week's Swift Proposal state changes. Check them out when they're in review, as it's your opportunity to influence the direction of Swift's future.

WHAT I'M WORKING ON

Inviting the first beta users to RocketTrace

Last week, RocketTrace finally got approved. It turned out that my TestFlight build had a unique combination of entitlements that blocked it from going through. It uses an XPC-standalone companion app and other living-on-the-edge features to let you run Xcode Instruments directly on a physical device.

Getting unblocked on TestFlight also means I can finally onboard the first beta users. I’m doing this in waves, so I can pay full attention to any new users and fix issues along the way. Last week’s beta approval allowed me to invite several friends, who already provided great feedback.

Rolling out new apps is exciting, and you want to make sure they work ‘in the wild’ before rolling them out to your biggest audience. You might only get one chance to convince a user, so it better be good. Hence why I’m rolling it out in waves.

f you haven’t yet, make sure to sign up for the beta waitlist. And if you’re curious, here’s what recording in RocketTrace on a physical device looks like:

video preview

UNTIL NEXT TIME

Know an iOS developer who’d enjoy SwiftLee Weekly?

If this week’s issue helped you, share it with one iOS developer who’d appreciate practical Swift techniques, agentic coding tips, and carefully selected community articles.

Share on LinkedIn · Share on X/Twitter · Share on Bluesky

Or copy your personal referral link:

[RH_REFLINK GOES HERE]

Rewards: 3 referrals unlock 50% off RocketSim Pro Yearly, 10 unlock Swift Concurrency Course access, and 30 unlock RocketSim Pro Lifetime.

See your rewards and progress →

Thank you so much for your support, and until next Tuesday,

Antoine

SwiftLee Weekly by Antoine van der Lee

Swift Evolution updates, 5 top community articles covering Swift development topics.

Read more from SwiftLee Weekly by Antoine van der Lee

This week's SwiftLee Weekly covers: Xcode 27’s new MCP server experience Sendable and @Sendable closures explained Adaptive toolbars and concentric buttons in SwiftUI Before we dive in: this weekend I revealed my next app. RocketTrace turns intimidating Instruments traces into a ranked list of performance findings, so you know what to fix instead of where to look. Early beta signups are open, and I'm inviting testers in small waves: join the waitlist here. Enjoy this week's SwiftLee Weekly!...

This week's SwiftLee Weekly covers: An inspiring new iOS 27 framework Revealing 2 new app icons SwiftData syncing and testing Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST @MainActor in Swift explained with code examples Crazy to believe I wrote the first version of this article in November 2024. Enough reason to revisit and update it for the latest state of today.avanderlee.com SPONSORED Let AI Control the iOS Simulator RocketSim lets AI coding agents inspect, navigate, and verify...

This week's SwiftLee Weekly covers: How Apple migrates projects to Swift A new iOS 27 API for UIKit A creative way of using markdown in SwiftUI Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST How to free up Xcode disk space safely with an AI Agent The more I work with agents, the more worktrees I create, the more disk space I occupy. My Mac has a lot of available storage, but I still often run out of space. Therefore, I decided to create a new Agent Skill to help us recover disk...