Which iOS App Version/Build Number(S) Must Be Incremented Upon App Store Release

Which iOS app version/build number(s) MUST be incremented upon App Store release?

Apple Technical Note TN2420, Version Numbers and Build Numbers

Summary:

  • The pair (Version, Build number) must be unique.

    • The sequence is valid: (1.0.1, 12) -> (1.0.1, 13) -> (1.0.2, 13) -> (1.0.2, 14) ...
  • Version (CFBundleShortVersionString) must be in ascending sequential order.
  • Build number (CFBundleVersion) must be in ascending sequential order.

Version Number and Build Number Checklist


Here are some things you can check when submitting a new build to the App Store. Making sure you have your Version Number and Build Number set properly will help you by avoiding having your App automatically rejected for having them improperly configured.

  1. For each new version of your App, you need to invent a new Version Number. This number should be a greater value than the last Version Number that you used. Though you may provide many builds for any particular release of your App, you only need to use one new Version Number for each new release of your App.
  2. You cannot re-use Version Numbers.
  3. For every new build you submit, you will need to invent a new Build Number whose value is greater than the last Build Number you used (for that same version).
  4. You can re-use Build Numbers in different release trains, but you cannot re-use Build Numbers within the same release train. For macOS apps, you cannot re-use build numbers in any release train.

Based on the checklist, the following (Version, Build Number) sequence is valid too.

  • Case: reuse Build Number in different release trains. (NOTE: NOT macOS app)

    (1.0.0, 1) -> (1.0.0, 2) -> ... -> (1.0.0, 11)
    -> (1.0.1, 1) -> (1.0.1, 2)

App Store Connect shows wrong build number

It's not a bug, it's a (new) feature.

Your build number must increment on every new build. A lot of people, including you, don't know that. So now, during the build submission, your build number is validated, and it is automatically incremented if necessary.

So that's what happened: your build number was corrected to 5; then you tried to lower it, which is illegal, and submitted again, and it was corrected to 6, which is right.

Note that the build number should be just a number, not a dotted version string.

Also, you can reset the build number to 1 if you up the user facing version string.

Xcode Manage Version and Build Number option


I have already increased my version and build number from Xcode before archiving. What should we do here?

If you are sure that you have already updated your version/build number before archiving, then you can uncheck this and this will be ignored.

If it is an automated way of build increment, what are the benefits of using it?

  1. It provides you a chance to change version/build just in case you forgot about it. There was no indication for this in previous Xcode versions.

  2. It allows you to change version/build number before export/upload (after archiving), previously you had to create a new archive if you wanted to change the version/build number.

Should iOS App first version be 1.0 or 1.0.0?

It doesn't matter. Version number visible in Appstore is the one you will set up when submitting. The first time you upload your build you can set any version number 1.0 or 0.9.0, then you should increment your version number and/or build number, otherwise itunesconnect will reject your binary.

P.S. you can find it useful: https://developer.apple.com/library/archive/technotes/tn2420/_index.html

Version number issue with App Store submission

Version 1.01 is the same as version 1.1 because the leading zero is ignored. Your new version must be higher, say 1.2

In App Store connect, select your new iOS version, 1.1 and change its version number, under "General App Information" to 1.2 and save your changes.

You can now upload version 1.2. build 1

Should I erase build number when uploading a new version?

Technically for an iOS app the build number could start from 0 (or 1) again. For a Mac app that is not allowed. Wether you SHOULD do that is a different question.

Convention is that the build number always increments, also after a version number change.

See Apple's description of this:
https://developer.apple.com/library/content/technotes/tn2420/_index.html



Related Topics



Leave a reply



Submit