210
votes

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.

10
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
@chhi were you able to upload the build to itunes?Dhara
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

10 Answers

375
votes

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?

31
votes

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

15
votes

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

13
votes

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!

10
votes

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.

10
votes

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:

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

9
votes

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.

5
votes

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
votes

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.

4
votes

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.