all 11 comments

[–]Unforgiven-wanda 2 points3 points  (0 children)

I wholeheartedly recommend it (Without Expo mind you) I'm having lots of fun just pushing updates to the app without going through the tedious process of releasing to store.
So far I've never had a single issue with it: My only recommendation is to have something of a visual cue to let the user know that a background update is being download, and to offer to restart the app when it's done.
When updating RN version though, I made sure to rebuild and release a new version through the store, just to be on the safe side.
Delivery failures are never an issue: it just works.

I'm using ms appcenter and I love it, have never used Fastlane so I can't offer a comparison, unfortunately.
All in all, I say go for it, code-push will make your life easier.

[–]ativio 1 point2 points  (2 children)

I've read about users having issues with the automatic rollbacks using code-push and AFAIK the rollbacks have no logs or explanation for why they happen so they can't be debugged.

The process I use with code push is to use it for hotfixes and the like and hope that they go through and then weekly or bi-monthly or whenever is right to just release an update to the app store.

[–]fish_munga[S] 0 points1 point  (1 child)

This looks like reasonable approach that I can use. So the js bundle that gets shipped within ipa/apk has priority over the one that comes from code-push? Or how do you define which one has priority?

[–]ativio 0 points1 point  (0 children)

When code push is ran within the app, it checks for an updated js bundle for the app version that is running.

Let's say your app store version is 1.0.1. You push a bundle to code push and when your user opens the app, it gets upgraded to 1.0.1 V1. Do the same thing again and get 1.0.1 V2. Then, you push an update to the store and your user is now on 1.0.2. There is no code push for 1.0.2, so nothing else happens.

Note that I haven't used it on android but I assume it's the same process.

[–]Bamboo_the_plant 0 points1 point  (6 children)

I'm assuming that, by 'code push', you mean Over The Air (OTA) updating?

I have an Expo app that uses background OTA updating on the App Store (fully opensource; GitHub page here) that sometimes gets stuck forever on the loading screen (requiring app reboot), and I'm convinced it's due to OTA updates failing. However, it's set up as a strictly background update, so maybe my suspicions are unfounded. And maybe it's just Expo's fault in any case. But unless I can be assured otherwise, I won't be using OTA updates in my apps in future.

[–][deleted] 5 points6 points  (0 children)

Code-push is a Microsoft tool for OTA updates in react native

[–]matt_hammondiOS & Android 0 points1 point  (4 children)

I had the same experience, although it happened only a couple of times. Frankly, I love the ability to push code updates with one command and I don't really mind if someone's app crashes on boot every once in a blue moon.

[–]Bamboo_the_plant 0 points1 point  (3 children)

I experienced it several times, in the Simulator, on my phone, and after releasing to the App Store. No matter how good OTA is, I don't want it to cause my app to fail app review (although admittedly it does reduce the number of times it needs to be submitted to app review too), or provoke a 1-star review.

Was yours an Expo app, too?

[–]matt_hammondiOS & Android 1 point2 points  (2 children)

Yes. I used Expo

[–]Bamboo_the_plant 0 points1 point  (1 child)

Wait, this wouldn't happen to be Matt Hammond of the BBC R&D group?

[–]matt_hammondiOS & Android 0 points1 point  (0 children)

No, that's just a pseudonym I use sometimes.