There’s at least 1 known bug in Apple’s upload server that they’ve not fixed for more than 12 months. Things to beware of:
- Apple deletes any leading zeroes inside the version number; i.e. the “whole string” is NOT treated as a number, instead the bits between dots are treated as SEPARATE numbers. e.g. “1.02” is treated by Apple as “1.2”. So, for Apple, 1.02 is GREATER THAN 1.1
- Apple sometimes gets “confused” and seems to compare your uploaded-app to the version of a DIFFERENT app you’ve previously uploaded. It’s happened to a lot of people, and I’ve seen it myself a few times
- Apple is supposed to be comparing the “CFBundleVersion” (i.e. “Bundle version” not the “Bundle versions string, short”); don’t get mixed up.
- Frequently, the only viable solution is to bump the front number (e.g. the “2” in “2.4” — increase it to “3”)
- The version number you upload is unrelated to the version number that appears in iTunes – you can put anything you want there, and that’s what your users will see
- …except, if you also report the “actual” version number inside your app, the user will see the CFBundleVersion (usually, depends how you code it), rather than the iTunes version (which – I think – cannot be accessed from inside your app)