Home > Net >  App Store: If my last production release was v4.1.5 but last TestFlight was v5.2.0, can I release 4.
App Store: If my last production release was v4.1.5 but last TestFlight was v5.2.0, can I release 4.

Time:09-20

My last Production release on App Store Connect was v4.1.5 and the client wants the next Production release to be 4.1.10, but we've released build to TestFlight in the interim up to v5.2.0. Is it possible to release v4.1.10 to Production?

CodePudding user response:

The only limiting factor is that you cannot upload versions equal or smaller than a released version. No matter what you have in TestFlight.

So if you have 4.1.5 in the AppStore, you can upload and release anything higher (>=4.1.6). There are no limitation set by TestFlight versions.


More in details:

The version and build numbers are not related, they are 'combined' by comparing the build number only if the version number is the same.
So if version 1.2 is in the AppStore and I need to issue a HotFix to it, I can still have a 1.3 in TestFlight but upload a 1.2.1 HotFix to TestFlight and the AppStore as well.
While I'm working on the HotFix 1.2.1, I can upload as many builds to 1.2.1 as needed: 1.2.1(1), 1.2.1(24) or 1.2.1(9874). When 1.2.1 will be released, the build number will not be relevant.
In a git repo, we create a tag with a version number only, since there can only be one unique version release. I cannot have two 1.2.1 versions in the AppStore, so a 1.2.1 tag is enough, there will not be a future 1.2.1 upload.

CodePudding user response:

If you've already uploaded the desired 4.1.10 binary and you simply want to release it to the App Store, fine.

But if you've never uploaded the desired 4.1.10 binary and you have uploaded a binary 5.2.0, then no, you cannot upload anything with a lower build number, so your next App Store release will have to be 5.2.0 or higher.


By the way, to get around this problem, just don't up the version number of your test flight uploads (e.g. 4.1.5). All you have to do is up the build number, which is just an integer. So all this time you could have been sending 4.1.5 (1), 4.1.5 (2), and so forth, to test flight. Unfortunately you didn't do it that way.

  • Related