Photo by Michael Long

Apple Listened: You No Longer Need To Wait For Async

The real question is whether or not they’ll keep listening.

Michael Long
4 min readDec 6, 2021

--

With Xcode 13.2, “you can now use Swift Concurrency in applications that deploy to macOS 10.15, iOS 13, tvOS 13, and watchOS 6 or newer. This support includes async/await, actors, global actors, structured concurrency, and the task APIs.”

That’s a direct quote from the Xcode 13.2 Beta Release Notes.

This is significant because if you’d wanted to use all of those cool new features prior to this, you’d have to limit your application’s minimum supported version to iOS 15. That’s bad. So bad, in fact, I wrote about this issue at some length in a previous article, Why You Can’t Use Async/Await.

But with Xcode 13.2, Apple chose to back port support for these new technologies back to iOS 13 and the other versions on the other platforms mentioned earlier. Apple does this by including portions of the concurrency library with your application, along with some additional support needed to make it all work.

When running on an earlier version of iOS, for example, async/await will create its own global cooperative queue. If using actors, some classes may have some of their functions swizzled, and so on.

These changes might not quite have the same performance, but they’re largely guaranteed to have fundamentally the same behavior across all of the supported platforms.

Translation?

Well, it seems as if Apple really, really, really wants developers to learn and use async/await, actors, and structured concurrency.

They believe that it’s the future.

And they believe that strongly enough that they were willing to do the work needed to allow everyone to to use it, even developers and businesses who can’t afford to leave a significant portion of their customer base behind on iOS 13 and iOS 14.

That’s a wonderful thing, that belief.

Too bad they don’t appear to believe the same about SwiftUI.

SwiftUI

You know the story. SwiftUI was introduced, and its declarative approach to structuring and building and defining user…

--

--

Michael Long

I write about Apple, Swift, and SwiftUI in particular, and technology in general. I'm also a Lead iOS Engineer at InRhythm, a modern digital consulting firm.