iOS App Store Update whitescreen: Don't know how to troubleshoot

Hi,

Some of our users (and employees) have a white screen just after an Apple Store upgrade of our app.

1-It’s only on iOS
2-If they uninstall the app et reinstall it, it works 100% of the time
3-We have not been able to reproduce with a meteor run ios-device or something like that.

so it seems some files are left behind during the upgrade and they crash with a newer release.

Questions:
1-Any clue ?
2-Since it’s in prod only, we don’t know how to get logs, any idea ?

Regards,
burni13

How do you build your app? Cordova, RN … something else?
If Cordova, do you do bundle updates via CDN as well?
Do you have Meteor servers running the old version and the new one? I mean, can it be that the old app version doesn’t work with the new backend or the other way around? I suppose the backend has also been updated.

Hi @paulishca ,

Thanks for your answer!

We’re building using Cordova in the standard way. We’re not using any CDN.

The Meteor servers are all running the same version as the Cordova package.

The only different things:
1-We’re using Meteor’s compat to keep HCP working since we don’t change the plugins of the cordova app
2-cordova-meteor-webapp we’re using is older at @2.0.0 instead of 2.0.3 but no code seems to have changed for iOS since 2.0.0

What is strange is killing the app does not resolve the issue. it must be a complete uninstall + reinstall from the app store.

Regards,

Burni

Considering this: Does updating an iOS app delete custom subdirectories located in the Library directory ? - Does updating an iOS app delete cu… | Apple Developer Forums

I guess something in your local cache is triggering an error in the new app version that cache being deleted when you uninstall the app.
If you don’t get this failure in Monti, perhaps it would be good to use some crashlytics such as Firebase Crashlytics | Track, prioritize, and fix app crashes faster

Small tip, if it’s still a bother:

The people who built the production app before uploading app could try to let the final build it run locally on their phones. If they had the previous app on it before, maybe you can get some helpful errors either

a) from the ios debug / message window, or
b) you can then connect to the browser inside the cordova app using the safari developer tools and see if something pops up there…

And maybe they even have the previous build still around on their harddrive somewhere, so they could also uninstall the latest version, install the previous build, run it, and then switch to the latest build, and try to run it, in order to try and replicate the situation? … the final build should be pretty close to the live app I think.

Fingers crossed!

Not sure if this will help. We had a similar issue where every time after we deployed a new version both iOS and Android, was showing a white screen. We discovered that when a reload happens, the check for the login was passing but the user and other collection objects were null. We fix it by making sure the objects are not null. This issue only happens on iOS and Android after a deployment, we never had this issue on other platforms.

@paulishca Yeah, we don’t see anything in Monti. We’ll have a look at Crashlytics. Thanks for the tip.

@DanielDornhardt since it’s only happening on iOS, we go through Xcode to push the app to the device or through Test Flight. So far, we have not reproduced the issue by “upgrading” the app through these 2 ways. It seems to be “app store only” :wink:

@cmboros : is the “update” you are talking about more of a Hot Code Push after a new production deployment on servers or more of an “app store” update of the app ?

Thanks a lot :slight_smile:

Burni

Is a Hot Code Push after a deployment to production.

Ok, it might be our case too.

We thought it was an App Store update but it seems it’s an App Store update followed by a Hot Code Push.

Thanks for the hints!