I have just updated to Xcode 13 Beta and I am about to upload my first build to App Store using this version of Xcode. This version of Xcode shows a new App Store Connect distribution option which I previously haven't seen:
Manage Version and Build Number
This will change the version and build number of all content in your app to 1.2 (3).
I have already increased my version and build number from Xcode before archiving. What should we do here? If it is an automated way of build increment, what are the benefits of using it?
These are the actual software version numbers, as opposed to the values used for marketing. If you go to Xcode menu > About Xcode, you'll see the Version and Build numbers. If you hit the More Info... button you'll see a bunch of different versions. Since the More Info...
To see your macOS version and build numbers on a Mac, choose Apple > About This Mac and click the version number. In iOS or iPadOS, go to Settings > General > About and tap Software Version. For watchOS, in your iPhone's Watch app, go to General > About and look at the Version line.
A build number is a specific identifier that lets you know what software you're running as well as when it was updated last. That means your Android build number will change pretty frequently — maybe every month, depending on your device.
If you don't know where to find something on Android, the Settings menu is always a good place to start. It's the same for finding out what version of an app you're running. Once in Settings, tap Apps and notifications (or your phone manufacturer's name it).
Lets have a look, closely. Generally, the Version number is a 4 decimal number something like 7.0.234.675. These numbers signify : 1. Major 2. Minor 3. Build and 4. Revision number of the software. Lets explore these individually. 1.
The build number identifies an unreleased or released version of your application. It is stored in your application’s Info.plist as CFBundleVersion ( Bundle version ). See the Information Property List Key Reference for more information about these keys.
Consider a team releasing the revisions of a build every night, the revision number will be incremented each night. Although, Vastly followed, this versioning system is not a de facto standard that is followed by every single company in the universe. Some companies opt to use just Major and Minor numbers or sometimes Major, Minor and Build.
To offset your version number by your Bitrise build number every time a build is triggered, use the $BITRISE_BUILD_NUMBER Environment Variable: For Android apps, find the versionCode Offset input of the Change Android versionCode and versionName Step and set $BITRISE_BUILD_NUMBER as its value.
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 the version
/build
number.
For folks using fastlane and struggling with Xcode changing build version.
New in Xcode 13:
When uploading an app to App Store Connect, the distribution assistant in Xcode detects whether your app has a valid build number (CFBundleVersion). If your app has an invalid number (like one that was used previously, or precedes your current build number), the distribution assistant provides an option to automatically increment it to a valid number. In addition, the distribution assistant ensures that the build numbers of all embedded content in your app (such as app extensions, App Clips, or watchOS apps) are in sync with your app. Note that this doesn’t modify your source code or your archive; Xcode updates the build number in a staged copy of your app before packaging and uploading it to App Store Connect. (59826409)
When using fastlane for building and releasing apps, you can pass "manageAppVersionAndBuildNumber: false" parameter to export_options of build_app action to disable xcode version change.
build_app( scheme: "your_app_scheme", export_options:{ manageAppVersionAndBuildNumber: false })
i ran into something unexpected with this - it also changes version numbers of frameworks embedded into the app.
https://developer.apple.com/forums/thread/690647
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With