OTA is still working even update.enable=false

Hi All,

Even I set updates.enable=false in app.json, still clients getting updated versions from expo server automatically (without deploying apk/ios to store’s).

I set updates.enable=false in version 1.1.7. Clients with version 1.1.7, 1.1.8 and 1.1.9 got 1.2.0 version automatically without putting new version (1.2.0) into store(s).

I’m using expo build:android and expo build:ios commands for build.

Could anyone can help me about this problem? Is there any way to prevent update on code level?

You can find my app.json content below:

“expo”: {
“name”: “XXX”,
“slug”: “XXX”,
“privacy”: “public”,
“sdkVersion”: “31.0.0”,
“platforms”: [
“version”: “1.2.0”,
“orientation”: “portrait”,
“icon”: “./assets/icon.png”,
“splash”: {
“image”: “./assets/icon.png”,
“resizeMode”: “contain”,
“backgroundColor”: “#FFCB09
“notification”: {
“icon”: “./assets/icon96gs.png”,
“color”: “#ffcd00”,
“androidMode”: “collapse”,
“androidCollapsedTitle”: “XXX”
“updates”: {
“assetBundlePatterns”: [
“versionCode”: 17
“ios”: {
“bundleIdentifier”: “com.xxx.yyyt”,
“buildNumber” : “17”
“scheme” : “xxx”

Hey @alpercelerce,

Just to clarify, when you changed your app.json and set updates.enabled to false, did you build and submit a new binary? Most changes done in app.json require a new build to take effect and a simple OTA update won’t do it.


I always use expo build:android for android and expo build:ios for ios side for build.

Should I use another command(s) to success it ?

No, expo build is what you want to use to create a new binary. I’m asking if you created a new binary with updates.enabled === false and submitted it to the App Store/Play Store. If you haven’t, those previous binaries you built will still get OTA updates if they are compatible. For a compatibility reference, please see this flow chart.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.