The iOS Weekly Brief – Issue #60
Rosetta sunset is official, iOS rendering pipeline from touch to pixels, SwiftUI formatting deep dive, and a free open-source ASO tool
🆕 What’s New
Apple dropped the May edition of Hello Developer, and there's a lot to unpack. Rosetta is officially getting a sunset date, macOS 27 will be the last release to support it, so if you're still shipping Intel-only builds, the clock is ticking. Also worth checking: new Foundation Models technotes on managing the on-device context window, and WWDC26 details are starting to come in.
🚀 Releases
📚 Must Read
Touch to Pixels: UI Pipeline Internals on iOS
Jacob Bartlett failed an interview question about the iOS rendering pipeline and turned that into one of the best deep dives I’ve seen on the topic. The article walks you through the full journey: from your finger touching the capacitive screen, through the kernel, backboardd, Core Animation, the render server, all the way to pixels on the display. Most of us operate at a layer where all of this is abstracted away, but understanding what’s actually happening underneath makes you a better developer, not just a better interviewee.
Formatting Values in SwiftUI Text and TextField
Most of us reach for string interpolation by default, but SwiftUI’s format parameter does a lot more than that. This article covers the full range: numbers, percentages, currencies, dates, temperatures, distances, file sizes, person names, URLs, and more, all with locale-awareness built in.
Swift Bits: Scene for Hosted SwiftUI View
Anton Gubarenko dug into a subtle lifecycle trap that bites you when you embed SwiftUI views inside a UIKit app. scenePhase looks like it should work everywhere, and nothing obviously breaks, but in a UIHostingController setup it can silently misbehave. The fix is straightforward: use UIApplication or UIScene notifications instead, depending on how granular you need to be.
📹 Video
How to Build an Infinite Scroll List Without Sacrificing Performance
A practical walkthrough of building a paginated list in SwiftUI from scratch: when to trigger the next fetch, how to handle loading states with an enum-based state machine, and why fixed cell sizes matter more than you think for scroll performance. The part about onScrollGeometryChange as an alternative to onAppear is worth the watch alone. If you've ever shipped a list that jumps or stutters, this video explains exactly why that happens.
🛠️ Toolbox
OpenASO: Free Open-Source ASO Tool
ASO research is mostly tedious manual work: checking competitor keywords, digging through reviews, downloading screenshots one by one. OpenASO automates all of that. Give it an app, and it pulls competitor metadata, keyword rankings, reviews, and screenshots straight from Apple’s public iTunes Search API, no proprietary backend involved. Built as a local Mac app specifically to stay free, which is a smart call given how quickly web-based ASO tools turn into paid SaaS.
📊 iOS Job Market (USA)
29 new iOS positions this week (-28% vs last week · -41% vs last month) 1
Senior / Mid / Junior — 34% / 62% / 4%
Most wanted skills: SwiftUI 34% · UIKit 21% · MVVM 14%
This week’s picks:
Staff iOS Engineer (AI Native), Family AI Lab at Life360 (Remote, US) — SwiftUI + Apple Foundation Model + App Intents on a zero-to-one AI team building the next generation of Life360's family intelligence layer; expects daily AI-native workflow (Claude Code, Cursor) and comfort with on-device Apple frameworks. $190K–$280K → Apply
Staff iOS Engineer, Growth at Waymo (San Francisco, CA) — SwiftUI + Swift Concurrency in production, leading iOS platform architecture and engineering excellence for the Waymo One rideshare app. $213K–$263K → Apply
🍬 One More Thing…
Finally found a use case for .fixedSize
Most SwiftUI devs quietly file .fixedSize under "modifiers I'll never reach for." This article is about why that's a mistake. Concrete layout problem: cards in a horizontal ScrollView all need to match the tallest one's height, and it turns out .fixedSize(horizontal: false, vertical: true) is the cleanest solution by far.
🗳️ Weekly Poll
📊 Last Week’s Poll Results
What do you use for networking in your iOS app?
Top Answer: Custom URLSession layer
🗓 Upcoming Conferences
May
18–20 — Swift Craft 2026 (Folkestone 🇬🇧)
19–21 — MAU Vegas 2026 (Las Vegas 🇺🇸)
19–27 — Meet with Apple (Global 🌎)
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.


