This week I’ve been thinking about...
Today iPhone Duo pre-orders opened! On Monday there was a pre-pre-order, where you pick color, storage, etc. in advance. Then today you just press the order button. I ordered mine as well, and the estimated delivery is in about two weeks 🎉
I’m really excited, I’ve been waiting for a new Apple device for a long time, and I hope it won’t disappoint me, even though I haven’t held it in my hands yet.
Btw, Xcode 27.1 is now available for everyone, and here’s a small trick: if you want to support iPhone Duo, just rebuild your app with this Xcode, and it should already look good on the new device. iPhone Duo users will thank you for it, and I’ll say a special thank you myself 😄
You’ll also find many other iPhone Duo topics in this issue, if you want to polish your app to perfection.
What’s New
I love new Apple devices, but only when Apple clearly explains why I need them. For me, HomeView is a skip for now. It’s a screen you put somewhere at home to control your smart home and talk to Siri, but I already do all of that from my iPhone, Apple Watch, and HomePod.
What is interesting, though, is that from the demos I’ve seen, there’s no App Store on it. As I understand it, third-party apps will work the way they do in CarPlay, with a limited version of your iPhone app running on the device.
Releases
Must Read
Your app can do useful work even when the user is not using it. Here you can find how background work fits into the app lifecycle and which tool to use for each task.
iPhone Duo users will soon open your app, and there are a few things you need to know. On iPhone Duo, the margins change depending on whether the phone is folded and how it’s rotated, so your views can appear on screen in more ways than before. I recommend reading this to understand how these margins work and how to use the new contentMargins API correctly.
ArrangementView in SwiftUI: split and overlay layouts for iPhone Duo
Yes, one more article about iPhone Duo, sorry about that, but we have a new flagship and a lot of new things to get used to 😅
Here you can find how the new ArrangementView places two views on the screen. You write the code once, and SwiftUI puts the views on top of each other, side by side, or on both sides of the fold, depending on how the user holds the phone.
How I Architect SwiftUI Apps for Swift Concurrency – So the Compiler Stays Quiet
Here you can learn which kind of state belongs to each part of your architecture: UI state in the view model, no state in services, and non-UI state like tokens in its own actor. There’s also a cheat sheet at the end that helps you decide where a new type should go. The code examples use default main actor isolation, so you feel free to apply them right away in new Xcode projects.
SwiftUI .task vs .onAppear - Async Work Done Right
This week, during a code review, I saw a developer use .task where .onAppear was a better fit, and I’m sure the opposite happens too. This article explains when to use each one, so you can pick the right tool. I recommend reading it if you’re not 100% sure about the difference.
Quick Read
Video
Phone Duo Is Here - What Happens to Your Existing iOS
Short on time but want to support iPhone Duo? It turns out that you only need to rebuild your app with Xcode 27.1 and submit it for review, with no code changes. Start with this today, and then fix bugs and improve the UI step by step.
Toolbox
Presto: Run any pull request in iOS Simulator
It sounds like a very handy tool for quick testing. I usually ask developers to attach screen recordings to their pull requests, or I just check the snapshot tests. But it’s much more convenient when you have a separate button to download the new app version and run it in the simulator without switching branches. Btw, you can try it for free for your pet project.
Weekly Poll
📊 Last Week’s Poll Results
Which terminal do you use day to day?
Top Answer: Terminal.app
Upcoming Conferences
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 🇳🇱)
September 2027


