efimovD efimovD - 5 months ago 10
Swift Question

Can iOS app's version and build numbers be strings?

I have noticed that I can name my current build by string. Xcode allows to do this. But I haven't seen somebody doing so. It would be pretty convenient for me to use words instead of 1.3.78. Is this legal though?
By "legal" I mean that it wouldn't be rejected by App review team.

enter image description here

Answer
  • "Version" CFBundleShortVersionString (String - iOS, OS X) specifies the release version number of the bundle, which identifies a released iteration of the app. The release version number is a string comprised of three period-separated integers.

  • "Build" 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.

CFBundleVersion -- is identify the last and current build available in itunes conncet, if you use in the legal, the appstore doesnot accept/reject your app, may be the binary also not uploaded.

you can see the type in your info.plist CFBundleVersion and CFBundleShortVersionString

<key>CFBundleVersion</key>
<string>1.0</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
Comments