It is Sunday, April 26. On Tuesday at 12:00 AM PT, App Store Connect stops accepting builds that aren't compiled with the iOS 26 SDK. Same story for iPadOS 26, tvOS 26, visionOS 26, and the watchOS 26 SDK with its new 64-bit requirement.
If you have not uploaded a build yet, you have two business days. This is the triage list, not the explainer.
What happens at the deadline#
New submissions and updates from April 28 onward must be built with Xcode 26 against the iOS 26 SDK. Existing apps on the store don't get pulled. But you cannot push a hotfix, an updated screenshot set, or even a metadata-only change without a compliant build sitting in App Store Connect first. If your app has a known crash and your latest binary is on the old SDK, you ship the fix on Apple's terms or you don't ship at all.
This part of the announcement is the part indie devs keep underestimating: the deadline doesn't just gate new versions, it gates your ability to react to anything that breaks in the wild between now and whenever you next have time to do the migration properly.
The 48-hour version#
Forget Liquid Glass. Forget the new APIs. Forget the migration guide bookmarks you've been meaning to read. The minimum viable response is:
- Install Xcode 26. It's a 14 GB download and your laptop will hate you. Start it now, while you read the rest of this.
- Open your project. Bump
IPHONEOS_DEPLOYMENT_TARGETonly if a dependency forces you. Do not raise the deployment target in a panic — that drops users. The SDK requirement is about the build SDK, not the target OS. - Compile. If it builds clean, you are 80% done.
- Opt out of Liquid Glass for now. Add
UIDesignRequiresCompatibilityset toYESin Info.plist. This keeps your app rendering with the old design system on iOS 26 devices instead of having every native UI control silently take on the new look. You can adopt Liquid Glass deliberately later, in a real design pass, instead of accidentally shipping it now. - Run on the iOS 26 simulator. Click through your top 3 user flows. Look for layout breakage and the SwiftUI behavior changes that tend to cascade quietly.
- Archive, upload, submit. Get the binary into App Store Connect even if you don't push it for review yet. You buy yourself the option to react.
That's the floor. If you have more time, do the rest. If you don't, hit the floor and don't pretend you did the rest.
The watchOS gotcha#
Buried in the same April 28 announcement: any watchOS submission must now also be 64-bit. If you maintain a watch companion app and you set ARCHS to anything other than Standard architectures years ago, today is when that custom build setting bites you. Reset it to $(ARCHS_STANDARD), rebuild, re-archive. The 32-bit watchOS world is over.
The stora angle#
When you push a build through Stora in the next 48 hours, the compliance engine catches the things you'll otherwise discover on Wednesday morning when App Store Connect rejects the upload — wrong SDK, missing 64-bit slice on watchOS, deployment target accidentally raised, privacy manifest stale because Xcode 26 noticed something Xcode 16 didn't. The build repair agent fixes the obvious ones automatically. It is not a substitute for actually opening Xcode 26 and looking at your app, but it is a much faster way to find out whether you're actually ready to upload than the App Store Connect rejection email is.
Closing#
Two days. The deadline is not negotiable, the workaround does not exist, and the people who will spend May fighting their own apps are the ones who treat April 28 as theoretical. Get a binary uploaded today. Polish next week.