Weekly note ✏️
A week has passed since the big GM releases—macOS, iOS, and the rest.
Swift 6.2 is already raises debates: should everything live on MainActor? Or should you keep non-isolated code and hop between contexts? Meanwhile, macOS Tahoe is under heavy scrutiny. New features like rounded corners, revamped Safari tabs, and redesigned app controls are pushing us out of our comfort zones. For years, the UI stayed mostly stable while features evolved—but this time, the visuals themselves have changed. It’s drawing a lot of attention.
If you’ve noticed bugs, quirks, or design inconsistencies—this is your chance to tell Apple what’s working and what’s not. Use the Feedback Assistant to submit your reports and experiences. Your input really does help shape future releases.
🛠️ File feedback here: Apple’s Bug Reporting / Feedback Assistant page
Take your time, describe what you see, and attach screenshots or logs when possible. Even small reports count.
Connect with the "Those Who Swift" team - Justas Markus & Anton Gubarenko 👋
Sponsor 🤝
Launch your app’s website, paywall, and checkout in minutes
Paddle have released their web monetization kit—your fastest path to launching a branded website, paywall, and checkout with zero heavy lifting.
Built for Vercel, these templates are fully functional out of the box and designed to maximize conversion.
Customize as much as you want, deploy in a few clicks, and start turning visitors into paying customers right away.
Swift Around the Web 🌐
How To Use [weak self] In Swift Concurrency Tasks
Donny Wals shows that unwrapping self at a task’s start still keeps a strong reference, and advises unwrapping only when needed to avoid memory leaks.
Hidden Gems in the Swift Argument Parser - Part II
Natan Rolnik highlights under-used features of Swift’s ArgumentParser: built-in support for generating UNIX manual pages, DocC documentation, and a JSON dump of command/argument metadata. He shows how these tools — often experimental — can improve CLI tooling, documentation workflows, and tooling around commands built with ArgumentParser.
Coding 👨💻
Localization Troubles With Swift PM
Scott Berrevoets explains how putting .lproj files in a Swift Package broke first-install localization and suggests fixes like Bundle.module.preferredLocalizations, adding CFBundleLocalizations, or declaring languages in Xcode’s Info tab.
Create Interactive Snippet Shortcut Using App Intents
Jordan Morgan shows how to build a reusable “snippet” view in iOS using App Intents, with interactive buttons for incrementing/decrementing a counter. The setup uses intent structs, a shared model via dependency injection, and makes sure the view stays live while the user interacts.
Apple 🍏
Get Ready With The Latest Beta Releases
Apple has released beta versions of iOS 26.1, iPadOS 26.1, macOS 26.1, tvOS 26.1, visionOS 26.1, and watchOS 26.1. Developers should test their apps and build using Xcode 26.0.1 to ensure compatibility.
Other cool stuff 🧰
Scheduling Work in iOS with Swift & SwiftUI
Himali Marasinghe outlines iOS background tools—BGAppRefreshTask, BGProcessingTask, BackgroundURLSession, and Silent Push—with advice on rescheduling, real-device testing, and preserving battery life.
The TCA Playbook: Debugging Large Reducers Without Losing Your Mind
Wesley Matlock advises splitting large TCA reducers into smaller ones, adding signposts and conditional logging, using snapshot tests, and leveraging Instruments to spot performance and memory issues.
Meet Vapor for VS Code
The Vapor team has released an official VS Code extension that supports project creation, syntax highlighting, formatting, and snippets for Vapor, Leaf, and Fluent—all to streamline development in Swift server environments.
AI 🤖
Qwen3 Series Release
Qwen has released three breakthrough AI models for speech, images, and text, all free to use right now. Qwen3-TTS-Flash generates lifelike voices in ten languages with just 0.1-second latency, while Qwen-Image-Edit-2509 and Qwen3-Omni handle pro-level image and video editing, multilingual text, and lightning-fast audio processing, topping global benchmarks.
Tutorials 📒
Getting Started With The Contacts Framework
Gabriel Fernandes Thomaz & Tiago Gomes Pereira starting a series to guide you through using Apple’s Contacts framework in SwiftUI: request permission, check authorization status, fetch the user’s contacts store, and present status info in the UI — all in a privacy-respecting, structured way.
Video 🎥
Is MVVM a bad architecture for SwiftUI?
Vincent Pradeilles highlights a cornerstone of SwiftUI architecture, explaining what architecture really means and how to build modern apps with scalable, maintainable code.
Thanks for reading Those Who Swift! Subscribe for free to receive new posts.