App Store

    TestFlight Build Stuck in Processing: How to Clear It

    App Store Connect showing a TestFlight build stuck in the Processing state with a Missing Compliance prompt.

    A TestFlight build stuck in processing is usually one of three things: it is still processing normally, it is waiting on export compliance, or the binary failed and Apple emailed you an error. Processing normally takes minutes to about an hour, so first wait, then check your email for a processing error, and provide export compliance if the build shows a compliance prompt. If it is genuinely hung after several hours, the reliable fix is to upload a fresh build with a higher build number, because a stuck build rarely recovers on its own.

    Short answer

    Most stuck builds clear by waiting, answering export compliance, or re-uploading. Apple's TestFlight page shows a build as Processing while it validates the binary, which usually takes minutes to about an hour. If it sits longer, check your email for a processing-failed notice, then confirm you have provided export compliance information, often by adding the ITSAppUsesNonExemptEncryption key to your Info.plist. If it is truly hung after several hours, increment the build number and upload a fresh build, because a stuck one seldom recovers. Contact Apple only after a build number bump also fails.

    What "Processing" means and how long it should take

    Processing is the stage right after upload, while App Store Connect validates your binary, generates what it needs, and prepares the build for TestFlight. It normally takes from a few minutes to about an hour, and during busy periods it can run longer without anything being wrong. Seeing Processing for a while is expected, not a failure.

    The useful benchmark is roughly an hour. Under that, waiting is almost always the right move, and the build will appear on its own. Well beyond that, especially past several hours with no change and no email, is when Processing stops being normal and becomes something to act on. Knowing that line keeps you from either panicking early or waiting forever.

    Why a build gets stuck in processing

    A build appears stuck for a handful of distinct reasons, and matching the sign to the cause tells you what to do. It may simply be slow due to an Apple backlog, it may be waiting because you have not answered export compliance, or the binary may have failed processing, in which case Apple sends an email explaining why. Occasionally a build genuinely hangs and will not finish at all.

    The table below maps each cause to its sign and fix.

    CauseTypical signFix
    Normal processing or backlogUnder ~1 hour, no emailWait
    Export compliance pendingA "Missing Compliance" promptProvide export compliance
    Invalid binaryAn email describing an errorFix the issue, then re-upload
    Genuinely hungHours with no email or changeIncrement build number, re-upload
    Apple-side incidentOthers report the sameWait, check System Status

    Reading the sign first saves time, because the fixes do not overlap. Providing compliance will not unstick a failed binary, and re-uploading will not help a build that is simply slow but on its way.

    Fix 1: check your email for a processing error

    The first thing to check is the email associated with your Apple Developer account. When a binary fails to process, Apple does not always show a clear error in App Store Connect, but it sends an email describing the problem, such as an invalid binary, a missing icon, an unsupported architecture, or a bad entitlement. That email is often the fastest explanation for a build that never appears.

    If you find such an email, the build is not stuck, it failed, and the fix is to correct the named issue and upload again. Do not keep waiting on a build Apple has already rejected in processing. Reading the email turns a mysterious wait into a specific, fixable problem, which is why it is the first step.

    Fix 2: answer export compliance

    A very common reason a build seems stuck, or shows as unavailable to testers, is unanswered export compliance. Apps are asked whether they use non-exempt encryption, and until that is resolved the build can be held with a Missing Compliance prompt. You can answer it in App Store Connect by choosing Manage next to the build and completing the questions.

    The cleaner fix is to answer it in advance in your project. Add the ITSAppUsesNonExemptEncryption key to your Info.plist, set to the value that matches your app, so Apple does not need to ask, per Apple's export compliance guidance. With the key present, future builds skip the manual compliance step entirely, which removes this cause of a stuck build for good.

    Fix 3: upload a fresh build with a new build number

    When a build is genuinely hung, several hours in with no email and no movement, the reliable fix is to stop waiting and upload a new build. A build that is truly stuck in processing rarely recovers, so rather than fighting it, you supersede it. Increment your build number, since each upload within a version needs a unique, higher one, and upload again.

    A fresh build almost always processes normally, which confirms the previous one had simply hung. You do not need to cancel the stuck build, because you cannot directly, and it will eventually expire or be ignored. This is the single most effective move for a build that will not finish: a new build number and a re-upload, rather than more waiting.

    When to wait vs act

    Deciding between waiting and acting is mostly about time and signals. The checklist below gives a clear rule for each situation.

    SituationWhat to doEscalate?
    Under one hourWait, it is normalNo
    "Missing Compliance" is shownProvide export complianceNo
    A processing error email arrivedFix the issue and re-uploadNo
    Several hours, no email or changeUpload a new build numberNot yet
    A day or more, others are fineContact AppleYes

    The pattern is to give a normal window before doing anything, act immediately on a clear signal like an email or a compliance prompt, and treat a multi-hour hang as a re-upload rather than an escalation. Only a build that resists even a fresh upload is worth taking to Apple.

    When to contact Apple

    Contact Apple when a build stays stuck even after you have ruled out the common causes: no processing error email, export compliance provided, and a fresh build with a new number also failing to process. At that point it is beyond the usual self-service fixes and reasonable to ask for help. Use the Contact the App Review team page or Apple Developer Support, depending on whether it is a review or account matter.

    Include specifics so they can act: your app name and Apple ID, the build number and upload time, and what you have already tried. Keep expectations realistic, because during an Apple-side incident even a perfect binary will not process until Apple resolves it, and support cannot speed that up. Checking Apple's System Status first tells you whether the problem is yours or theirs.

    Before you re-upload, scan the build

    Because the common fix for a stuck build is to re-upload, and each upload starts processing over, it is worth making sure the build you send is one you actually want to ship. A build can process and reach testers while still carrying security issues that no processing check looks at, such as an embedded API key, cleartext traffic, or a debuggable flag left on.

    A scanner like PTKD.com analyzes your .ipa and returns findings ordered by severity and mapped to OWASP MASVS, so the build you re-upload is checked for security before it goes out. To be clear about the boundary: PTKD does not unstick a processing build, provide export compliance, or contact Apple. It checks the artifact you are about to upload, so a re-upload does not quietly ship a security problem along with the fix.

    What to take away

    • Processing normally takes minutes to about an hour, so wait before assuming a build is stuck.
    • Check your account email first, because a failed binary is reported there, not always in App Store Connect.
    • Provide export compliance, ideally by adding ITSAppUsesNonExemptEncryption to your Info.plist, to clear a Missing Compliance hold.
    • For a genuinely hung build, increment the build number and upload a fresh one rather than waiting.
    • Before you re-upload, scan the build with PTKD.com so a re-upload does not ship a security issue.
    • #testflight
    • #processing
    • #export compliance
    • #app store connect
    • #build upload

    Frequently asked questions

    How long should a TestFlight build take to process?
    Normally minutes to about an hour, and sometimes longer during busy periods without anything being wrong. Under an hour, waiting is almost always right, and the build appears on its own. Well past several hours with no change and no email is when Processing stops being normal and becomes something to act on.
    Why is my TestFlight build stuck in processing?
    Usually it is still processing normally or caught in an Apple backlog, waiting on unanswered export compliance, or a binary that failed processing, in which case Apple emails you an error. Occasionally a build genuinely hangs. Match the sign to the cause: an email means it failed, a Missing Compliance prompt means compliance, and silence for hours means it hung.
    How do I fix the export compliance issue?
    Answer it in App Store Connect by choosing Manage next to the build and completing the encryption questions, or, more cleanly, add the ITSAppUsesNonExemptEncryption key to your Info.plist set to the value that matches your app, then rebuild and upload. With the key present, future builds skip the manual compliance step and will not be held for it.
    Can I cancel a stuck processing build?
    There is no direct cancel for a build in processing. Instead, you supersede it by uploading a new build with a higher build number, which processes independently. The stuck build eventually expires or is ignored. So rather than trying to cancel it, increment the build number and re-upload, which is the reliable fix for a genuinely hung build.
    Will re-uploading with the same build number work?
    No. Each upload within a version needs a unique, higher build number, so re-uploading with the same one is rejected as a redundant binary. Increment the build number (CFBundleVersion) before you upload again. Keep the version string the same if you are not shipping a new release; only the build number needs to change.
    Should I scan the build before re-uploading?
    Yes. Since the fix for a stuck build is often to re-upload, make sure the build you send is one you want to ship. A scanner like PTKD.com (https://ptkd.com) checks your .ipa for embedded secrets, insecure storage, and network issues, mapped to OWASP MASVS. Processing does not look at security, so scanning ensures a re-upload does not quietly ship a problem.

    Keep reading

    Scan your app in minutes

    Upload an APK, AAB, or IPA. PTKD returns an OWASP-aligned report with copy-paste fixes.

    Try PTKD free