PC パソコン

App Store Connect “Invalid Binary”: Causes and Fixes

After uploading an app from Xcode to App Store Connect, a build may be marked as “Invalid Binary” and become unavailable for TestFlight or App Store review. This status means the upload reached Apple, but the binary failed one or more validation checks. The underlying cause can involve signing, the bundle identifier, Info.plist values, SDK requirements, embedded frameworks, version numbers, or privacy-related configuration. Because “Invalid Binary” is only a summary status, the most important step is to find the specific validation message returned by Apple.

What does Invalid Binary mean?

“Invalid Binary” is not a single Xcode error. It is a status App Store Connect applies when an uploaded binary does not satisfy one or more distribution requirements.

Invalid Binary

The status alone does not identify the root cause. Check the build details in App Store Connect, the upload or validation result in Xcode Organizer, and any email from Apple that contains a more specific ITMS-xxxxx error or validation message.

Common situations that cause Invalid Binary

  • The Bundle Identifier does not match the app registered in App Store Connect.
  • The signing certificate and provisioning profile are inconsistent.
  • Required Info.plist keys are missing or contain invalid values.
  • CFBundleVersion or CFBundleShortVersionString is invalid or conflicts with a previous upload.
  • The app was built with an unsupported SDK or an outdated Xcode version.
  • An embedded framework has an invalid signature or unsupported architecture.
  • Simulator-only architectures are included where they should not be.
  • An embedded app or framework contains invalid Info.plist settings.
  • Required privacy usage descriptions or entitlement-related settings are missing.

What to check first

1. Check the build in App Store Connect

Open the app in App Store Connect and inspect the affected build. Look for any validation details or warnings associated with the “Invalid Binary” status.

2. Check Apple’s email

When a binary fails processing or validation, Apple may send an email describing the actual reason. An ITMS- error code or the exact validation message in that email is usually the most useful clue.

3. Check Xcode Organizer

In Xcode, open Window > Organizer, select Archives, and choose the archive that was uploaded. Review the validation and upload logs for messages that match the problem reported by App Store Connect.

Fix 1: Verify the Bundle Identifier and signing settings

Open the target’s Signing & Capabilities settings and verify the Team and Bundle Identifier. The Bundle Identifier must correspond to the app you created in App Store Connect.

Even when Automatically manage signing is enabled, confirm that Xcode selected the intended Team and Bundle Identifier before creating the archive.

Fix 2: Check the version and build number

Open the target’s General settings and review Version and Build. Use a build number that is newer than previous uploads for the same app version.

Version: 1.2.0
Build: 15

If you manage these values through Info.plist, verify the following keys:

CFBundleShortVersionString
CFBundleVersion

Fix 3: Review Info.plist

Invalid or missing Info.plist values can cause the binary to fail validation. Check bundle-related keys, supported-device settings, URL schemes, and any privacy usage descriptions required by the APIs your app uses.

To inspect the Info.plist that actually ended up inside the archived app, extract the .app and use plutil:

plutil -p Payload/YourApp.app/Info.plist

Fix 4: Check embedded frameworks

If the app uses CocoaPods, Swift Package Manager, or manually embedded frameworks, verify their signing and embedding configuration. In the target’s General tab, review Frameworks, Libraries, and Embedded Content and confirm that frameworks are embedded only when required.

You can also inspect the signature of an embedded framework with codesign:

codesign -dv --verbose=4 YourApp.app/Frameworks/Example.framework

Fix 5: Create a fresh archive

After changing signing, bundle, or Info.plist settings, create a new archive rather than reusing an older one.

  1. Run Product > Clean Build Folder.
  2. Delete DerivedData if necessary.
  3. Verify the distribution configuration.
  4. Run Product > Archive.
  5. Use Validate App in Organizer.
  6. If validation succeeds, upload again with Distribute App.

Fix 6: Validate before uploading

Running Validate App from Xcode Organizer before the upload can catch signing, bundle, and packaging problems earlier. This makes it easier to correct the archive before sending it to App Store Connect.

Useful commands for inspecting the archive

When necessary, inspect the app’s signature and Info.plist directly:

codesign -dv --verbose=4 YourApp.app
plutil -p YourApp.app/Info.plist

To decode the embedded provisioning profile, use:

security cms -D -i YourApp.app/embedded.mobileprovision

Important note

“Invalid Binary” describes the result of Apple’s validation, not the actual root cause. Two apps can show the same status for completely different reasons. Always use the specific ITMS error or validation message returned by Apple as the primary troubleshooting clue.

App Store Connect requirements can also change over time. A project that uploaded successfully in the past may later require a newer Xcode version, SDK, signing configuration, or metadata adjustment.

Summary

If App Store Connect shows “Invalid Binary”, start by finding the exact validation error returned by Apple. Then check the Bundle Identifier, signing settings, version and build number, Info.plist, embedded frameworks, and the Xcode/SDK version used to create the archive. After fixing the issue, create a fresh archive, validate it in Organizer, and upload it again.