I just recently started having the same issue. I was able to work around it by opening the actual desktop expo client and publishing from there. For reference here was the response I was getting when using
exp publish, it appeared successful but was not actually updating the app, nor was I getting the text message saying it was published:
MacBook-Air-2:the100 mlapeter$ exp publish
[10:32:28] Publishing to channel 'default'...
[10:32:30] Building iOS bundle
[10:33:20] Building Android bundle
[10:34:07] Analyzing assets
[10:35:04] Uploading assets
[10:35:07] No assets changed, skipped.
[10:35:17] Your URL is
Oh that’s interesting, I’ll give that a try in the morning!
Thank you so much.
Same issue, was driving me nuts! Glad to hear others are seeing this too. I’ll try with the GUI.
I’m publishing with a release channel, not sure if that matters.
I was able to update with the desktop app. I don’t understand why this would be an issue, but as it is for the moment resolved, I’ll revisit when I have more time.
Thanks for the tip, really helped me out.
I have the same issue since updating to expo version 29.0.0. When I run exp publish like I always did before my standalone app does not update. When I run my app via the expo app it runs the updated version. There seems to be a problem with the cli
Same issue here, i’ve tried publishing the app via the XDE but no success…
We are investigating this internally. Hope to have more information soon.
@mrwhoof @mlapeter @robvolk @0llum @emixis is this problem happening on builds for both platforms (ie) android and ios?
I’m trying to reproduce the issue, and I’m getting the app to reload (suboptimally). Here’s what I’m doing:
exp publish for initial version of app
- Build standalone for ios in simulator mode (ie)
exp ios:build -t simulator
- Download binary, run
xcrun simctl install booted test.app
- Modify app, run
exp publish again
- Restart app once, but see no changes. Updates says there is a new version available, but new app does not get loaded.
- Restart app twice. New changes are successfully loaded in.
The suboptimal part is that it takes 2 restarts to load in the new version of my app, but my changes are getting picked up, which isn’t consistent with what you guys are seeing.
Could someone give a repro or describe what exactly they did to NOT get the app to update at all? Thanks!
Edit: running on sdk 29
I can only speak for Android. I reverted to Expo Version 28.0.0 and everthing works fine again. Definitely a problem with version 29.0.0
@adamjnav do you have any more information on how to resolve this?
Thanks in advance
I have tried to publish an iOS and Android version but the JS code is not being updated on either device.
I used “exp build:ios” and “exp build:android” - both ran and completed successfully
iOS build - https://expo.io/builds/0ce1bfef-3918-4262-ab33-5635c9c9c176
Android build - https://expo.io/builds/f85b9e4e-f4fd-4ae5-8050-a634e4820570
Both Apps are configured to receive OTA updates. Have tried this with v28 and v29 via the command line
Any help welcome
As I suspect, your Expo version has to be up to date IN TESTFLIGHT. I just uploaded a new binary to TestFlight and now OTA is working.
So your only option is to downgrade to the Expo version matching your user’s binary in Testflight. Otherwise wait for your Testflight app to be approved
@ericjames That can’t be right, because some of us can update with the XDE but not command line, and I personally haven’t upgraded my expo version since the build was made that’s on the iOS device.
@quinlanj I’m only building for iOS right now. Number of restarts didn’t affect reloading for me. But the XDE publish does seem to work.
Problem is happening on both platforms for me. Running on SDK 29.
@rbuk i looked into your builds and your published JS bundles, and the problem is that your standalone build supports up to SDK 28 and you’ve been publishing JS bundles using SDK 29.
Your standalone build will only pull in JS bundles it is compatible with. For example, consider a situation where SDK 29 introduces a new module, A, and your new JS bundles uses module A. If your old SDK 28 standalone build were to pull in this incompatible JS bundle, the call to module A will result in an error because the native code just isnt there. This is why we only allow standalone builds to pull in compatible SDK JS bundles.
@0llum, @ericjames @mrwhoof can you check that your standalone build supports the SDK version of your newly published JS bundle?
You can check your standalone build SDK version like this:
Yes they are! As I said, it looks like the standalone Testflight version must match the SDK you are publishing, since manifest changes require a new build.
Yes, mine says 29.0.0 as well