@psas thanks for raising this issue, I’m facing the same issue too with ExpoKit project. Did you manage to find a way to move past this?
@charliecruzan for ExpoKit project, I’m wondering if there is a way to avoid running expo publish
when building?
We have OTA enabled, but we want to orchestrate the whole release process of the app because it involves other related services, sending communications to the users, etc. etc.
The problem we are facing now is: running expo publish
pushes out an OTA update way too early (while the developer is packaging the app). This could be many days before we should allow the users to see these updates, and certainly may break the app, because other related services are not ready.
Update: I’m considering this approach now. If you also use release channel
like me then the below may work for you:
-
Have a different
release channel
with version number each time we need to push out a “manual update” (as opposed to an “OTA update”). For example, in production users are onproduction-1.1.0
channel. We want to update to version1.2.0
. This will be done via a new channelproduction-1.2.0
. -
Consequently, users on the old channel
production-1.1.0
will not be able to receive OTA updates. Only users onproduction-1.2.0
will receive OTA updates moving forward. -
This makes sense because we assume that the fact that we need to do a “manual update” in version
1.2.0
means that there are some changes that could not be pushed out via OTA update. -
Backward compatibility needs to be considered as well. Either that, or users who are on version
1.1.0
should be either forced to update manually to version1.2.0
.
To be honest I haven’t really tried to implement this but it makes sense to me for now. Do you foresee any problem with this approach?