What's the difference between "version number" in iTunes Connect, "bundle version", "bundle version string" in Xcode?

eugene picture eugene · Sep 2, 2011 · Viewed 70.2k times · Source

Apple's doc could have been more clear on how to submit an update version.

As asked in the title, What's the difference between

  1. version number in itunes connect(which you have to supply when you submit an update)
  2. bundle version in xcode
  3. bundle versions string, short

Are they related in any way?

Answer

Fabian Kreiser picture Fabian Kreiser · Sep 2, 2011

Yes, they are related. They all refer to the version of your application.

  • iTunes Connect
    This is the version number shown in the App Store; This must be a pure version number like 1.2.3

  • Bundle Version (CFBundleVersion)
    This doesn't need to be a pure version number. This can be something like 12345 or 1.2.3 (Build 12345AB). This is shown in the About window for Mac OS X apps for example and is often more a "Build Number" than a "Version Number".

  • Bundle Version String (CFBundleShortVersionString) This value is used as the "real" version number. This must be the same string as used for the version in iTunes Connect.

Update:
As pointed out by @snlehton, the CFBundleVersion has to be a pure version number like 1.2.3 when you want to upload your application to the (iOS) App Store.