Xcode 26 allows developers to opt-in to several of Swift 6.2’s features that will make concurrency more approachable to developers through a compiler setting called “Approachable Concurrency” or SWIFT_APPROACHABLE_CONCURRENCY. In this post, we’ll take a look at how to enable approachable concurrency, and which compiler settings are affected by it. How to enable approachable concurrency […]
Read post
Subscribe to my newsletter and never miss a post
Recent articles
Jump to a random postTernary operator in Swift explained
Published on: July 7, 2025Tons of languages have support for ternary expressions. In this post we learn what ternaries look like in Swift, and when we can replace them with if expressions.
Read postSupporting Universal Links on iOS
Published on: July 4, 2025Universal Links are a fantastic way to allow users to share your app’s content through URLs that work on the web, iOS devices, and more. Learn how you can set up Universal Links for your app by setting up entitlements as well as your server.
Read postGrouping Liquid Glass components using glassEffectUnion on iOS 26
Published on: July 2, 2025The Apple Maps app features something that looks like a vertical toolbar where they’ve stacked two grouped buttons on top of each other using a Liquid Glass effect. In this post, you’ll learn how you can make use of a GlassEffectContainer and the glassEffectUnion view modifier to achieve this effect.
Read postBuilding custom UI with Liquid Glass is easier than you think! Learn how you can leverage animations, the glassEffect view modifier, and a GlassEffectContainer to achieve a fun look and feel that will feel right at home on iOS 26!
Read postActor isolated protocol conformances are a super useful way to ensure that certain protocol conformances are only available on a specific actor. That said, with this feature you’ll open yourself up to some brand new compiler errors that I’ll explain in this post.
Read postSwift 6.2 makes significant changes to concurrency, and because of that we have to understand a brand new mechanism to offload work to a background thread in Swift 6.2. Learn everything you need to know about @concurrent and nonisolated(unsafe). You’ll also find out why I’m pretty happy with these changes even though they require us to relearn certain concurrency concepts.
Read postLiquid Glass drastically changes how you app looks and feels when you’ve used default system components in your UI. In this post we look at how TabView changes with Liquid Glass, and how this forces us to rethink aspects of how certain interactions in our apps should work.
Read postOpting your app out of the Liquid Glass redesign with Xcode 26
Published on: June 10, 2025On iOS 26, iPadOS 26 and more, your apps will take on a whole new look based on Apple’s Liquid Glass redesign. All you need to do to adopt this new style in your apps is recompile. Once recompiled, your app will have all-new UI components which means your app will look fresh and right […]
Read postSetting default actor isolation in Xcode 26
Published on: June 10, 2025With Swift 6.2, Apple has made a several improvements to Swift Concurrency and its approachability. One of the biggest changes is that new Xcode projects will now, by default, apply an implicit main actor annotation to all your code. This essentially makes your apps single-threaded by default. I really like this change because without this […]
Read postExpand your learning with my books

Learn everything you need to know about Core Data and how you can use it in your projects with Practical Core Data. It contains:
- Twelve chapters worth of content.
- Sample projects for both SwiftUI and UIKit.
- Free updates for future iOS versions.
The book is available as a digital download for just $39.99!
Learn more