How can I replace old iOS app with fresh new Expo App ?


I have an old iOS app created few months ago with a “classic” React-Native flow and I want to replace it with a fresh Expo bare workflow app.

I’m totally confused with all certificates asked by Apple. I tried to publish my app to AppStore Connect but it created a new app on my dashboard.

I also tried to set correct appleId, ascAppId and appleTeamId in eas.json (in submit.production.ios) without any success.

My eas-cli:

  eas-cli/0.53.0 darwin-x64 node-v16.13.0

hi there! you need to make sure to set your bundle identifier and app names to the same as what you were using in your app previously. outside of that, you don’t need to set those other values at all, you will be prompted when needed or you can provide the values to skip the checking step.

thanks for your answer @brents :pray:

I already set the correct bundle identifier but maybe the name is not correct… Is there to easily “reset” it ? When I open XCode project and test to force with old profile it doesn’t work due to missing AppGroup and some notifications profile needs (which doesn’t fit)

Hi @budet_b!

ascAppId should be the key here (see Submitting to the Apple App Store - Expo Documentation). If that’s set, it should not try to create a new app, but use the existing one. On the App Store Connect website, you may also compare the bundle identifiers set on each app listing- it should not be possible for two distinct apps to share the same bundle identifier.

A few other notes:

  • I would recommend not trying to force the old provisioning profile- creating a new one doesn’t affect your ability to build a new version of the same app.
  • Heads up that, when using bare workflow, it’s not sufficient to change to just change the bundleIdentifier in app.json. It needs to also be changed in your Xcode project, either manually or by syncing your Expo config back to the project with expo prebuild.

Finally, if those hints above don’t help you resolve, if you provide us with your EAS Submit job ID, we can take a closer look at the logs.


1 Like