Updates.checkForUpdateAsync() fails with Manifest verification failed

SDK 39 Managed (newest version as of this message).

My error logs are filling up with “Manifest verification failed” eminating from this call:

Updates.checkForUpdateAsync();

I have no more information to go on because that is the entire error.

Anybody have any idea what is happening?

this points to the update signature not matching, is there anything special about how you’re building and handling updates, for instance, are you self hosting? Or is this just managed workflow & expo publish?

I’m using only managed. Not hosting myself. Very vanilla setup.

expo publish and occasionally expo build when I need to make a new binary for App/Play Stores.

This is a newly released binary though. I think I might know what could be causing it (maybe).

I was playing with the expo.version number and re-pushing on a previous release channel (not the current one that is failing). I was taking like “1.1” and changing it to “1.0” because I noticed that it was actually working. I needed to change the version in the app json on a different release channel so that it would force the user to update (part of that background updating mechanism I was telling you about).

My impression from documentation was that changes to app.json do not go out unless you do an expo:build. I then found out through trial-and-error that you could change, for example, the expo.version and do an expo:publish. Maybe that is what’s causing the issue.

But here is the thing. Almost all the errors I’m getting are on the newest version and revision. These people already have updated to the newest revision available (and they are on the right version as well)…there is no update for them to get…yet they get the manifest verification failed…

It only started happening since 3 days ago while I’ve been trying to get out this new release and it is only happening on iOS.

It seems like its tailing off though, but has blown through my 50,000 Sentry quota. :confused:

What exactly is in the manifest? What is it verifying exactly? Assets? Stuff in app.json? Do you think it could stop on it’s own without an update? Any help would be greatly appreciated.

@charliecruzan - I have some ideas what it could be:

  1. I changed an asset that the app.json links to and replaced it with another one. The check-sums then wouldn’t match up.
  2. I changed the Android version because I was deploying to the Android store. I then expo publish changes that also went to the iOS versions so that basically the app.json from the original binary changed.

Any of these two things could have caused it?

hm, well you can definitely push out new assets over OTA, so I don’t think it’s number 1. For number 2- you changed the android versionCode? I can’t imagine that would result in this, it just wouldn’t have any affect since that would require a new binary

Well what I’ve noticed is that if I do an expo publish, and change the version codes, the codes will be correct if I check through expo-constants, so it’s getting through in some places.

Anyways, thats my best guess for what caused this…the issue seem to have died down to almost zero.