Hi folks!
The thread this week is control. Not the dramatic kind — the small, boring control that keeps our apps from wobbling: stable environment defaults, optionals handled honestly, reusable views with APIs that do not fight SwiftUI, accessibility semantics that actually say what the UI means.
And then AI keeps barging into the room. Foundation Models gets a cleaner architecture story with Dynamic Profiles, Xcode cleanup becomes agent-assisted but still approval-first, and Starling shows what happens when one person points agents at a job we used to measure in teams and years. Exciting? Yes. A little unsettling? Also yes. Which is probably the right mood for 2026.
Enjoy!
Articles
Swift
Advanced Swift: Optionals
Optionals are one of those Swift features we all use daily, then occasionally misuse in ways that make our codebase feel haunted. A solid walk through if let, guard let, chaining, map, flatMap, compactMap, and the newer Swift 6.2 string interpolation default gives the whole thing some needed shape. We especially like the blunt line on force-unwrapping: use ! only when crashing is the correct answer, not because we got tired of thinking. Good refresher, and probably worth sending to that teammate who still treats nil like a shrug.
AI/ML
Build Agentic Swift Apps With Dynamic Profiles
Dynamic Profiles in Foundation Models feel like one of those APIs that exists because the first wave of demos created a very real mess. Instead of rebuilding LanguageModelSessions, carrying transcripts around by hand, and stuffing every tool into one giant prompt, our apps can describe the current AI mode from state: analysis now, brainstorming later, maybe Private Cloud Compute only when it earns the trip. That is a cleaner shape for agentic Swift features, but the warning is fair too: model switches mean privacy, cost, and capability decisions, not just a fancier initializer. Nice architecture piece for anyone trying to move past “chat box with tools bolted on.”
How to free up Xcode disk space safely with an AI Agent
Xcode has always eaten disk space, but agentic development makes the problem louder: worktrees, Derived Data everywhere, old runtimes, archives we are scared to delete, the whole circus. This Xcode Disk Cleanup Agent Skill takes a refreshingly conservative route by auditing first, explaining candidates, and deleting only the exact items we approve. We’re into that, because “just rm -rf DerivedData” is the kind of advice that looks efficient right up until our next build, symbolication, or simulator state matters. Practical automation, with enough brakes attached to trust it.
UI/UX
The hidden cost of unstable SwiftUI environment defaults
A tiny SwiftUI default value can accidentally become a little invalidation machine, and yes, that is exactly the sort of bug that makes us blame the framework first. Creating a class instance directly inside an @Entry default means every fallback lookup can return a fresh reference, so views that only read that environment value may re-evaluate when unrelated environment values change. The fix is boring in the best way: store the default reference somewhere stable, or make the dependency optional and inject it explicitly from the app. File this under “small code, weird performance bill.”
Semantic Accessibility in SwiftUI
SwiftUI gives us a decent accessibility baseline, but semantics are where our apps start feeling built for real people instead of merely passing a quick audit. Labels, hints, values, grouping, decorative hiding, custom actions, traits, sort priority — it is all the stuff that makes VoiceOver navigation understandable rather than noisy. The useful bit here is how concrete the examples are, especially the rating control with an adjustable action. Accessibility is not polish at the end; it is part of the control’s API, same as its binding or label.
The Anatomy of a Reusable SwiftUI View
Reusable SwiftUI views go bad fast when we design them like private helper functions instead of tiny platform citizens. The strongest point here is to start with semantics and data flow before reaching for visuals: is the component semantic or prescriptive, does it own state, should it use a Binding, and what invalid states should be impossible? The examples around Card, Tag, and a stylable Rating control show how far we can get by copying Apple’s API instincts — LocalizedStringResource, ShapeStyle, environment values, custom styles, and accessibility baked in. Especially now that agents can spray a bad component API across our codebase in minutes, designing the call site first feels less optional than ever.
Utils
SwiftStash
SwiftStash is a young package, but the pitch is easy to understand: property-wrapper persistence that covers UserDefaults, Keychain, SwiftUI bindings, Codable values, observation, and stricter Swift 6 behavior without dragging in third-party dependencies. It reads like @AppStorage where that makes sense, then keeps going into places @AppStorage was never meant to handle: non-SwiftUI code, secrets, typed updates, and “was this ever set?” checks. I like that the README also says the quiet part out loud — if @AppStorage already solves the job, keep it. For apps with both settings and credentials scattered around, though, one syntax for both stores could clean up a lot of little persistence corners.
Interesting
Starling — the first real desktop written by AI
Starling is not iOS development, exactly, but it is too weird and too Swift-adjacent to ignore: a real Linux desktop, written in Swift/C/C++, directed by one person with AI doing a huge amount of the building. The interesting claim is not the headline; it is the bar they set for “real” — drives the GPU through DRM/KMS, speaks Wayland and X11, and runs Chrome, Slack, Zoom, and other apps it did not write. Whether or not Starling becomes something people daily-drive, the labor collapse is the part worth staring at. If one person can push a desktop this far in six months, our assumptions about what agentic coding can produce are already stale.