RORK LABJP
IOS27 — iOS 27 and iPadOS 27 ship on September 14, three days out. The ground always shifts under app builders in the days right after a releaseWAIT — Standard Rork waits on Expo and React Native to catch up. Rork Max can follow as soon as Xcode and the SDK are ready. Different kinds of waitingFOLD — The folding iPhone Duo starts at $1,999. A new screen shape is the first place a generated layout tends to come apartSTACK — Standard Rork emits React Native through Expo; Rork Max emits native Swift. A great many write-ups still conflate the twoPRICE — Standard tiers run Free, Junior at $25, Middle at $50 and Senior at $100. Rork Max spans $200 to $1,800 a month depending on tierSOURCE — Funding figures differ across secondary coverage right now. If you cannot verify a number at the source, leave it outIOS27 — iOS 27 and iPadOS 27 ship on September 14, three days out. The ground always shifts under app builders in the days right after a releaseWAIT — Standard Rork waits on Expo and React Native to catch up. Rork Max can follow as soon as Xcode and the SDK are ready. Different kinds of waitingFOLD — The folding iPhone Duo starts at $1,999. A new screen shape is the first place a generated layout tends to come apartSTACK — Standard Rork emits React Native through Expo; Rork Max emits native Swift. A great many write-ups still conflate the twoPRICE — Standard tiers run Free, Junior at $25, Middle at $50 and Senior at $100. Rork Max spans $200 to $1,800 a month depending on tierSOURCE — Funding figures differ across secondary coverage right now. If you cannot verify a number at the source, leave it out
Articles/Getting Started
Getting Started/2026-09-11Beginner

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.

Rork560Rork Companion10Device Testing8iPhone2Networking2

One evening I opened Companion, scanned the QR code, and waited about ten minutes. The screen stayed white. No error, no spinner that went anywhere.

The Wi-Fi icon was there. The same project was running fine in my browser. Nothing was reaching the phone.

What I did first was restart the router. Then I deleted and reinstalled Companion. Neither helped. It was only when I opened the Settings app that I found it: the Local Network permission had been turned off.

That cost me about fifteen minutes, and the lesson wasn't about networking at all. It was about order. The harder something is to undo, the later it belongs in the sequence. Restarts and reinstalls now sit at the very end of my list.

"Nothing appears" and "it stops after a while" are different problems

Both feel like "it won't connect," but they happen in different places. If you don't separate them first, you can't tell whether something you did actually fixed it.

What you seeLayer to suspectFirst place to look
QR scans, screen stays blankThe path between device and routerLocal Network permission
It loads, then dies a few minutes inPower management on the phoneLow Power Mode, auto-lock
Works on the Mac, not on this iPhoneSomething specific to that phonePrivate Wi-Fi Address
Fails at home, works elsewhereRouter-side isolationGuest network, AP isolation

Mixing up the first two rows and restarting over and over was the slowest path I found. Now I say it out loud before touching anything: blank means routing, dies later means power.

Split the problem in half in one minute

Before you start doubting your home network, try once without it. Turn on Personal Hotspot on the iPhone, connect your computer to that hotspot, and scan the same QR code again.

If the preview appears, the phone and Companion are fine together, and the problem lives in your home router. If it still doesn't appear, it's the device or the account side.

That single step cuts roughly half the search space. It does use mobile data, so switch back as soon as you have your answer.

It's worth being strict about what counts as a result here. A preview that appears and then immediately stalls is not the same as one that never arrives, and on a hotspot the signal can be weak enough to muddy the difference. I wait for the first screen to render and respond to a tap before I call it a pass.

I write the result down, one line, right then. When the same symptom shows up the following week, I don't trust myself to remember which half it was last time.

Four things to check on the iPhone

If the device side is implicated, I go through Settings from the top. All four of these can end up in a state you never chose deliberately.

Where to lookWhat it doesHow to undo it
Privacy & Security > Local NetworkBlocks discovery of other devices on the same Wi-FiSwitch Companion back on
Wi-Fi > current network > Private Wi-Fi AddressRotates the device identifier, so router allowlists stop matchingSet it to Fixed for that network only
Battery > Low Power ModeThrottles activity once the screen goes darkTurn it off while you're testing
General > VPN & Device ManagementCan route traffic somewhere you didn't expectDisconnect for the duration of the test

The second row deserves a word too, because it fails in a way that looks random. Private Wi-Fi Address is set per network, and it rotates. If your router has any kind of allowlist or reserved-address rule tied to the phone, the match quietly stops holding and the symptom arrives days after the change that caused it.

The first row is the one I hit most often. iOS asks for that permission exactly once, and if you tap Don't Allow, the prompt never comes back. Nothing on screen tells you why the preview is missing, so unless you know where the switch lives, there's no trail to follow.

A note on iCloud Private Relay, since it comes up: it mainly covers Safari and some unencrypted traffic, and it doesn't sit between two devices on the same Wi-Fi. I'd only add it to the list if there's a managed configuration profile from work or school on the phone.

Two things on the router side

If the phone comes back clean, look at the house. There isn't much to check — realistically, two things.

The first is AP isolation. Depending on the manufacturer it might be called Privacy Separator, client isolation, or something about blocking device-to-device traffic. When it's on, two devices joined to the same SSID can't see each other at all. Guest networks often ship with it enabled, which is how I lost an afternoon once.

The second is simply being on a different network than you think. If your 2.4 GHz and 5 GHz bands have separate SSIDs, your laptop and your phone may be on different names. Mesh setups can do the same thing when a device latches onto a different node. Phones are especially good at quietly reconnecting to whichever access point had the stronger signal when you last walked through the house.

The quickest way to rule this out is to read the network name on both devices and compare them character for character, rather than trusting that they're "on the Wi-Fi." Twice now I've found a trailing -5G I'd never noticed, on a network I set up myself.

SettingCommon labelWhat to do while testing
Device-to-device blockingAP isolation / Privacy SeparatorTurn off temporarily
Visitor networkGuest SSIDDon't use it for testing
Per-band SSID splitNames ending in -A or -GPut both devices on the same one

I've rarely had something survive all of that. If it does, that's the moment to restart the router and reinstall Companion — last, not first, because those are the steps that erase the evidence you'd need to understand what happened.

What you learn here comes back in your own app

There's a second half to this detour. The Local Network permission isn't a Companion quirk. Your own app needs it too, the moment it tries to find anything else on the same network.

In Expo you declare the purpose in app.json. Without it, iOS never shows the permission prompt at all — your discovery code simply finds nothing.

{
  "expo": {
    "ios": {
      "infoPlist": {
        "NSLocalNetworkUsageDescription": "Used to find speakers on your Wi-Fi network.",
        "NSBonjourServices": ["_myapp._tcp"]
      }
    }
  }
}

NSLocalNetworkUsageDescription is the sentence the user reads in the prompt. NSBonjourServices lists the service types you intend to browse for; anything you forget to declare stays invisible even after permission is granted.

One thing I've grown careful about is the wording. Concrete purposes get accepted far more often than vague ones. "Used for communication" gives the reader nothing to decide with. And as we just saw, this prompt appears once — after a decline, the only way back is buried in Settings. So: a prompt you get one shot at deserves a sentence that lands on the first read.

I've rewritten those strings in my own published apps more than once. The first version was almost always written for me rather than for the person holding the phone.

One thing to do today

Open Settings, go to Privacy & Security, and tap Local Network. Check that Companion is listed and switched on. That's the whole task.

The next time you're staring at a blank preview, that memory will shorten the first minute. For me it's been the difference between fifteen minutes and one.

Thank you for reading. If you're stuck at the same white screen, I hope this trims the detour a little.

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-04
A Screen That Runs in Rork Companion Is Not Yet a Finished Screen
There is a gap between the app you hold in your hand through Rork Companion and the build that eventually reaches the App Store. Here is why free signing expires after a few days, what Companion can and cannot answer for you, and a small badge that keeps you honest about which build you are looking at.
Getting Started2026-07-05
Shipping a Rork App to a Real Device Without a Mac: What the Browser Simulator Covers, and Its Pitfalls
Rork's in-browser simulator lets you try an app without a Mac, but some bugs only appear on real hardware. Separate what the simulator can and cannot verify, and get past the real-device wall before you submit.
Getting Started2026-07-01
Why a Rork Companion App Stops Opening After a Few Days — and How to Fix It
An app you pushed to your iPhone with Rork Companion shows 'Untrusted Developer,' or simply refuses to launch a few days later. Here is why free Apple account signing expires after about seven days, and the practical fixes — trust it, re-push, or move to a paid account — from an indie developer's point of view.
📚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