The iOS Weekly Brief – Issue #57
Apple's new CEO, iOS releases, SwiftUI migration, associatedtype explained, refreshable task cancellation, Instruments with AI agents, odometer animation, XcodeBuildMCP, and Meta ads for indie devs
🆕 What’s New
Tim Cook to Become Executive Chairman, John Ternus to Become Apple CEO
Apple announced that Tim Cook will step down as CEO on September 1, 2026, moving to an Executive Chairman role, with John Ternus taking over as the next CEO.
Ternus has spent 25 years at Apple leading Hardware Engineering, and his fingerprints are on basically everything good in recent hardware: Apple Silicon Macs, AirPods, the current iPhone lineup.
I’m happy it’s a product and engineering guy taking the top job, not someone from finance or operations. The big question now is whether he can bring that same hardware polish to Apple’s software, which has had a rough couple of years.
🚀 Releases
📚 Must Read
How I Migrated 300 Screens to SwiftUI and What I Learned
We used the exact same approach on my current and previous projects, navigation stays in UIKit, SwiftUI handles layout and view composition. It's becoming a pretty common pattern, and honestly it makes a lot of sense. This write-up is one of the better breakdowns of why that split works and what to watch out for along the way. They also drew a clear line on performance, scroll-heavy screens with complex interactions stayed on UIKit, everything else moved to SwiftUI.
associatedtype in Swift Explained. A Complete Guide with SwiftUI Examples
If you’ve ever wondered why View has an associated type instead of just returning View from body, this article breaks it down clearly. The short answer is performance: SwiftUI knows exact types at compile time and avoids runtime dispatch, which is a big deal at scale. Sagar walks through the full picture, from basic protocol usage to real architecture patterns with ViewModels. The section on any ViewModel and its limitations is particularly useful, because it’s easy to reach for that pattern and then hit a wall when you actually need to access the state.
Xcode Instruments Time Profiler: Improve Performance with AI
A practical workflow for AI-assisted performance optimization: add signposts to the code you’re profiling, run the Time Profiler, copy the results, and feed them into your agent as context so it can actually see where the bottlenecks are instead of guessing. Simple idea, but the 25x improvement he got from iterating on it makes a strong case for adding this to your workflow.
SwiftUI: Refreshable Task Cancellation
If your .refreshable flow sometimes stops halfway through with no obvious error, this article is probably the explanation you’ve been looking for. Anton Gubarenko breaks down a subtle but painful gotcha: mutating State inside a refresh task triggers a redraw, which can cancel the very task that caused it. The fix is usually simple, collect results locally and publish one final update at the end instead of mutating state as you go.
📹 Video
$36 Per Install to $6: My Meta Ads Lessons as an Indie Dev
An indie dev spent $2,000 learning Meta ads during a flight to Tokyo. A simple Claude-written line of text on a camera roll screenshot beat everything. If you've only ever done ASO and are curious about paid ads, watch this before spending a single dollar.
🛠️ Toolbox
XcodeBuildMCP is an MCP server that gives AI agents direct control over Xcode: build, run, test, debug with LLDB, automate the simulator UI, and deploy to a real device. You configure your scheme and simulator once, and the agent handles the rest. It works with Claude Code, Cursor, Windsurf, and others, and in Xcode 26.3 it integrates natively with the built-in coding agents. Over 5,000 stars on GitHub already. If you're experimenting with agentic workflows in your iOS projects, this is worth adding to your setup.
📊 iOS Job Market (USA)
28 new iOS positions this week (-43% vs last week) 1
Senior / Mid / Junior — 46% / 54% / 0%
Most wanted skills: SwiftUI 57% · MVVM 43% · UIKit 36% · Combine 18%
This week’s picks:
iOS Developer at Charles Schwab (Ann Arbor, MI) — Builds the thinkorswim® trading platform in Swift with MVVM architecture, async/non-blocking patterns, and socket-based networking; expect deep work on mobile security for one of the most complex financial apps on the App Store → Apply
Sr. iOS Developer at Spirit Airlines (Dania, FL) — Leads the full iOS ecosystem for a high-traffic airline app (booking, loyalty, guest self-service) using Swift, SwiftUI, and UIKit; owns architectural decisions, CI/CD pipeline design, and mentors junior engineers → Apply
iOS Engineer at Fieldwire by Hilti (Remote) — Builds the highest-rated construction app on the App Store, with offline-first architecture and strict Apple Human Interface Guidelines alignment → Apply
🍬 One More Thing…
An Odometer-Style Number Animation in SwiftUI
SwiftUI already has contentTransition(.numericText()) built in, but this post takes it one step further: instead of jumping from one value to the next, the number rolls through every intermediate value like an actual odometer.
🗳️ Weekly Poll
📊 Last Week’s Poll Results
Which tool do you use to monitor network requests in iOS?
Top Answer: Proxyman
🗓 Upcoming Conferences
April
28–30 — Meet with Apple (Global 🌎)
May
18–20 — Swift Craft 2026 (Folkestone 🇬🇧)
19–21 — MAU Vegas 2026 (Las Vegas 🇺🇸)
June
3–4 — MDevCamp 2026 (Prague 🇨🇿)
7 — Pre-WWDC Bashcade (San Jose 🇺🇸)
July
7–10 — MacAdmins Conference (State College 🇺🇸)
22–23 — Swift Rockies 2026 (Calgary 🇨🇦)
September
7–11 — Swift Island 2026 (Texel 🇳🇱)
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 🇳🇱)
20–22 — SwiftSonic 26 (Nashville 🇺🇸)
👋 That’s it for this week
If you enjoyed this issue of The iOS Weekly Brief, consider forwarding it to a colleague!
Until next Friday — keep shipping 🍏
Counted as iOS positions: roles with “iOS” in the title that require writing code in Swift.


