Those Who Swift - Issue 287
Weekly note ✏️Every release process has a ritual that lives in exactly one person’s fingers- the archive dance, the signing shuffle, the “oh, you have to flip that switch first.” Lately, developers have been pulling those rituals into the open and handing them to scripts, command lines, and AI agents that don’t skip steps. Which ritual would fall apart if its keeper took a week off? If an Agent Can't Read It, It Isn't a Tool Yetwith Divya Ravi — Technical Editor Twelve out of twenty. Then nineteen out of twenty. That’s the number I keep coming back to from Antoine van der Lee’s RocketTrace benchmark. An AI agent given raw Instruments data found 12 real performance problems. Give it the same recording as a short list of ranked findings, and it found 19, using about a sixth of the tokens. Same model. Same app. Same bugs. The difference was how the tool presented the output. We’ve spent years building Apple’s developer tools to be looked at. Instruments is gorgeous. SF Symbols is gorgeous. Xcode’s build log is, to be kind, a very long document. That’s fine when the reader is a person. It matters a lot more when the reader is an agent, a CI runner, or the new hire who wasn’t there when someone showed you the trick. The four pieces in this issue make the same move from different directions. Artem Novichkov covers the SF Symbols 27 command-line tool: search, check against your deployment target, export, and let an agent confirm a symbol exists before it writes code using it. Daniel Saidi runs Xcode’s output through Jeroen Leenarts swaps a stack of third-party build tools for plain Swift scripts that run in Xcode and Xcode Cloud. And RocketTrace turns a trace into findings. Different tools, same idea: Cut the output down to the part that matters. I don’t think everything should become a CLI. A GUI is exactly right when you’re exploring. Nobody wants to see their first flame graph as JSON. The point is narrower: once you understand a problem, the useful output should be something you can hand to a script, a pipeline, or a model without a person translating in the middle. Exploring needs pixels. Repeating needs text. There’s another reason this matters, and Apple made it pretty clear this week. The Full Disk Access update points out the risk of giving autonomous agents broad access to a Mac. Jeff Johnson’s look at Meta Muse’s first-run experience makes the same point from the user’s side. The more we give agents, the more it matters what a tool exposes versus what an agent can reach. A narrow interface — check this symbol, summarize this trace, filter this build — saves tokens, but it also shrinks the blast radius. So here’s the habit I’d steal: next time you’re walking a colleague or a model through a manual step, stop and ask what the smallest useful output is, and whether the tool can produce it itself. If it can’t, you’ve probably found your next side project. Which step in your release process exists only in somebody’s head? Hit reply and tell me. Related reading on this week's theme 📚Introducing RocketTrace: Using Xcode Instruments with AI AgentsAntoine van der Lee’s new Mac app analyzes Instruments recordings locally and gives AI agents ranked findings instead of raw traces. In his benchmark, agents found 19 of 20 real issues versus 12 without it, using about a sixth of the tokens. 📍Level: Intermediate SF Symbols from the Command Line and AI AgentsArtem Novichkov covers SF Symbols 27's command-line tool: search, check availability against your deployment target, export, and let agents validate symbol names before generating code that references one that doesn't exist. 📍Level: Intermediate Optimizing Claude Code's Xcode build token usageDaniel Saidi adds a hook that pipes Xcode build output through 📍Level: Intermediate Swift scripts for Xcode and Xcode CloudJeroen Leenarts replaces external build tooling with Swift scripts that run in both Xcode and Xcode Cloud using the compiler you already have: version management, icon badging, translation validation, and release notes. 📍Level: Intermediate This Week in Those Who Swift 🗞️The latest across Swift, Apple, AI, and the community. Swift Around the Web 🌐Revisiting "Split Isolation"Matt Massicotte takes another look at a pattern he once named and warned against, where a non-Sendable type has some main-actor methods and some not. Still usually a problem, but defensible during migrations or for secondary functionality. 📍Level: Advanced withTaskCancellationShield: Swift 6.4 new featureOmar Elsayed explains Swift 6.4's 📍Level: Advanced Swift Server Has Another GoogleGoogle Cloud ships a server-side Swift SDK covering 100+ services. Fatbobman's measured take: a real milestone for the ecosystem, aimed at containers and DevOps rather than iOS apps, but not a revolution. 📍Level: Intermediate Coding 👨💻Modifier Order Is Matrix OrderMihaela shows that SwiftUI transform modifiers compose like matrix multiplication, opposite to how Core Graphics reads, and that 📍Level: Advanced Toolbar overflow and visibility priority on iPhone DuoSarun Wongpatcharapakorn covers how to choose between toolbar and tab bar on the Duo's vertical bars, consolidate overflow, and set visibility priority so essential actions survive tight space. 📍Level: Intermediate Configuring Bazel Module Extensions with tag_classAdin Cebic shows how Bazel’s 📍Level: Advanced Apple 🍏Prepare and submit your apps for iPhone DuoiPhone Duo reaches customers October 23. Build with Xcode 27.1 now; from April 2027, newly submitted apps must include Duo screenshots. Updates to Full Disk Access in macOSApple is adding controls so users must take explicit action before granting Full Disk Access, citing the growing risk from autonomous AI agents. Relevant if your Mac app or tool asks for it. Showcase your apps with new assets on the App StoreNew product-page header and search-result assets, an App Store Connect preview across devices and Dark Mode, and an Asset Library for scheduling seasonal creative. AI & Tooling 🤖My Thoughts on Generative AI: October 2026]Daniel Kennett, tired of how polarized AI talk is, encrypts his actual opinion and promises to publish the key in a year so it can be judged in hindsight. A refreshingly different answer to the discourse. 📍Level: Beginner Design🎨Adapting SwiftUI layouts for large Dynamic Type sizesNatascha Fadeeva pairs 📍Level: Intermediate Community 🤝Meta Muse Mac first run experienceJeff Johnson documents Muse’s first launch on macOS, showing it needs explicit Full Disk Access authorization before reading Messages, and rebuts a journalist’s claim of unauthorized access. A good companion to Apple’s Full Disk Access notice. 📍Level: Intermediate Building An Indie App BusinessSebastian Röhl's weekly indie log: syncing HabitKit across iOS and Android, automatic iCloud backups, deleting legacy database code, and juggling several AI-assisted projects at once. 📍Level: Beginner Thanks for reading Those Who Swift! Subscribe for free to receive new posts. 👇
|

