I'm new to React Native development. I created a React Native app using expo. I ended up ejecting it to the bare workflow. All good so far. I was able to build an app bundle for Android and an .ipa for iOS. I used "expo publish" to update the code/bundle before building the app and deploying it on both app stores.
While developing the app further at a later time I typed "expo publish" because I wanted to build a stand-alone bundle to test a release build. I kept getting cached versions on my release builds and expo publish seemed to be the only thing that would update my release builds. I didn't realize this was pushing an OTA update to all my users. I thought it was just pushing the updates to the expo servers where I could opt in or out of OTA updates. Fortunately it worked out ok.
Now, I have developed the app further. On iOS the debug build is fine. However I can't get an updated bundle on iOS release build. I get old code. Why? I don't understand the process. I even tried this script:
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assets
I thought this was going to build a new "updated" bundle. No luck! I even deleted my main.jsbundle file from the ios directory and rebuilt it but still got old code.
I don't want to use OTA updates. I just want to build a stand alone app. What am I doing wrong and how can I get around it? This has been a very frustrating process.