211

I am trying to upload my build on iTunes Connect via Xcode 5.1.1 but it is continuously showing that it is loading and app is not getting uploaded. So I have tried uploading with Application Loader but its showing the below error:

ERROR ITMS-9000: "Redundant Binary Upload. There already exists a binary upload with build version '1.0' for train '1.0'"

App status on iTunes is Waiting for Upload. One time the upload was successfully done, but the status is not reflecting and it's now allowing to upload again.

Also I just checked that website is also changed. Don't know what's wrong.


Edit: There was no submit for review button on apples new website. But now I can see that button. That has solved my issue. Also I recommend to upload the build using Application Loader as it's quicker than organizer.

pkamb
  • 33,281
  • 23
  • 160
  • 191
Dhara
  • 4,093
  • 2
  • 36
  • 69
  • 8
    Apple so crazy now. Ituneconnect website also change. I stucked 1hour to look around of this website for updating new version of my app. – Sovannarith Sep 05 '14 at 08:35
  • @chhi were you able to upload the build to itunes? – Dhara Sep 05 '14 at 09:00
  • 2
    I am experiencing the same problem. I had to reject my binary after we found a problem which I fixed and tried to upload the replacement binary. I've logged it with the Apple Bug Reporter. (#18257715). Please go let the know you are also having this problem so they prioritize it. – Brennan Sep 07 '14 at 16:52

10 Answers10

376

More than one binary may be uploaded to App Store Connect for the same version, if the the Build number is increasing for each build uploaded to iTunesConnect. The build number just has to be unique (and higher) for each binary that is uploaded (select the Target, then Xcode -> General -> Build, see the picture below). For example in the image below the build uploaded has version 3.1.4 (3.75 in the older image) and the build number is 1. Thus, after uploading this image increase the build to a minimum 2 or higher. Then this binary may also be uploaded to App Store Connect as it's a later build according to the build number.

The version notes the release version of the app your releasing to the user. The build number remarks the final build of the binary uploaded to the store, i.e. after many bug fixes.

After Xcode 9 you are not able to upload a new build (for the same version), if there is a previous build with the same build number in the store. So, check your build number and increase if not certain.

EDIT: It's more correct to use 1, 2, 3, 4, etc. for the build number, but the version number has to be increasing, 1.0 -> 1.1 -> 1.2 etc. The build number has to be higher than what was submitted previously for the same version number, if not an error is posted. So, if a new binary is submitted that has version 3.75 and a build 1 has already been submitted, then next build shall be 2 or higher, but the version can still remain 3.75.

New updated and the recommended way of having the build numbers serial: enter image description here

The older image to match the one below: Showing where to set the Build Version in XCode

After a new binary is uploaded and processed (~5-20 min processing time, if it doesn´t show up upload again and wait), then you can select the new binary and submit it for review. In the picture below you may see the old and the new binary listed in App Store Connect in the Build section of the current App version (you click the plus sign). Then the new binary is selected -> Saved -> Submit for Review. (Sometimes an error comes when submitting, then just try after a few mins or upload a new binary).

Showing list of binaries in iTunesConnect

For those inclined to do this automatically with an Xcode script, here is a description of making an automatic script for updating Build numbers Better way of incrementing build number?

Sverrisson
  • 17,970
  • 5
  • 66
  • 62
  • 1
    Thanks, I managed to get past this error by changing my build number to use format, YYYYMMDDhhmm, which I can update each time I push a new build to the App Store with the current date and time. I would like to automate the build number change though. – Brennan Sep 08 '14 at 17:25
  • @Brennan I added a link to instructions on making Build numbers increase automatically. – Sverrisson Sep 09 '14 at 11:00
  • @HannesSverrisson what do you recommend for those of us who already use three parts in our version numbers? – Simon Sep 18 '14 at 15:24
  • @Simon I guess that you would have to add the build as the fourth part. The client will never see the build number in the App Store. – Sverrisson Sep 18 '14 at 16:42
  • @HannesSverrisson but we're no longer allowed to use a fourth part! – Simon Sep 19 '14 at 13:50
  • @Simon, sorry I did´t know that. So, I guess, the only way for you is too review your numbering policy. You might have the last part two digits 01 and then the build in Hex 0A, then last part is 010A etc. – Sverrisson Sep 19 '14 at 14:02
  • Apple used to let you manually clean up any unwanted binaries. Looks like not anymore, as they've decided to key off of the build number that's set in the `.plist` file. – aroth Dec 05 '14 at 04:31
  • What about this issue ? http://prntscr.com/8xcu7o Please notice the build still processing when its already 3 days since the build is uploaded. – Pradeep Mittal Oct 31 '15 at 08:02
  • the weird thing is that even if you delete your first binary uploaded and try to upload a new one, you will get this error unless you increase the build. – dang Jan 01 '17 at 12:39
  • @dang You can't delete the first binary from Apples servers, it's still there. You can check by re-adding the previous binary. – Sverrisson Jan 01 '17 at 13:24
  • As of xcode 9, the binary build doesn't even have to be uploaded to iTunes connect, if a redundant build exists in you Archives list in the local machine Xcode will yell at you. – Anjan Biswas Dec 01 '17 at 23:57
  • @HannesSverrisson actually, what I wrote isn't correct. There was a delay in the build showing up in iTunes connect. And I was uploading the same build again and that's why it gave an error. There no need to delete the builds from the archive list. – Anjan Biswas Dec 03 '17 at 22:08
32

I don't know why people are putting a float in build number.

The standard way in my opinion is to put an integer in build number and a float or dotted string for version.

i.e.

     Version: 1.0.0
     Build: 2

enter image description here

atulkhatri
  • 10,896
  • 3
  • 53
  • 89
  • 5
    I totally agree. All these people using the same number for both fields are really missing the point. Version number is the public version you are hoping to release. Build number is the internal, well, build number! It goes up each time you build your app for testing, so you have a reference to bug track it which changes whenever the code does. This is why test flight lists your builds the way it does. Eg. Version 1.0.0 (2) It depends on your company how you structure the build number. Sometimes, testing stages require separate levels, so floats are fine too really. – Simon Tillson Oct 27 '15 at 12:21
  • I can not agree with you more. You will find that it's Xcode's default strategy if creating a totally new project. – DawnSong Dec 18 '15 at 02:45
15

You will need to just change the Build and Its version. In store live version : 1.1 For upload new version : 1.2 (Here if you fail to upload with 5.1.1 or earlier version) then again need to upload so New upload will be : 1.3

Now go iTunesconnect account login Apps> Select your app > In Build section remove old by click on (-) again select by click (+) here you see all build select last one then Done, Save it then submit for review. Also check attached screenshot. enter image description here

Alpesh Patoliya
  • 263
  • 1
  • 3
  • 7
13

Definitely it is not possible to delete old build from iTunes Connect before uploading its newer version. iTunes Connect interface is just not as advanced for this operation.

But actually you don't need to delete it (let Apple take it for themselves if they like). You need to change your Build number (not Version number) and upload it again.

For example if you have Version number 1.0 with Build number 1.0 then change Build number to 1.0.1 and leave Version number as it is 1.0. Then upload it - and iTuned Connect will accept newer build. All the rest is quite obvious. Good luck!

Kibernetik
  • 2,947
  • 28
  • 35
  • 1
    The problem is that some libraries and frameworks use the build number as the version number. – Genki Oct 09 '14 at 17:44
10

I noticed that Apple takes a lot of time before a build becomes available for submission. I uploaded my build a couple of times before I could select it. By than my build was invalid because the same build version was a couple of times on the server and I got the "Redundant Binary Upload" mail.

In my case I could select the new binary 15 minutes after uploading the build (with new build number) form Xcode.

kees
  • 199
  • 7
  • So what you did when you got "Redundant Binary Upload". Because I got the similar mail from Apple and my application is showing "Waiting for review" – Ekra Oct 22 '14 at 09:42
  • In my case i think this is the reason i do see my all of my uploads at "builds" tab at itunes connect...even though i have being waiting for 50 minutes and still nothing...hopefully in the following hours ill get my builds enable on versions tab so i can submit for review – d1jhoni1b Oct 29 '14 at 17:13
  • In my case this took more than 45 minutes but this was the main reason it seems there is a huge delay between each time you upload from XCode to iTunes connect – d1jhoni1b Oct 29 '14 at 17:17
10

I tried increasing the build number out to 3 decimals (eg. 1.5.1) and that still got me the redundant binary error. After I added one more decimal (eg. 1.5.1.0) it worked!

Screen Shot of my settings:

https://i.stack.imgur.com/daKBA.png

jww
  • 97,681
  • 90
  • 411
  • 885
user3730468
  • 211
  • 2
  • 4
  • 1
    For me just three level version number worked. The only thing I noticed is that `1.1.0` is treated as `1.1`. So, I had to try `1.1.1` instead of `1.1.0` – Adil Malik Mar 21 '15 at 14:30
9

I need to warn you that almost all answers here (including accepted one) promote non-conventional way for numerating builds.

This is not critical, but it's always better to stick with convention, so I encourage you to check out this answer to get an idea on how to numerate your builds.

And yes, answering the original question, all you have to do is to increment your build number. Properly.

Community
  • 1
  • 1
nalexn
  • 10,615
  • 6
  • 44
  • 48
5

I just went through the same issue. Unfortunately I had created version 1.0.1 of my app and uploaded a binary with the same version which got rejected as invalid. There was no way for me to reject the binary from the system afterwards so I had to first figure out what the reason for the rejection was and then change the app version to 1.0.2 on both iTunes Connect and the new uploaded binary with the correct code fixes. It is now sitting at Waiting for Review.

The first 3 times I attempted this, the binary was rejected almost immediately. It took me about 2 hours to figure out my rejection reason which was to remove 'arm64' from the Valid Architectures. I hope this helps you.

4

I wanted to upload version 2.4 of my app and got exactly that error message. This was the first upload of the version and there was definitely no binary existing on iTunesConnect.

I could easily solve this by changing the build version from 2.4 to 2.4.0. There is no need to increment the version. I guess iTunes just expects a three-part version number for the build version.

codingFriend1
  • 6,487
  • 6
  • 45
  • 67
4

I simply increased the version number first inside of iTunes connect. This allowed me to upload a new version of the binary and had no problems.

stebooks
  • 2,317
  • 1
  • 20
  • 10