Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Will TestFlight prerelease beta app version update existing App Store version, or install another instance of the app on tester's device?

We are going to submit a prerelease version of an app to external users, but I wonder: what will their experience be?

  1. The user had a production App Store version of the app on the device, and now installs a new beta via TestFlight. Will this be in-place update, with the data preserved, or a completely new install with data wiped, or will TestFlight's version be installed next to production - so that the user has the app twice?

  2. Testing is over, and the production-ready version is submitted to the App Store. Will the tester be able to update to the new App Store version seamlessly (in-place), with the beta version's data preserved? Or is it a complete wipe? Or will beta stay on his device and he has to download a new full version from scratch?

By the way, I have submitted another question regarding version numbering beta vs. production.

like image 208
Vilém Kurz Avatar asked Sep 18 '15 15:09

Vilém Kurz


2 Answers

  1. According to https://developer.apple.com/testflight/

    Once you accept your invitation, you’ll be able to download a beta version of the app you’ve been invited to test. If you already have the live app installed on your device, the beta version of the app will replace the live version. When you’ve downloaded the beta app, you’ll see an orange dot next to its name that identifies it as a beta. TestFlight will notify you each time a new build is available and provide instructions on where to focus. You can easily offer feedback by tapping the Provide Feedback button in the App Details view in TestFlight. An email automatically opens with pertinent app and device details, and you can add additional details and screenshots.

    It's said that the beta version of the app will replace the live version. The reason is the beta app has exactly the same bundle identifier with the one on the App Store.

  2. After installing the beta app, the user will still see the updates from the App Store as the live version has been installed (without losing any data) because the beta app is deployed using exactly the same certificate.

like image 78
Ducky Avatar answered Sep 29 '22 20:09

Ducky


I think the things changed a while ago.

Even if you have a beta (which is signed with production certificate - remember, no AdHoc needed), the TestFlight version will function as an update for the existing app. I tested those things and can confirm no NSUser defined entities were overwritten or deleted by the TestFlight build.

For the second part: the user can preserve saved data if the application is not a major build (I mean, you cannot expect a database stored in some format to work with another new model of your app version). To be sure your app does not clear or attempt to modify previous content, put a version check on the new one. If there are data found, update to the new schema. I think this is the way to go. Anyway, you cannot have duplicated versions of the app because they are signed by the same profile.

like image 37
ares777 Avatar answered Sep 29 '22 20:09

ares777