The iOS Weekly Brief – Issue #73
Git Worktree and AI agents, what's new in Swift, testing SwiftUI navigation, mobile platform foundations, Sendable, PhaseAnimator, FocusState, context rot in AI coding, headless Xcode via MCP
This week I’ve been thinking about...
Our tools and the way we work keep changing, and Git Worktree is a good example of that. I started using it before the AI era, and it changed how I worked back then, but now, when AI is part of the process, it has changed things even more because I can run a bunch of tasks in parallel with an agent handling all I need, using Worktrees for different intents.
MCP is another tool that changes everything - Figma MCP for design work and prototyping, or Xcode MCP, which got a great update in Xcode 27 beta 5 that lets us launch an app, tap through it, and test it without even opening Xcode. All of these small additions are changing how our daily work gets done.
Read more about that below...
What’s New
The new digest from Swift.org is out! Take a look to catch up with Swift Evolution proposals, new package releases, and updates to tools like SwiftPM and the VS Code extension.
Releases
Must Read
Unit Testing Navigation Logic in SwiftUI
The article moves navigation decisions out of the view and into a router. Therefore, the routes will be represented as values you can inspect and test without launching the app or writing UI tests.
I think testing state and testing an actual screen transition are two different things, and using both approaches for the navigation makes sense when you can afford it. But UI tests are expensive, and this approach will help you to be confident with your next release.
The foundations of a mobile platform
I agree 100%. A platform helps an app scale faster: you stop thinking about how to build a new UI element since it already lives in the design system, or how to ship a release since a process and a team own it. A platform works like rails your app development moves on.
How to Use Git Worktree? And How It’s used by AI Agents?
I recommend everyone start using worktrees. I used them long before AI era, simply because I was juggling several tasks at once and did not want to switch branches, deal with stashes, etc. With AI, worktrees matter even more, since now I can run more tasks in parallel with an agent handling all of them. If you are looking for a way to boost your workflow, check this out, it makes a huge difference in how much you can get done.
Sendable and Sendable closures explained with code examples
Yeah, I know I share Sendable content often, and I’ll do it again! This is an important topic, and the explanation is built really well. It walks through implicit conformance, closures, unchecked Sendable, and the newer Mutex approach that removes the need for it in most cases.
Quick Read
Creating multi-step animations with PhaseAnimator in SwiftUI
phaseAnimator() allows you to chain multiple animation states without manually tracking the progression yourself
.phaseAnimator([Phase.lifted, .tiltedLeft, .tiltedRight, .settled]) { view, phase in
view
.scaleEffect(phase.scale) // grows or shrinks per phase
.rotationEffect(phase.rotation) // tilts per phase
}Managing focus in SwiftUI with FocusState
Use FocusState to observe and move focus between fields
@FocusState private var focusedField: Field?
TextField("Email", text: $email)
.focused($focusedField, equals: .email)
.onSubmit { focusedField = .password } // move focus forwardVideo
Why Context Rot Hurts Your AI Coding Session (How to fix it)
A good explanation of why long AI sessions degrade over time, and how to fix it. My approach is to prepare a plan first and delegate the implementation to sub-agents, since each one has a separate context window (keep in mind this gets expensive in tokens fast). I agree with the recommendation to start a new thread per feature and keep repeating context outside the conversation, but I don’t recommend a manual compaction since it can drop important details from the context.
Toolbox
Headless Xcode: From Prompt to Simulator with MCP
Xcode 27 beta 5 adds a preview of an MCP server experience that runs without an open Xcode workspace. Claude Code Agent can now build a project, render previews, and tap through a full flow on the simulator.
It is not a replacement for UI tests, because for those we use mocked data, but it could be a replacement for smoke testing.
iOS Job Market (USA)
67 new iOS positions this week (+34% vs last week · +103% vs last month)
Senior / Mid / Junior — 21% / 79% / 0%
Most wanted skills: SwiftUI 46% · UIKit 31% · MVVM 19% · Core Data 7%
This week’s picks:
iOS Engineer at Opal Electronics (San Francisco Bay Area) — SwiftUI + UIKit codebase controlling hardware cameras and peripherals over BLE and Wi-Fi → Apply
Senior iOS Engineer at Brick (Chicago, IL) — SwiftUI/UIKit across NFC, Bluetooth, and a real-time backend that powers app blocking and notification management; senior scope means owning architecture and system design, not just shipping features → Apply
iOS Mobile Software Engineer at ADT (Irving, TX) — Swift + SwiftUI + async/await for a consumer security app used by hundreds of thousands of users daily; role covers customer-facing features, core architecture, and AI-assisted development tooling on a high-traffic production codebase → Apply
Weekly Poll
📊 Last Week’s Poll Results
How do you write most of your code these days?
Top Answer: AI implements, I review the code
Upcoming Conferences
September
7–11 — Swift Island 2026 (Texel 🇳🇱)
17–18 — NSSpain XIV (Logroño 🇪🇸)
29–2 — MacSysAdmin (Gothenburg 🇸🇪)
October
7–9 — Next.App DevCon 2026 (Berlin 🇩🇪)
12–14 — SwiftLeeds 2026 (Leeds 🇬🇧)
November
2–3 — Swift Connection (Paris 🇫🇷)
10–12 — Do iOS 2026 (Amsterdam 🇳🇱)
19–20 — Swift Bharat (Mumbai 🇮🇳)
20–22 — SwiftSonic 26 (Nashville 🇺🇸)
February 2027
16–18 — ARCTIC Conference (Oulu 🇫🇮)
March 2027
2–4 — try! Swift Tokyo 2027 (Tokyo 🇯🇵)
16–18 — Appdevcon 2027 (Amsterdam 🇳🇱)


