So after getting some feedback/guidance on how eas update
works to handle over the air updates, I decided to test this with a sample app. I build a new default react native app with the following command: npx create-expo-app my-app
.
I then configured it and added this to my eas.json
:
"test": {
"channel": "one",
"android": {
"buildType": "apk"
},
ios: {
"enterpriseProvisioning": "universal",
resourceClass: "m1-medium"
}
}
I then ran:
eas build --profile test --platform all
This worked as expected and this generated builds for both Android and iOS.
I then downloaded and installed the test app on my Android.
Then, to test pushing an update of JavaScript code, I made a small test update, changing the version number on some text:
> export default function App() {
> return (
> <View style={styles.container}>
> <Text>Welcome to Test App!</Text>
> <Text>Version 1.0.1</Text> // Iterated from 1.0.0 to 1.0.1 here
> <StatusBar style='auto' />
> </View>
> );
> }
I saved this and then ran:
eas update --branch one --platform all
My understanding is this is all that’s necessary to have the updates pushed to the app on my device, and that since my targeted channel is one
, a branch automatically gets assigned to this as well, so targeting --branch one
to send the update “over the air” should work here.
However, even though I’ve restarted my phone several times, and re-opened this test app each time, I never see the change in text rendered to the screen. What am I missing here?