Error Fix

Error 90189: Redundant Binary Upload

Updated August 2026 · 4 min read · by the MacFree team
Short answerYou uploaded a build whose build number was already used for that version. Every upload needs a unique CFBundleVersion that is higher than any previously uploaded for that version string. Increment it — or better, stamp it automatically so it can never repeat.

The message reads: "You've already uploaded a build with build number '1' for version number '1.0'." It's a bookkeeping error, not a code problem — but it wastes an entire build cycle each time it happens.

Version vs build number

Two separate fields cause most of the confusion:

FieldUnity settingPurpose
Version (CFBundleShortVersionString)Player Settings → VersionPublic version, e.g. 1.0
Build (CFBundleVersion)Player Settings → iOS → BuildInternal counter, must be unique per version

The high-water mark trap

Apple remembers the highest build number ever uploaded for a version. If a build numbered 15995 was uploaded once, then 2, 3 and 100 are all permanently rejected for that version.

This catches teams who switch build systems. A CI service using a small incrementing counter cannot upload after any build with a large timestamp-style number has been accepted.

The manual fix

Open Player Settings → iOS → Build and set a number higher than any you've uploaded for the current version, then rebuild and upload.

The permanent fix: stamp it automatically

Relying on a human to bump a number before each upload guarantees this error will recur. Generate it instead, using something monotonic — a timestamp-derived value works well:

Related upload rejections

If you're iterating on uploads, two neighbours of this error are worth knowing: ITMS-90035 for signing with the wrong certificate type, and ITMS-91111 for a non-opaque app icon.

Never hit 90189 again

MacFree stamps a unique, increasing build number on every upload automatically.

Get MacFree on the Unity Asset Store →

Frequently asked questions

What does error 90189 redundant binary upload mean?

It means you uploaded a build whose build number was already used for that version. App Store Connect requires every upload to have a unique CFBundleVersion that is higher than any previously uploaded build for the same version string.

How do I fix the redundant binary upload error in Unity?

Increase the Build number in Player Settings under iOS so it is higher than any build previously uploaded for that version, then rebuild and upload. Automating this with a timestamp-based value prevents it recurring.

What is the difference between version and build number in iOS?

The version, CFBundleShortVersionString, is the public version such as 1.0. The build number, CFBundleVersion, is an internal counter that must be unique and increasing for each upload within that version.