Hopefully this is a simple question and I'm struggling to understand how xCode & iTunes Connect use and check the xCode applications Version & Build numbers. Also I'm dealing with a legacy application that has never managed the build numbers correctly and is already available via iTunes.
What I'm trying to do is use the version number for exactly that, versioning and want to have version number as follows:
1.0.0
1.0.1
1.1.4 etc etc
The build number we increment each time we issue an internal build and is just a number similar to 102, this just increases.
My understanding so far is that when I upload a new version of the application the build number has to be greater than the previous release. But does this process take into account the version number. So....
Version : 1.0.0 Build : 100 <<<<< This is the initial iTunes release
Version : 1.0.0 Build : 101 <<<<< For this the build number must be greater than previous
Version : 1.0.1 Build : 001 <<<<< Would this work and Itunes accept it?
If this is not how it works I'm assuming there's no way to reset version & build number so they work correctly once they have been submitted to iTunes?
What XCode shows as Build in the General tab of the target properties is in fact the Long Version String and what it shows as Version is the Short Version String.
When you submit an update to the iTunesConnect, both the Version and the build have to be greater than the previous version and build on the AppStore.
From Apple Developer site:
Build - CFBundleVersion in info.plist
Version -
CFBundleShortVersionString in info.plist
The Version is what shows up on the iTunes App Store and the Build is what only the developer and iTunes Connect can see.
Related
I am trying to submit my build for a mac os app to testflight but i get the error -
This build is using a beta version of Xcode and can’t be submitted.
Make sure you’re using the latest version of Xcode or the latest seed
release found on the releases tab in News and Updates
I am using Xcode Version 14.2 (14C18), I am not sure if its beta, but it is the latest one available in the app store.
Do I need to downgrade to some previous version or there is some other issue? Thanks.
After hours of debugging I found the issue. My Info.plist file was missing several metadata info like -
<key>DTXcode</key>
<string>1331</string>
<key>DTXcodeBuild</key>
<string>13E500a</string>
After adding those testflight accepted the build.
A made a fastlane script to make test flight builds and let's say that at the moment I am working on version 2.5.4 of my app, which is in the app store.
I need to do the following things, in order:
Make a test flight build for 2.6.0, and have it tested
Update the test flight version 2.5.4 by making a new build and have it tested
Make a test flight and an app store build for 2.5.5
Resume with 2.6.0, make new test flight builds and release it
Now the problem is that the script always fails if I don't increase the version. I didn't try to do it because I am afraid that it will not be possible to go back. Question: if now I make a test flight build for 2.6.0, will it be possible to go back to 2.5.4/2.5.5 or I will be able to change the version only sequentially?
First to make sure we're talking about the same thing:
The AppStore App Version should be 2.6.0 and it has nothing to do with the "testflight build" version. The user sees version 2.6.0 in the application but does not know which build you are using in the background.
Once you upload a "testflight" build, you cannot delete it and you cannot upload another with the same version number, and that is your problem as far as I understand.
What would I do in your place ->
Increment the build number, not the version number, so you can upload the build to testflight and not have to worry about being able to revert to a version.
I am not sure about the answer to your question, but as far as I know you can go back to the old version, you just cannot upload the same version twice.
I am using Google play store Managed publishing feature. I have multiple app versions as below in the "Changes ready to publish" state in the Google Play console. I would like to only publish v6.6.1 as staged rollout, but I wonder if v6.6.0 will also be published when I publish the releases. I dont want v6.6.0 to be pubished, would prefer if it could be deleted but there was no way to remove an approved release.
Any assistance is much appreciated.
Option 1:
I think this could be done by going to Google Play Console and select App bundle explorer from the left menu.
then chose the App version 6.6.0 click on Upload new version
you should upload a version that is identical to the version previous to 6.6.0 but with same 6.6.0's version code & same version name (6.6.0).
Note: I've never tried this before, but I noticed it in the new Google Play Console.
Option 2:
upload a new version that is identical to the version previous to 6.6.0 but with new version code (highest version code, higher than 6.6.1 version code) and version name 6.5.9 (for example)
submit it as full roll-out
upload a new version that is identical to the version previous to 6.6.1 but with new version code (highest version code, higher than 6.5.9 version code) and version name 6.6.1 with Staged roll-out = 1%
I did my build numbers as 1, and then 2.
Does this matter - is it just a mater of preference as to how you do them?
The Build Number (or CFBundleVersion) is not shown in the App Store so for the user it does not really matter.
The purpose of the Build Number is that developers can distinguish different builds using the same Version (CFBundleShortVersionString).
Consider you are working towards a version 2.1.0. Before you publish this version on the App Store, you probably want to distribute Beta builds to testers. If they report any issues and you fix them, you will need to create and upload a new build but probably still use the version 2.1.0. In that case you would use the Build Number to distinguish the two version.
You can use whatever you like as a build version. Apple provides a tool to increase the Build Number in Xcode projects named agvtool.
Another way (and what I personally do) is to use the git commit count as the Build Number. This can be automated via a Build Phase. That way, every change that you make (and commit) automatically increases your Build Number.
I have uploaded an IPA with below details:
version - 1.0.4
build - 1.0.4
the above IPA is in my Activity section in iTunes connect.
My question is can I upload an IPA with below detail:
version - 1.0.5
**build - 1.0**
Please suggest.
YES You can do it, if the app version is changed from 1.0.4 to 1.0.5 than you can set the build version to 1.0
It's allowed with iOS, although macOS it is not.
All of the builds that you provide for a particular version of your app is called that version's "release train" (eg. 1.0.4, 1.0.5, etc). For iOS Apps you can use the same build numbers again in different release trains if you want to.
For macOS apps, build numbers must monotonically increase even across
different versions. In other words, for macOS apps you cannot use the
same build numbers again in different release trains. iOS apps have
no such restriction and you can re-use the same build numbers again in
different release trains.
↳ Version Numbers and Build Numbers