Your build uploaded but never shows up for testers? Here's how to diagnose and fix builds stuck in processing, missing export compliance, and the invalid-binary emails Apple sends.
You archived in Xcode, the upload succeeded, and then nothing. The build does not appear in the TestFlight tab, or it appears with a status like Processing that never seems to clear.
Sometimes the build shows up but is flagged as Missing Compliance, blocking you from assigning it to testers.
Other times you receive an email from Apple titled something like "Invalid Binary" shortly after upload, and the build silently disappears.
All three of these are common, and all three are fixable. The key is to figure out which case you are in, because the remedies differ.
The most benign cause is simply that processing has not finished. After upload, App Store Connect must process your binary before it becomes available.
This usually takes a few minutes, but during busy periods or with large apps it can take noticeably longer. A build that has been processing for ten minutes is not yet a problem.
Before assuming something is broken, give it reasonable time and refresh the TestFlight tab. Many "stuck" builds are just builds you checked too early.
If it has been processing for hours with no change, then you are likely in one of the failure cases below rather than a normal delay.
Understanding what App Store Connect does after upload makes the stuck-processing cases far less mysterious. When your binary arrives, Apple runs a series of automated checks and preparation steps before the build is testable.
Those steps include validating the binary structure, checking required metadata and Info.plist keys, and preparing the build for distribution. Larger apps and busy periods naturally make this take longer.
This is also when many invalid-binary problems surface, which is why a rejection email often arrives during or shortly after processing rather than at upload time. Upload succeeding only means the file transferred, not that it passed these checks.
Knowing this distinction helps you set expectations. A successful upload in Xcode is the start of processing, not the finish line, so a short wait afterward is completely normal.
Once processing completes cleanly, the build becomes assignable in the TestFlight tab, and only then can you push it to testers.
If your build appears but is marked Missing Compliance, App Store Connect needs to know about your app's use of encryption before it can be distributed.
Many apps that use only standard encryption, such as HTTPS, qualify for an exemption, but Apple still needs you to declare it. You can answer the compliance questions directly in the TestFlight tab when prompted.
To avoid being asked every build, you can set the ITSAppUsesNonExemptEncryption key in your app's Info.plist. Setting it appropriately lets App Store Connect determine your encryption status without prompting each time.
Answer these questions accurately based on what your app actually does. If you use non-standard or proprietary encryption, you may have additional documentation obligations, so consult Apple's official export compliance guidance rather than guessing.
If you got an Invalid Binary email and the build vanished, processing detected a problem with the uploaded artifact. The email usually names the specific issue.
Common culprits include unsupported architectures, missing or invalid Info.plist keys, an icon asset that does not meet requirements, or a binary built against an SDK Apple no longer accepts.
Read the email carefully, because it typically identifies the exact rule that failed. That message is your fastest path to the fix.
Once you correct the underlying issue in Xcode, you must increment your build number and upload again. The rejected build number is consumed, so reusing it will cause another failure.
Occasionally a build sits in Processing far longer than any normal delay and never produces an email. This can happen due to transient App Store Connect issues or a problematic binary.
First, rule out the simple things. Confirm the upload actually completed in Xcode's Organizer and that you are looking at the correct app record and version.
If it is genuinely stuck for an extended time, the most reliable remedy is to increment the build number and upload a fresh build. A new build often processes cleanly when a stuck one will not.
If repeated fresh uploads all stall, check Apple's system status page for App Store Connect outages, and if everything looks healthy on Apple's side, contact Apple Developer Support.
A surprisingly common reason a build seems missing is that you are simply looking in the wrong place. If you belong to more than one team, confirm you are signed into the App Store Connect account that received the upload.
Check that the build went to the intended app record. A bundle ID that matches a different app record will route your build somewhere you are not looking.
Also confirm you are viewing the correct version in the TestFlight tab. Builds are grouped under their marketing version, so a build can be present but filed under a version you did not expect.
These mix-ups produce all the symptoms of a stuck or missing build without anything actually being broken. A quick check of account, record, and version rules them out before you start troubleshooting harder problems.
When in doubt, cross-reference the exact version and build number shown in Xcode's Organizer against what App Store Connect displays.
Start by identifying your case. Is the build absent, present-but-missing-compliance, or did you get a rejection email? That single question routes you to the right fix.
For missing compliance, answer the encryption questions or set ITSAppUsesNonExemptEncryption in Info.plist, then assign the build.
For an invalid binary, read the rejection email, fix the named issue in Xcode, bump the build number, and re-upload.
For a genuine stuck state, wait a reasonable interval, then re-upload a fresh build with an incremented number. Check Apple's system status if the problem persists across multiple attempts.
Set your encryption compliance key in Info.plist once, so you stop seeing the Missing Compliance prompt on every build.
Validate before you upload. Xcode's Distribute flow includes a validation step that catches many invalid-binary problems before they reach App Store Connect.
Keep Xcode and your SDK reasonably current. Builds made against very old SDKs can be rejected, and staying updated avoids that whole category of failure.
Finally, automate build-number incrementing. Since both rejections and stuck-build recovery require a fresh build number, never reusing one removes a recurring source of confusion and failed re-uploads.
Processing typically takes a few minutes, though it can be longer during busy periods or for large apps. A build processing for hours with no status change usually indicates a problem rather than a normal delay.
It means App Store Connect needs you to declare your app's encryption usage before distribution. Many apps using only standard encryption like HTTPS qualify for an exemption, which you can declare by answering the prompt or setting ITSAppUsesNonExemptEncryption in Info.plist.
Apple likely sent an Invalid Binary email because processing found a problem, such as an unsupported architecture or an invalid Info.plist key. Read the email, fix the named issue, increment the build number, and re-upload.
No. A rejected or processed build number is consumed. You must increment the build number before re-uploading, or App Store Connect will reject the new upload too.
Confirm the upload completed and you are viewing the right record, then upload a fresh build with an incremented number. If repeated uploads stall, check Apple's system status page and contact Apple Developer Support if needed.