RORK LABJP
SDK58 — The Expo SDK 58 beta is open. It adopts the iOS 27 UIScene lifecycle, and R8 is now on by default for Android release buildsSWIFT — Rork no longer creates new Expo projects. New apps are Swift, Kotlin or React, and existing Expo projects keep building as before11/01 — Forty-two days remain for anyone who filed an extension on Google Play's target API level. Miss it and new users on newer devices stop seeing the appEXPOGO — Scanning the QR code in Expo Go stopped working for some people. Since September 3, iOS requires you to be signed in on both the terminal and the appNEW — What I changed when prebuild stopped and asked for the standard Swift AppDelegateXCODE27 — Xcode 27 is not required yet. The latest EAS Build image is still 26.6, and the 27 image is listed as coming soonSDK58 — The Expo SDK 58 beta is open. It adopts the iOS 27 UIScene lifecycle, and R8 is now on by default for Android release buildsSWIFT — Rork no longer creates new Expo projects. New apps are Swift, Kotlin or React, and existing Expo projects keep building as before11/01 — Forty-two days remain for anyone who filed an extension on Google Play's target API level. Miss it and new users on newer devices stop seeing the appEXPOGO — Scanning the QR code in Expo Go stopped working for some people. Since September 3, iOS requires you to be signed in on both the terminal and the appNEW — What I changed when prebuild stopped and asked for the standard Swift AppDelegateXCODE27 — Xcode 27 is not required yet. The latest EAS Build image is still 26.6, and the 27 image is listed as coming soon
Articles/Getting Started
Getting Started/2026-09-20Beginner

Two logins to check first when Expo Go stops opening your preview

When the QR code stops loading your Rork preview on a real device, check the logins before the router. Here is which path needs a sign-in on both ends, and which paths are untouched.

Expo Go2PreviewDevice testingRork570Getting started

I had just finished swapping out a batch of images in one of my wallpaper apps, and I wanted to look at a Rork preview on my own iPhone before the morning got away from me. Camera at the QR code, the usual wait.

The load never started.

I blamed the network first. Restarted the router, switched to tethering, deleted Expo Go and installed it again. That is roughly thirty minutes I am not getting back.

The cause was further upstream. Since September 3, 2026, opening a project in Expo Go requires you to be signed in on both the terminal and the app — and to the same account. Yesterday's steps stopped working today because of an announcement, not because of anything on my desk.

If you are stuck at the same place, here is the order I check now, and which paths never needed a login at all.

What changed is "signed in on both ends"

Expo published it as Login now required for running projects in Expo Go on September 3, 2026. Three points matter.

First, the Expo CLI in your terminal and the Expo Go app on your device both need to be signed in. Second, they need to be the same account. Third, if only one side is signed in, Expo Go tells you which side is missing — the terminal, the app, or both.

The scope is narrow, and the narrowness is the useful part. Development builds are not affected. Simulator versions are not affected. Right now it applies only to the latest Expo Go on iOS; the Android version is described as coming later.

For Expo projects, a Rork preview goes through Expo Go. So nothing changed on the Rork side, yet the behaviour on your device did. When something breaks on a day I changed nothing, I look outside my own setup first. That is the ordering I took away from this one.

The order I check now

Start in the terminal. There is a command that prints who you are currently signed in as.

# Print the account you are currently signed in as
npx expo whoami
# Returns "Not logged in" when you are signed out
 
# Sign in (you will be asked for your email or username and password)
npx expo login
 
# Confirm, then restart the dev server
npx expo whoami
npx expo start

The reason whoami comes first is that it separates "signed out" from "signed in as someone else" in a single line. Memory of having logged in at some point is the least reliable input here.

The app side is a screen tap. Open Expo Go, go to the Home tab, and tap the avatar icon in the top right. If a sign-in form appears there, you are signed out. Use the same account as the terminal.

One detail worth knowing before you start hunting: Expo Go does tell you which side is missing. The message appears on the device, not in the terminal, so if you scanned the code and then went straight back to your laptop, you may have walked away from the only screen holding the answer. I did exactly that on the first attempt and spent the next twenty minutes reading server logs that had nothing to say.

Once both sides are set, scan the QR code again. If holding the camera up is tedious, the Home tab in Expo Go also lists your running dev server address — tapping it lands in the same place. That is what I use when I am re-testing something, because it saves one trip back to the desk.

The part people miss is "the same account"

My own first stumble was not a missing login. Both sides were signed in, and the preview still would not open.

I keep a separate account for client work from the one I use for my own apps. The terminal was still signed in as the client account from the previous session, while Expo Go on my phone was signed in as me. Both screens say "signed in." Nothing looks wrong until you put the two names side by side.

If you keep separate accounts, read the output of npx expo whoami next to the name on the Expo Go avatar. When those two disagree, the symptom is nearly indistinguishable from a flaky network.

Don't settle for having looked at both screens — read the two names against each other. As long as I keep accounts separated, I don't think I can skip that check.

Which paths need a login, and which don't

"Testing on a real device" covers several routes, and the conditions differ. Writing it down once saves a round trip the next time something stalls.

Path Login Notes
Scanning a QR code with Expo Go on iOS Required on both terminal and app Must be the same account
Expo Go on Android Not enforced yet Announced as coming later; Expo recommends signing in anyway
Simulator builds of Expo Go Not affected Conditions differ from physical devices
Development builds Not required They don't go through Expo Go

Laid out that way, you can see that exactly one cell changed: iOS device plus Expo Go. When a colleague testing on an Android phone says "mine opens fine," they are not being careless. They are on a different row.

None of this replaces the network checks, by the way. If the logins match and the preview still won't load, I go back to the sequence in Same Wi-Fi, No Preview: Where I Look Before Rebooting the Router. The login check simply goes at the top of that list now.

If it keeps costing you mornings, lean toward a development build

This last part is a judgment call rather than a fix.

Expo Go is a good first step, but the moment you reach for something it can't host — push notifications, the camera — a development build is coming for you anyway. If the login requirement is adding round trips, that is a reasonable nudge to move earlier. Development builds are not subject to this requirement at all.

Weigh one build against a small stall every morning. As an indie developer I have started choosing the build more often than I used to — not because Expo Go got worse, but because the things I want to check on a real device have drifted toward the parts it was never meant to host.

There is a second, quieter reason. A development build pins the native side to what you actually ship, so what you see on the device is closer to what a reviewer will see. Expo Go is someone else's shell around your JavaScript, and that gap is fine right up until it isn't.

That said, if you are still pushing pixels around on a screen, Expo Go is plenty. Keeping both and switching based on what you need to verify has been the most practical arrangement for me.

How new projects get created has also shifted, which I wrote about in Rork No Longer Creates New Expo Projects: Keep Yours, or Rebuild It in SwiftUI?. If you haven't decided what to do with the Expo project already on your machine, that one pairs with this.

For today, run npx expo whoami once and hold it up against the name on your Expo Go avatar. Just knowing whether those two match will give you back the thirty minutes I lost.

Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $15 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

Getting Started2026-09-14
Rork No Longer Creates New Expo Projects: Keep Yours, or Rebuild It in SwiftUI?
You can no longer start an Expo project in Rork, but existing ones keep building and shipping. Here is how to decide whether to stay on Expo or rebuild in SwiftUI, and what quietly goes missing when you rebuild.
Getting Started2026-09-11
Same Wi-Fi, No Preview: Where I Look Before Rebooting the Router
When Rork Companion scans the QR code and nothing arrives, there are places worth checking before you restart anything. Four settings on the iPhone, two on the router, and a one-minute test that cuts the search space in half.
Getting Started2026-09-08
Whether You Need Rork Max Is Answered by Your Permissions, Not the Price Page
When I cannot decide between standard Rork and Rork Max, I stop reading the price page. Instead I pull every OS capability my app actually asks for out of app.json and Info.plist, then sort them into what Expo covers, what a config plugin covers, and what truly needs native Swift.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links