Snapp Mobile iOS Newsletter

Issue 57 • September 12, 2025

Hi folks,

What a week! Apple’s September event has left us with a treasure trove of new hardware to dream about. We saw the incredibly thin iPhone Air, the powerful new iPhone 17 lineup, and the feature-packed AirPods Pro 3 and Apple Watch Series 11. 🚀

For us as developers, this translates into a whole new playground of possibilities. The A19 Pro chip promises a new level of performance, while new APIs for health monitoring and live translation open up exciting avenues for app development. Of course, new designs like the ultra-thin iPhone Air also bring unique challenges in thermal management and optimization that we’ll need to tackle.

We’re excited to see what you all build with these new tools. Enjoy this week’s selection of articles while you wait for your pre-orders to arrive!

Happy coding!

Concurrency

When should you use an actor?

An excellent breakdown from Matt Massicotte gives us a detailed guide on when to use Swift’s actor type. He contrasts it with value types and reference types, explaining its vital role in protecting shared mutable state to prevent data races in concurrent code.

Threads vs. Tasks in Swift Concurrency

Ever get tangled up thinking about threads versus tasks? This insightful piece by Antoine van der Lee demystifies the relationship, showing how the system abstracts away thread management so you can write safer, more efficient concurrent code.

Swift

Treating Warnings As Errors In Swift Packages

This practical tutorial from Keith Harrison shows us how to take control of our compiler warnings in Swift Packages. This is a guide to using Swift 6.2’s new warning control settings like treatAllWarnings(as: .error) and how to manage them in Xcode and Package.swift. A must-read for anyone who loves a clean build.

Design

Creating Light and Dark Mode Icons using Icon Composer

Here’s a walkthrough from Jordan Morgan on creating distinct light and dark mode appearances for app icons using Apple’s Icon Composer. A handy piece for manipulating layer visibility and opacity to get your icons just right.

SwiftUI

Why 90% of SwiftUI Apps Get Dependency Injection Wrong

A thought-provoking analysis from Mohammad Azam that discusses common mistakes in dependency injection within SwiftUI. It explores three key patterns for managing dependencies: constructor injection, environment values, and environment objects.

Customizing PencilKit: Going Past Apple’s Tool Picker

This tutorial by Wesley Matlock explores how to create a custom tool picker for PencilKit in a SwiftUI application, giving you more control over the drawing experience beyond the standard PKToolPicker.

SwiftUI Liquid Glass sheets with NavigationStack and Form

A useful guide from Natalia Panferova shows how to maintain the “Liquid Glass” appearance for sheets in SwiftUI when they contain Form views or NavigationStack elements by adjusting background settings.

Building a design system at Genius Scan

John Sundell gives us a fascinating look into how Genius Scan built their design system. He shares their journey of creating a system that balances brand identity with native look and feel, and how they use SwiftUI to make it happen.