Hello,
Firstly, can we just say a big “Thank you” for Expo. We’ve come from web app building and found the workflow to be really straightforward and enjoyable to use.
We are trying to build a:
- standalone iOS app
- ejected to ExpoKit
- bundle scripts and assets to launch first time without a network connection
- no use of external servers/ OTA updates
Following the instructions from here hosting-your-app we have hosted the static files on our own server.
We have successfully expo ejected
to ExpoKit. Installed pods, and opened the project workspace in Xcode.
Trying to build and run gives an error that shell-app-manifest.json
is invalid. It’s empty, and so is shell-app.bundle
.
We enter {}
in shell-app-manifest.json
so it’s at least valid JSON.
In Supporting/EXShell.plist
set manifestUrl to localhost/dir/project/ios-index.json
The project will then build successfully. It runs on the simulator, and we can even Archive and install the .IPA on real devices using our Apple certificates. Which is excellent.
However, the app will always hit eg. localhost/dir/project/ios-index.json
on launch and download the other assets from there too. If we turn off wifi, the app will give an error
“There was a problem loading the requested app. Make sure you’re connect to the internet. Try again.”
The Xcode build process isn’t picking up the scripts and assets.
This issue from May 2018 seems to say that expo publish is required for ExpoKit apps, but a comment from @terribleben implies this won’t be needed now we have expo bundle-assets
, and we’re hosting the dist files on our server (as above).
We can’t seem to get the build process to grab those assets though.
Any help would be greatly appreciated, cheers.
Environment
OS: macOS Mojave 10.14.3
Node: 11.1.0
npm: 6.7.0
Watchman: 4.9.0
Pod: 1.5.3
Xcode: Xcode 10.1 Build version 10B61
Packages
expo: ^32.0.0
expokit: ^32.0.6
react: 16.5.0
react-native: https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz