SwiftLee Weekly - Issue 325


This week's SwiftLee Weekly covers:

  • Xcode Instruments & Swift Concurrency
  • Accessibility at WWDC'26
  • The MCPs I use for polishing app releases

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Using Xcode Instruments to optimize Swift Concurrency Code

When I started building apps in 2009, Xcode Instruments was part of my job, and I used it every day. Devices were slower, and apps needed instruments to be usable at all. We’re spoiled with today’s devices, but with AI writing more and more of our code, I believe it’s essential to know how to use Xcode Instruments.
avanderlee.com

video preview

SPONSORED

Is Your iOS App Secure?

Defend against static analysis and counter dynamic analysis with the polymorphic, compiler-based mobile app security from Guardsquare. Learn more.

CURATED FROM THE COMMUNITY

Make It Visible: Accessibility Meetup @ CommunityKit

If you care about accessibility and you’re around San Jose during WWDC, you’ll enjoy this event hosted by Kirkland during CommunityKit. Registration is now open, seats might be limited!
luma.com

A Recipe to Custom Instructions for GitHub Copilot

I wish I learned this earlier: custom CoPilot instructions have been a great impact on my open-source repositories. Tiago Henriques explains how it works.
ioscoffeebreak.com

Making a SwiftUI sheet automatically size to fit its content

I often find myself using default sheet sizes, whereas a custom size looks much more solid with less whitespace. I’m bookmarking this technique by Daniel Saidi!
danielsaidi.com

Create and Style App Shortcuts in iOS Using AppShortcutsProvider

App Shortcuts, App Intents, I expect these to become much more powerful after #WWDC26. Shankar Madeshvaran explains how you can create and style them today.
shankarmadeshvaran.medium.com

Modern SwiftUI APIs for programmatic scrolling

How about refreshing your knowledge of the SwiftUI scrolling API just before #WWDC26? Natalia Panferova’s article contains solid screenshots and code examples for an easy-to-digest explanation.
nilcoalescing.com

Xcode should be decoupled from Swift versions

If there’s one wish I have for #WWDC26, it’s faster releases for Xcode. Decoupling it from Swift versions would be required for this, and Max Seelemann recommends it as a step forward for Apple.
macguru.dev

Deprecating your own convenience API

With new iOS 27 APIs around the corner, you’ll benefit soon from this deprecation technique from Majid Jabrayilov. Instead of rewriting all your code right away, you can mark it as deprecated and allow progressive migration.
swiftwithmajid.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.

There have not been any state changes in the past 7 days. I guess they're preparing for WWDC!

WHAT I'M WORKING ON

Polishing a major release

Whenever I release major updates to my apps, I always give myself the time to polish and improve. I like Learn by Shipping, which allows me to move fast. However, it also brings in risks like instability and improvement potential.

Many platforms that I use for observation allow me to connect to agents. I can use Amplitude's MCP for analytics reviewing, Sentry MCP for stability insights, and Astro's MCP for ASO improvements reviews.

Besides fixing incoming bugs and support email reports, I'd like to ask my agents:

"Use the Amplitude MCP and validate whether our onboarding improvements had a positive impact in 16.0.0 compared to 15.x builds"

This is just an example prompt, but it gives me massive insights. A follow up prompt would be:

"Based on these insights, give me low-hanging fruit, high-impact changes we can do to further improve"

And that's how I'm constantly evolving.

Being able to connect observation platforms to my project's code & release history is a massive step forward that I had to do manually a few months ago. It's basically plan, build, review, compound: a continous loop. Improving 1% every single day will make you so much better in a year from now!

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: Data dependencies and SwiftUI redraws MVVM in SwiftUI A new warning in Xcode 27 Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST MVVM in SwiftUI: Using view models without overengineering As an iOS developer, should you use MVVM in SwiftUI? You'll get many different answers, but here's at least an article explaining how I think you should use it, if you end up doing so.avanderlee.com SPONSORED Does Xcode Instruments Feel Too Intimidating? Xcode...

This week's SwiftLee Weekly covers: Dynamic Profiles in Apple Foundation Models StateReporter & MetricKit in iOS 27 What's new in Swift 6.4 Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST @StateObject vs. @ObservedObject: The differences explained The Observable framework makes these obsolete, but many projects still have old code using these property wrappers. Knowing their differences is important and also teaches you more on how SwiftUI works.avanderlee.com SPONSORED Turn Xcode...

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...