What is the best method for testing that a new version of your app which is in Test Flight when launched to the App Store will provide a seamless update for the users of your app? In our r1 to r2 the app updates would appear to take place but when any user tried to launch the newer version it would just crash. The users would have to delete and then reinstall a fresh version of the new version and everything would work fine. So now we are getting ready to submit r3 of the app and have ensured API versioning was completed betwen r2 and r3 but how do we test that the end user experience for updating wlll be seamless?
Testing app versioning
I think the ad-hoc installation process most closely mimics the App Store distribution. So I would start by installing an ad-hoc build of your old version, then installing an ad-hoc build of the new version over top.
The app crashing on an update is a sign that your application data, which is preserved from the old version, was in a format that your new code didn't handle properly. Apps do not normally crash when updated unless there are bugs.