| Option | Who it’s for | What you need |
|---|---|---|
| Share link | Friends, testers, stakeholders previewing in a browser | Nothing — link only |
| Open Full-Size Preview | You, when you want the simulator out of the side panel | Nothing |
| Expo Go on your phone | You or anyone, previewing on a real phone in seconds | Phone with Expo Go installed |
| Build on iPhone | You, installing the real native app on your own iPhone | Mac with Xcode + iPhone with USB |
| Publish to App Store | Real public release | Apple Developer account + App Store Connect API key |
Share link
Generates a short public link anyone can open in a browser to preview your app. Recipients can also open the same link on their phone and scan a QR code to launch it in Expo Go for a near-native experience.If your project is private, make it public
Share links require the project to be public. The dialog will prompt you with Make public — clicking it flips the visibility instantly.
When a recipient opens the share link on their phone, they’ll see a QR code that opens the app in Expo Go (a free app from the iOS App Store / Google Play Store). The browser preview works without Expo Go; the QR is just for a more app-like feel on phones.
Open Full-Size Preview
Opens the same simulator that lives in your side panel as a full browser tab. Useful if You’re also looking to launch Your App as a website as well. This option only appears once a preview is available — if it’s missing from the dropdown, your build hasn’t produced a preview yet.Expo Go on your phone
Expo Go is a free app from the iOS App Store and Google Play Store that runs your Bilt app on your real phone over a tunnel — no Mac, no Xcode, no install command. The app loads in seconds and updates live as you change it in chat. It’s the fastest way to feel your app on a real device.Expo Go is not in the Deploy & Share dropdown. The QR code lives in the preview panel — the same panel that shows your in-browser simulator.
First time: install Expo Go on your phone
- iPhone
- Android
- Open this link on your iPhone: Expo Go on the App Store.
- Tap Get to install.
- You don’t need to sign in — just having it installed is enough.
Open your app in Expo Go
Find the QR code in the preview panel
Look at the right panel of your project — below the simulator, there’s a section labeled Scan to preview on mobile with a QR code.
Scan the QR code
On iPhone, open the built-in Camera app and point it at the QR code. A notification banner appears — tap it to open in Expo Go.On Android, open Expo Go itself and tap Scan QR code.
Sharing Expo Go with someone else
The QR code in the preview panel is yours alone. To let someone else preview on their phone, use Share link instead — the share link page shows a QR code that anyone can scan to open in Expo Go.Expo Go vs. Build on iPhone — which is right?
Expo Go
Seconds to load. Works on iPhone or Android. Updates live. Best for iteration and showing it off. Limited: some native APIs (push notifications, custom native modules) don’t work inside Expo Go.
Build on iPhone
Minutes to build. iPhone only, requires a Mac with Xcode. Real native binary, full APIs, your own app icon on the home screen. Best for pre-launch testing.
Expo Go troubleshooting
Camera scans the QR but nothing happens
Camera scans the QR but nothing happens
On iPhone, make sure the iOS Camera app’s “Scan QR Codes” feature is enabled (Settings → Camera → Scan QR Codes). On Android, scanning with the camera app won’t work — you have to scan from inside Expo Go.
Expo Go opens but shows a red error screen
Expo Go opens but shows a red error screen
Usually a JavaScript error in the latest build. Open your project in Bilt, look for build errors in the chat, and let the agent fix them. Once the next build succeeds, pull-to-refresh in Expo Go. These errors can also be caused by a cross-compatibility issue, ask the Bilt agent for further clarification if needed.
App loads but a feature doesn't work
App loads but a feature doesn't work
Some features can’t run inside Expo Go — push notifications, in-app purchases, custom native modules, deep links, biometric auth on some platforms. To test these, use Build on iPhone or Publish to App Store → TestFlight.
Bundle keeps reloading or 'unable to connect'
Bundle keeps reloading or 'unable to connect'
The tunnel between your phone and Bilt’s preview server has dropped. Force-quit Expo Go, reopen the app from the QR code, and let it reconnect. If your phone and the preview are on different networks, that’s fine — Expo Go uses a public tunnel, not local Wi-Fi.
Build on iPhone
Builds your app natively and installs it directly on a connected iPhone via Xcode. This is closer to a real shipped app than Expo Go — full performance, full APIs, your own app icon — without going through the App Store.Click Deploy & Share → Build on iPhone
A dialog appears with a one-line install command. The command contains a temporary code that expires in 5 minutes.
Paste the command and press Enter
The command looks like:On first run, this installs the Bilt CLI to
/usr/local/bin/bilt. On subsequent runs, it reuses the existing binary. The CLI then builds your project and pushes it to your connected iPhone.Build on iPhone — troubleshooting
Code expired before I could paste it
Code expired before I could paste it
Codes are good for 5 minutes. Reopen Deploy & Share → Build on iPhone to generate a new one.
'xcrun: error: unable to find utility' or similar
'xcrun: error: unable to find utility' or similar
Xcode isn’t installed, or the command-line tools are missing. Install Xcode from the Mac App Store, open it once to accept the license, then run
xcode-select --install.iPhone not detected
iPhone not detected
Connect via USB, unlock the phone, and tap Trust This Computer when prompted. If you’ve connected before, open Finder → your iPhone in the sidebar to confirm Mac and phone see each other.
Install fails with provisioning errors
Install fails with provisioning errors
Sign in to Xcode with your Apple ID under Xcode → Settings → Accounts. The Bilt CLI uses your local Apple ID to sign the build for personal install — no Apple Developer subscription needed for this path.
I'm on Windows / Linux
I'm on Windows / Linux
The Build on iPhone path requires macOS with Xcode. Use Share link + Expo Go instead, or Publish to App Store when you’re ready to ship.
Publish to App Store
Submits your app to App Store Connect through Bilt’s build pipeline. Bilt handles the cloud build, signing, metadata sync, and submission. No local Mac required.Get an Apple Developer account
Required, $99/year. developer.apple.com/programs.
Generate an App Store Connect API key
In App Store Connect, go to Users and Access → Integrations → App Store Connect API → Generate API Key. Download the
.p8 private key file (you can only download it once) and copy the Key ID and Issuer ID.Enter your API key
You’ll be asked for three things:
- Key ID — short identifier from App Store Connect
- Issuer ID — UUID from App Store Connect
- Private key — paste the contents of your
.p8file (must include theBEGIN PRIVATE KEY/END PRIVATE KEYlines)
Which option should I use?
Just want to show someone
Share link. Fastest path. They open it in a browser or scan the QR for Expo Go on their phone.
Testing on my own phone
Expo Go for fast iteration on iPhone or Android. Build on iPhone if you need real native APIs and have a Mac with Xcode.
Demoing to a room or screen-sharing
Open Full-Size Preview for maximum pixels and a website viewport of Your app
Ready for real users
Publish to App Store. Plan ~24 hours for Apple review.
