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: Programmatic navigation in SwiftUI The 5 biggest async/await mistakes The best mobile app monitoring product Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST The 5 biggest mistakes iOS Developers make with async/await After migrating 20+ packages for RocketSim and developing a 65+ lesson course on Concurrency, I concluded that a few mistakes are most common. This led me to decide to spend over 50 hours offering a free 5-day email course to help you...

This week's SwiftLee Weekly covers: Next-level Xcode Simulator recordings Additional iOS 26 documentation for Agents.md Swift Package Manager traits Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Derived Data: 5 Things iOS Developers Do Wrong It's one of the most important directories when it comes down to development with Xcode: The Derived Data folder. Some of you might know all about it, some will hear about it for the first time in this newsletter. I've explored it quite a bit...

This week's SwiftLee Weekly covers: Apple Docs for LLMs Supporting async calls in defer Physics-driven moti Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST App Store Optimization: Real-world Best Practices I started sharing this in last week's What I'm working on and it turned out way to much to share in just this newsletter. This week's article is a true piece of art if you like reading real-world journeys of app developers. I'm sharing my experience and results of RocketSim's App...