0

I’m building a mobile app (iOS & Android) with React Native.
Because I use native modules (e.g. Mapbox, OneSignal), I don’t use Expo Go — instead I build locally with EAS.


Problem

When I publish a new build, the version I get on TestFlight shows old code (UI elements that no longer exist in my codebase, from build 16 or 17).


Details

  • I have bash build & submit scripts with auto-increment build numbers (so I’m sure they’re correct).

  • iOS build command:

    eas build --platform ios --profile staging --local
    
  • I’ve already tried --clear-cache and also expo prebuild.

  • To submit to TestFlight:

    eas submit --platform ios --profile staging --path <path.ipa>
    
  • On Android, one colleague once saw the same issue (old version showing), but most of the time it seems specific to iOS/TestFlight.

  • Locally (Metro dev server / simulator), the app always runs with the latest code.

So it looks like the IPA built with EAS contains (or downloads) an old JS bundle.


  • Has anyone already faced this kind of issue with EAS build + React Native?
  • How can I ensure that the IPA always contains the latest JS bundle instead of an old one?

Thanks you !

asked Sep 5, 2025 at 10:53

1 Answer 1

0

I haven't particularly experienced this. The --clear-cache might not work because it primarily clears dependency caches, but the JavaScript bundling cache might be sperate. Try

- Force CLean Runtime Version Calculation - explicitly set a new runtime version in your build profile

{ 
 "build": { 
 "staging": { 
 "ios": { 
 "runtimeVersion": "1.0.0" 
 } 
 } 
 } 
}

Increment the runtime version for each build where you want to force fresh bundling

OR Disable Eager Bundling Temporarily - try

export EAS_BUILD_DISABLE_BUNDLE_JAVASCRIPT_STEP=1
eas build --platform ios --profile staging --local

answered Sep 5, 2025 at 12:12
Sign up to request clarification or add additional context in comments.

1 Comment

I managed to fix it for iOS by going back to old commits and making the additions 1 by 1, creating a build each time. I finally succeeded. However, now it's Android that's doing it to me. It's in V1, even though we're on build 17... I'm lost.

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.