Snapp Technology
Snapp iOS Weekly
Issue 110 September 18, 2026

Hi folks,

We have a very “tooling is the product now” kind of issue this week. Swift 6.4 pushes the language outward — servers, browsers, embedded targets, sharper testing — while the rest of the links remind us that our day-to-day wins still come from boring-looking details: a better ForEach, a cleaner package boundary, an agent that stops writing weird SwiftUI. Not glamorous every minute, but this is the stuff that makes our apps feel less fragile six months from now.

Have fun!

Subscribe

Articles

Swift

Swift 6.4 Released

Joe Heck, Holly Borla

Swift 6.4 is one of those releases where the headline is not one giant feature, but a lot of pressure being taken off real projects. Swift Build becoming the default in SwiftPM, Subprocess hitting 1.0, better Swift Testing migration, richer interop, faster Wasm bridging — it all points to Swift getting more comfortable outside the narrow “app language” box. For our apps, the async defer, cancellation shields, warning controls, and non-copyable collection work are the bits I’d actually expect to feel in code reviews. Less ceremony, fewer weird edges, and a language that keeps growing without pretending memory safety is optional.

[Lambda] : Swift AWS Lambda Runtime 3.0.0 released

Sébastien Stormacq

Swift AWS Lambda Runtime 3.0.0 lands with the kind of changes server-side Swift teams will care about immediately: nonisolated(nonsending) by default, new lifecycle plugins, ZIP or OCI deployment, and task-local logging. The breaking change may sting a bit, sure, but keeping handler execution on the caller’s executor is the right kind of boring correctness. The new lambda-init, lambda-build, and lambda-deploy flow also makes Lambda feel less like a hand-rolled side quest. If our backend glue is going to be Swift too, this is the direction it needed to go.

Agents

How to Export and Use Xcode 27’s Agent Skills in Claude Code

Mick MacCallum

Xcode 27 exporting Apple’s own agent skills is a small command with a pretty big implication: our external agents can now carry some of Apple’s platform guidance with them. The walkthrough shows how to dump those skills into Claude Code, Cursor, Codex, or a shared ~/.agents/skills folder, then let the agent load SwiftUI, testing, UIKit modernization, or security guidance only when it needs it. I like this because it treats AI assistance less like magic and more like tooling we can configure. And honestly, who doesn’t want the agent to stop guessing at SwiftUI when Apple already wrote the notes?

SwiftUI Agent Skill: Install and use with AI coding tools

Antoine van der Lee

A reusable SwiftUI skill for coding agents is exactly the sort of thing that starts sounding optional, right up until the third generated view ships with stale onChange patterns and confused state ownership. Version 5.0.0 adds verified Xcode 27 and SDK 27 guidance, with focused references for layout, accessibility, animation, state, lists, toolbars, WebKit, and more. The nice part is the shape: a compact skill file that pulls in deeper notes only when relevant, instead of stuffing every rule into one giant prompt. Our codebase gets better results, and our context window does not become a landfill.

UI/UX

How SwiftUI animation works

OpenSwiftUI Project

SwiftUI animation is easy to use and weirdly easy to misunderstand, especially once “async” and Core Animation show up in the same conversation. This deep dive follows OpenSwiftUI’s iOS 18 animation model and makes the boundary clearer: SwiftUI samples animation values in the app process, then submits presentation updates; Core Animation still composites, but it is not necessarily owning the spring’s clock. That distinction matters when we’re chasing hitches in our apps. Don’t just blame “the animation” — trace state, graph updates, sampling, layer updates, and compositing like separate suspects.

Diagnosing ForEach performance issues in SwiftUI lazy containers

Natalia Panferova

There’s a tiny launch argument here that deserves a spot in every SwiftUI performance debugging checklist: -LogForEachSlowPath YES. It catches ForEach content inside lazy containers when SwiftUI can’t know the number of views per element without evaluating offscreen rows, which is exactly the kind of invisible work that makes lists feel haunted. The fix is not always “wrap it in a VStack”; sometimes we should filter the collection before ForEach, and sometimes grouping is the right move because the element still exists. Small detail, big payoff. Our lists are only lazy if we stop making SwiftUI guess.

SPM

Managing Multi-Repository Enterprise iOS Ecosystems at Scale

Flaregun-dev

Large iOS codebases rarely stay neat, and this piece walks through the mess without pretending one repo strategy solves everything. Swift Package Manager is the center of gravity now, with private registries, binary XCFramework targets, CI tokens, automated version bumps, and the occasional Xcode workspace still doing useful work at the edges. The practical thread is consistency: exact versions, repeatable builds, shared compiler settings, and dependency updates that move through PRs instead of folklore. If our apps depend on a dozen internal libraries, “it builds on my machine” is not a process. It’s a warning sign.

Utils

Homebrew/BrewUI

Homebrew

BrewUI is Homebrew’s official macOS GUI, built in SwiftUI, and I’m happy it exists for a simple reason: not everyone wants package management to start in Terminal. The project is careful about transparency, showing what Homebrew is doing rather than turning installs and upgrades into a mystery button. It also has a very pragmatic environment model — clean zsh launch, explicit brew.env files, and a Configuration tab to explain what the app sees. A native SwiftUI app around a beloved command-line tool? That is a nice little macOS story, and maybe a useful reference for our own developer-facing utilities.