OTA update fetched by EAS dev client but not installed on reload


This issue is occurring on IOS. After following along with the installing app variants on the same device documentation, I have two versions of my app installed on my device. The first is a staging deployment installed via TestFlight with a bundle id of com.projectOwner.projectName and the second is a development deployment created via EAS build with a bundle id of com.projectOwner.projectName.dev. The problem occurs on the development client.

When an update is published the development client successfully recognizes/retrieves the update, however, on app reload (in both manual and automatic update configuration) the changes have not been installed. Here is the return value Updates.fetchUpdateAsync captured through Sentry:

Sentry screenshot

In the past I have been able to publish OTA updates to this project via expo publish without specifying a release channel. Unfortunately I can’t upgrade to a EAS production plan at the moment, so I have to sort this out with classic updates.

I’ve included all the information that I feel is relevant to the problem but I’m sure I’ve missed something, please let me know if there is anything else that may aid in solving the problem. I’ve been at this for days now, any and all potential paths forward would be greatly appreciated.

Thanks in advance!

Please note
As a new user on this forum I’m restricted to how many images/links I can embed in a single post, so I will be replying to this post with additional information that would have been included initially.

expo-env-info output


Relevant package info

  • Expo updates version: 0.11.7
  • Expo constants version: 13.0.1
  • Expo dev client version: 0.8.5

Managed or bare workflow?

  • bare

What I have tried

  • Automatic OTA updates
  • Manual OTA updates
  • Uninstalling the TestFlight app so that only the development client is installed.
  • I have tried every possible configuration of variables in relevant files (app.config.js, eas.json, Expo.plist, Info.plist) to no avail.
  • Configuration of expo-splash-screen to try and provide a highly compatible interim step while the update is fetched and the app is reloaded via expo-updates.

Miscellaneous Observations

  • The native app appears to have no manifest initially.
  • Programmatically changing the name of the app via app.config.js renames all previously created builds in the expo dev console.
  • The transform cache is reset during the Bundle React Native code and Images build phase.
  • main.jsbundle is missing in Xcode (red text)
  • I’ve been building my dev clients locally to cut down on build times. I am always greeted with this error while running FastLane but at no point has it ever caused the build to fail. I’ve tried deleting my DerivedData but it doesn’t seem to have an effect either way. I’m including the log on the off chance it may be relevant to the problem. See FastLane error screenshot in reply.

Relevant files (Part 1)

eas.json screenshot

app.config.js screenshot


FastLane error