Snapp Mobile iOS Newsletter

Issue 51 • August 1, 2025

Hi folks,

Welcome to Issue 51!

Apple just dropped fresh betas across all platforms — perfect timing to test your apps! Also don’t forget to join Shipaton and ship something amazing with the community.

This week, we’re diving into some exciting topics, from the latest in Swift concurrency to the new frontiers of visionOS and AI. We’ve got a great selection of articles for you, so let’s get right to it!

Swift

Combine and Swift Concurrency: A threading risk

This article by Antoine van der Lee discusses a potential threading risk when using Combine and Swift Concurrency together. It explains how to avoid race conditions and other concurrency issues by using the receive(on:) operator to ensure that UI updates are performed on the main thread.

Default Actor Isolation: New Problems from Good Intentions

This article by Xu Yang explains the new Default Actor Isolation feature in Swift 6.2. It discusses how this feature helps reduce boilerplate code by inferring isolation for unmarked code, but also introduces new challenges, especially for macro authors.

Streaming changes with Observations

This article by Majid Jabrayilov explores the new Observation type introduced in Swift’s Observation framework, which allows converting observable types into asynchronous streams. It explains how this addresses previous limitations of the withObservationTracking function by providing automatic recursive observation and compatibility with Swift Concurrency’s async/await patterns.

SwiftUI

How to Create and Combine SwiftUI Views Without Getting Lost in Deep Nesting and Complex Layouts

This article by Matteo Manferdini explains how to manage complex SwiftUI views by breaking them down into smaller, reusable components. It emphasizes using @ViewBuilder and custom view modifiers to simplify view composition and improve code readability.

Blissful UI Development with SwiftUI and Godot.

This article by Miguel de Icaza addresses the challenge of slow UI development cycles within the Godot engine. It proposes a powerful workflow that leverages the speed of SwiftUI Previews for rapid component iteration. The author details a project structure that decouples the UI from Godot, allowing developers to build and test interfaces in isolation before seamlessly integrating them into the final Godot-based application.

AI/ML

Building an AI Chatbot in SwiftUI with Foundation Models Framework

This article by Karin Prater provides a guide on using the new Foundation Models framework in SwiftUI to build an AI chatbot. The article covers checking for device compatibility, running models in playgrounds, handling errors, and managing chat sessions. It also touches on performance optimization and the importance of tool calling for production-ready AI apps.

API

Retention Messaging API

This documentation from Apple introduces the Retention Messaging API, a service that allows developers to send messages to encourage users to re-engage with an app, particularly after a subscription has lapsed.

visionOS

Understanding spatial layout in visionOS 26

This article by Matteo Altobello explains the fundamentals of spatial layout in visionOS 26. It covers how to arrange and position 3D content in a user’s surroundings using SwiftUI.