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.
- 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.
- You cannot re-use Version Numbers.
- 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).
- 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?
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.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 theversion
/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
Center Content of Uiscrollview When Smaller
In iOS 12, When Does the Uicollectionview Layout Cells, Use Autolayout in Nib
Uicollectionview Cell Subviews Do Not Resize
Trying to Set Only Time in Uidatepicker in Swift 2.0
iPhone Gps in Background Never Resumes After Pause
What Is Export * in Module.Modulemap File Inside Each Framework
How to Programmatically Fake a Touch Event to a Uibutton
How to Compile for Arm Rather Than Thumb in Xcode 4
How to Distinguish Between Locking the Device and Sending an App to Background
Change Text Color of Items in Uiactionsheet - iOS 8
iPhone "Slide to Unlock" Animation
Force Landscape Mode in One Viewcontroller Using Swift
Real Time Blur Effect for Navigation Bar
Performance Testing in Swift Using Tdd
Custom Alert (Uialertview) with Swift
Auto-Renewable Subscription in iOS7
Rotation Methods Deprecated, Equivalent of 'Didrotatefrominterfaceorientation'
"Do Not Embed", "Embed & Sign", "Embed Without Signing". What Are They. What They Do