SwiftLee Weekly - Issue 293


This week's SwiftLee Weekly covers:

  • My AI Agents journey
  • The importance of Swift Migration Tooling
  • Custom ViewModifiers are useless

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Why Swift Migration Tooling Matters

Manually migrating to Swift's upcoming features is a bad idea. In fact, it can suddenly result in your code running more on the main thread, blocking the UI, and decreasing user experience. I'm using this typical example in a detailed post on how you can benefit from Swift's migration tooling.

video preview

New videos coming soon — Subscribe to my YouTube channel

SPONSORED

The best mobile app monitoring product just keeps getting better

Sentry automatically captures crashes recorded on macOS, iOS, and tvOS to make sure you're shipping the best experience to your users. Oh... and also Emerge Tools is now a part of Sentry, so things are getting even better. Use coupon code SWIFTLEE2025 for Sentry’s Business Plan and get started now with 2 free months.

CURATED FROM THE COMMUNITY

Why a custom ViewModifier is often useless

A custom ViewModifier that’s… often useless? That might sound bold—but the truth is, Vincent Pradeilles shares a simpler, cleaner way that needs less boilerplate.
swiftwithvincent.com

When SwiftUI automatically applies the glass look and when it doesn’t

SwiftUI sometimes gives your views that beautiful glass look automatically… but when exactly? Natascha Fadeeva breaks it down.
tanaschita.com

Cultivated Task Cancellation

I can’t stress enough how important task cancellations are. Max Seelemann dove deep into Swift’s structured concurrency—and came back with insights that’ll strengthen your understanding too.
macguru.dev

Building AI features using Foundation Models. Streaming.

Streaming partial results generated by Foundation Models will give your app that responsive feeling. Majid Jabrayilovexplains how it works.
swiftwithmajid.com

Performing search with SwiftData in a SwiftUI app

The searchable modifier looks like an easy win in SwiftUI—but not always. Create with Swift shows when you’ll need to take the longer route when using SwiftData.
createwithswift.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

Embracing AI Agents

Yes, I know, I'm late to the party! But am I really?

I started working on fundamental improvements to RocketSim, pretty much the only Xcode project I'm currently working on. I implemented more tests, migrated to Swift 6 & Strict Concurrency, and enabled CI to run all tests on pull requests.

There has been a vision behind this: I knew it would be important to onboard AI agents. Yet, I did not want to let AI do anything without it being able to run tests. On top of that, being able to verify all tests succeed on a PR is helpful for both AI agent code and other contributors.

With that fundament into place, I was finally able to focus on adding AI agents to my repository. I'm currently only focusing on Codex, but this is simply a matter of focus—using too many tools at once can distract me from my goals.

The result is a list of Codex tasks that I triggered within an hour while working from a coffee place. I was impressed! Sure, not everything was worth merging or even continueing, but I still fixed quite a few bugs in a much shorter time.

This was also a moment where I realized how important it is to get started with these tools. We're becoming code mentors, code reviewers, much more than developers. It's a skill to coach an agent, to provide proper instructions.

Some of the tasks in the above image didn't result in a PR. For me, the code changes were either of low quality or too many lines of code. I'm still practicing and getting better, but I feel like AI agents are currently most effective for me when focusing on smaller tasks, smaller code to review.

I hear you thinking: AI can do big tasks!

It sure can, but I want to build up momentum gracefully. Learn along the way, get better along the way.

UNTIL NEXT TIME

Continue your Swift development journey

I hope you've enjoyed this week's content. You don't have to wait till next Tuesday for more insights, I share every day on these channels:

Or earn lifetime access to RocketSim & my Swift Concurrency Course by becoming an affiliate of my newsletter.

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: Indirect enum cases in Swift Unexpected Task suspension points slowing down your apps 63% fewer tokens used to navigate the Simulator using Agents Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Unexpected Task suspension points in Swift Concurrency I'm using Swift Concurrency heavily in my apps, but I'm still learning every day. This time, I ran into an unexpected suspension point that seemed innocent, until I executed the related task many times...

This week's SwiftLee Weekly covers: SwiftUI Animations SwiftUI Performance Tuning Column breakpoints in Xcode Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Immediate tasks in Swift Concurrency explained Immediate tasks are new in Swift 6.2 and a useful tool when working with Swift Concurrency. You really only should use it when you truly know what it's doing, which is why I wrote this week's article in detail. SPONSORED Stop waiting. Start shipping. Shared runners, queued jobs,...

This week's SwiftLee Weekly covers: Apple Developer meetup during WWDC Draggable bottom sheet in SwiftUI Xcode Instruments x AI Agents Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Xcode Instruments Time Profiler: Improve performance with AI I'm a big fan of Xcode Instruments, but lately even more now that I found a good way to work with it using AI agents. In this week's article, I'll share you how I used it this week to gain 25x better performance for RocketSim's CLI. SPONSORED...