I have a TestFlight build that one user has downloaded, then we released a new version and they installed over that build. They got this error when trying to launch the app:
You should specify two keys (CFBundleVersion & CFBundleShortVersionString) in Info.plist.
CFBundleVersion (String - iOS, OS X) specifies the build version number of the bundle, which identifies an iteration (released or unreleased) of the bundle. The build version number should be a string comprised of three non-negative, period-separated integers with the first integer being greater than zero. The string should only contain numeric (0-9) and period (.) characters. Leading zeros are truncated from each integer and will be ignored (that is, 1.02.3 is equivalent to 1.2.3). This key is not localizable.
CFBundleShortVersionString specifies the release version number of the bundle, which identifies a released iteration of the app.
You can add the CFBundleVersion by 1 every time when you build an adhoc version for your test or user with the same release version(CFBundleShortVersionString)
For example : your CFBundleShortVersionString is 1.2.3, your CFBundleVersion is 1000. when you fix a bug and build an adhoc version for testing, you can change CFBundleShortVersionString to 1001.