SwiftLee Weekly - Issue 268


This week's SwiftLee Weekly covers:

  • A first look at Swift 6.2
  • A code deprecation coming in iOS 19
  • Create MCP Servers in Swift

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Swift 6.2: A first look at how it’s changing Concurrency

I'm currently preparing my Deep Dish Swift conference talk and diving deep into what's next for Swift Concurrency. Since Swift is open-source, we have the opportunity to look at the latest changes that are coming up next. A few of those relate to a new vision document on Swift Concurrency and in this week's article, I'm giving you a first look at what's coming up.

SPONSORED

Transform Your Career with the iOS Lead Essentials — Limited Offer

Unlock over 40 hours of expert training, mentorship, and community support to secure your place among the best devs. Click now for early access to this limited offer and a FREE crash course!

CURATED FROM THE COMMUNITY

UIApplication delegate deprecation coming in iOS 19 SDK

While a deprecation does not mean you can’t use it anymore, it’s likely UIApplicationDelegate will get deprecated in iOS 19!
lapcatsoftware.com

Advice to My Younger Self

If there’s one way to learn fast, it’s by reading distilled lessons from those with years of experience. Tjeerd in 't Veen shares insights from 25 years of development—you’re bound to walk away with something valuable.
mobilesystemdesign.com

Creating MCP Servers in Swift

Artem Novichkov demonstrates how to build a simple Model Context Protocol (MCP) server in Swift that returns the current Swift version. This article is a must-read if you’re interested in coding with apps like Cursor AI. He walks through setting up the project, integrating the MCP SDK, and implementing a tool that responds with the Swift version.
artemnovichkov.com

Using Swift’s defer keyword within async and throwing contexts

The defer keyword is one of my favorite ways to clean up resource management in functions with multiple exit points. John Sundell discusses its usage, as well as within async contexts.
swiftbysundell.com

swiftlang/swift-subprocess: Subprocess is a cross-platform package for spawning processes in Swift.

I’m slowly adopting Swift 6 throughout my projects to build up migration experience for my concurrency course. Projects like this one from the Swift team are highly inspiring, and I can’t wait to implement it to replace my old NSProcess code!
github.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.

CODE SNIPPET OF THE WEEK

Upcoming Threading changes in Swift 6.2

You can find this post on Twitter/X, LinkedIn, or Bluesky.

QUESTION OF THE WEEK

Can I already see what's actively being developed into the next version of Swift?

It turns out you can!

Swift is open-sourced and that allows you to follow what's coming up next. At this moment, there's a release/6.2 branch in which new changes are actively pushed.

It's active development, so there's no guarantee it's in a state of release at anytime. However, if you follow the weekly proposals updates shared in this newsletter, you should have a good idea of what's coming up next.

If you like, you can even checkout the repository locally, create a one-off toolchain, and use it in Xcode accordingly. This is a way to try out new features before they go live. This process is well-documented with a starting point in the repository's readme.

In fact, it's what I've been doing for this week's code snippet and for my Swift Concurrency Course. I need to know what's coming up next to prevent writing content that's outdated before it even reaches your inbox. This also shows my goal for you—I'll do the hard work to digest all changes and boil it down into this newsletter's content so you stay current without spending much time. Enjoy!

Want to have your question answered next week? Ask your question via this form (anonymously) or reply to this email with your question.

EARN ROCKETSIM LIFETIME

Share and Earn RocketSim Lifetime & a 1-on-1 coaching session

Apple has recognized RocketSim as an Essential Developer Tool in the Mac App Store, and now you can get lifetime Pro access by sharing your unique referral link!

How to get started:

[RH_REFLINK GOES HERE]

Rewards:

  • Earn your first reward after just 3 sign-ups!
  • Check your progress anytime using your referral dashboard.
  • The grand prize? A personalized 1-on-1 career coaching session!

Several subscribers have already claimed their rewards—will you be next?

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

Antoine

SwiftLee Weekly by Antoine van der Lee

A new SwiftLee article, code snippet, Swift Evolution updates, 5 top community articles, and a weekly answer to a question from the community to level up your Swift skills.

Read more from SwiftLee Weekly by Antoine van der Lee

This week's SwiftLee Weekly covers: 3 Indie Marketing Tips Using Task Local values for dependencies Will WWDC have a big impact? Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Testing push notifications on the iOS simulator Many apps support push notifications, but Xcode doesn't provide an easy way to test them in the Simulator. Your options are limited, and many developers reach out to their physical device combined with some kind of testing server. Luckily, there's a native Mac...

This week's SwiftLee Weekly covers: On-Device AI Models A single line that bricks your iPhone What happens if you don't know the answer? Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST SwiftUI ForEach Explained with Code Examples ForEach in SwiftUI is an essential element that we all use, but it can sometimes be confusing. The use of the Identifiable protocol is key, and an enumerated approach can help you make index-based adjustments for the presented content. SPONSORED What's the...

This week's SwiftLee Weekly covers: How .ipa files can increase app security Optimizing user flows in apps Flexible SwiftUI user interfaces Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Swift Reduce: Combining elements into a single value Reduce is a typical functional pattern, a higher-order function that combines a collection into a single value cleanly and expressively. When I looked up how often I use it in RocketSim's codebase, I was quite surprised! Way more often than...