Building a detached expo project (for .ipa and .apk)


#1

We started our app using Expo, then we detached. Now we need to Archive and distribute.

So after releasing and testing the app, I just get the following message on a white screen:

No experience found at exp://exp.host/@joebloggs/app-name

From reading through this page, I understand the following:

In production, your ExpoKit project will request your published JS bundle. This is configured in EXShell.plist (iOS) and MainActivity.java (Android).

And indeed, in my EXShell.plist file is the following, where the manifestUrl is referring to the link.:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>isManifestVerificationBypassed</key>
	<true/>
	<key>isShell</key>
	<true/>
	<key>isSplashScreenDisabled</key>
	<true/>
	<key>manifestUrl</key>
	<string>exp://exp.host/@joebloggs/app-name</string>
	<key>releaseChannel</key>
	<string>default</string>
</dict>
</plist>

Where/how can I get a working bundle for use in production? I want my production build to not load from expo, that is to say it should not show the expo loading screen (Downloading JavaScript bundle…).


#2

Hi @rorysmith,

Regarding your white screen and error message of No experience found, you will need to publish your app to the expo servers in order to fetch updates over the air from your standalone binary. See: https://docs.expo.io/versions/latest/guides/publishing.html

If you dont want to show the expo loading screen, you can configure it with a screen of your choice. See: https://docs.expo.io/versions/latest/guides/splash-screens

If you dont want future publishes/updates to load over the air at all, and just want a js bundle put into your binary, you can set the updates enabled flag to false in app.json. See: https://docs.expo.io/versions/v26.0.0/workflow/configuration


closed #3

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.