Snapp Technology
Snapp iOS Weekly
Issue 104 August 7, 2026

Hi folks!

A lot of this week is about choosing the right constraint before it chooses us. Actor isolation, alignment guides, sheet detents, StoreKit paywalls, even UIKit’s Liquid Glass bruises — same story in different clothes. The platform gives us powerful defaults, but our apps get better when we understand where those defaults stop being kind and start being baggage.

There’s also a nice tools thread here: Foundation Models hooks, Xogot’s Swift support and Pi inside the editor. Less ceremony, more context, fewer little bridges we have to maintain by hand. I’ll take that bargain most weeks.

Have fun!

Subscribe

Articles

Swift

An Even Closer Look at Protocols and Global Actors

Matt Massicotte

Protocols and actor isolation keep looking simple right up until our APIs start leaking constraints everywhere. The useful bit here is the distinction between whole-protocol @MainActor, per-requirement isolation, and sometimes no isolation at all now that Swift 6.2 gives us better tools. We like the push to ask what the protocol really needs before stamping @MainActor on everything, because once that constraint lands in our codebase, it tends to stick.

AI/ML

Swift: Hooks for Foundation Models. A Little Cleaner Way!

Itsuki Kamizuru

Foundation Models hooks feel like one of those small APIs that saves a surprising amount of glue code. Instead of posting notifications around every tool call, a LanguageModelSession.DynamicProfile can observe prompts, responses, activation, tool calls, and tool output in one place. For our apps, that means human-in-the-loop approval, logging, and guardrails can live near the model session instead of getting scattered through every tool implementation. Much cleaner. Also much harder to accidentally forget.

UI/UX

Making a SwiftUI sheet automatically size to fit its content

Daniel Saidi

SwiftUI sheets still make us choose from detents that are close enough, which is annoying when the content has an obvious natural height. The trick here is nicely boring: measure the sheet content with onGeometryChange, feed that height back into a .height(...) detent, and wrap it behind a small custom modifier. It is the kind of fix we want in a shared UI package, because nobody wants every sheet in our apps wasting half the screen for a tiny confirmation view.

Alignment guides in SwiftUI

Natalia Panferova

Alignment guides are one of SwiftUI’s best “stop fighting the layout system” tools, and yes, most of us still reach for offsets too quickly. The walkthrough moves from built-in baselines to custom guides that let a parent align around a meaningful point buried inside a child view. That matters in real interfaces: icons next to text, timeline rows, custom artwork, all the small places where our apps look just a bit off unless we give SwiftUI the right reference point.

Tracking value sources to prevent recursive SwiftUI updates

Matthaus Woolard

Here is a sharp little pattern for wrapped UIKit and AppKit controls: track where a binding update came from instead of comparing huge values over and over. A custom transaction value can mark the originating UITextView, then updateUIView can skip applying the same value back to the view that just produced it. It is tiny, but the payoff is real — fewer pointless text resets, less layout churn, and no cursor jumps while someone is typing into our beautifully wrapped legacy control.

Liquid Glass - A Field Guide to UIKit Compatibility Pitfalls

Megabits Studio

Liquid Glass brought the shine, but UIKit teams got the bill. This field report is full of the ugly, practical stuff: UIBarButtonItem custom views losing sizing and color behavior, badges that sometimes refuse to update, tab bars getting weird around controller replacement, and WKWebView content needing proper safe-area CSS. The uncomfortable lesson is a good one for our apps: test every supported iOS version, especially around navigation, and the further we wander from Apple’s patterns, the more strange little caves we may fall into.

Mastering StoreKit 2. SubscriptionStoreView in SwiftUI.

Majid Jabrayilov

SubscriptionStoreView is Apple doing the thing we keep asking for: taking a miserable purchase flow and making the default path pretty reasonable. Drop in a group ID or product IDs, then let StoreKit handle loading, purchasing, upgrades, downgrades, and the current subscription state. The customization hooks are the part worth lingering on — marketing content, backgrounds, control styles, and button labels give our paywalls room to feel like our apps instead of a gray system receipt stapled to the screen. There’s also a handy gallery with all of the initializer options for your needs at Explore SwiftUI

Tools

.NET, Swift, Git and AI land in Xogot for Mac

Miguel de Icaza

Xogot for Mac Beta 3 is turning into a very Apple-native answer to “what if Godot felt like it belonged on this machine?” Swift and C# get first-class editing and debugging, Git and LFS are built in, and Pi shows up as an integrated coding assistant instead of yet another external tool to wire together. I am especially interested in the Swift side: sourcekit-lsp, LLDB, Swift Packages, and Swift scripts attached to Godot nodes is exactly the sort of weird-but-useful bridge our corner of the community tends to enjoy.