App Store

    TestFlight Build Processing Taking Hours (Is it Stuck?)

    A TestFlight build stuck in processing while Apple's System Status page is checked for an App Store Connect outage before uploading a new build number.

    If your TestFlight build has been processing for hours, it is usually not permanently stuck, and the first thing to do is check Apple's System Status page for a TestFlight or App Store Connect outage, because server-side processing occasionally hangs across all developers. Processing normally finishes within minutes to about an hour, so a few hours is slower than typical but not alarming, especially during a service issue. If there is no outage and the build has been processing well beyond a normal wait with no movement, the usual fix is to upload a new build with an incremented build number, which starts a fresh processing job and clears a genuinely stuck one. A build stuck in processing does not affect any app you already have live.

    Short answer

    Processing for hours is usually a delay, not a permanent stall, so check for an outage before acting. Per Apple's System Status page, TestFlight and App Store Connect issues are posted there, and server-side processing can hang globally, which explains a long wait you cannot fix. Per Apple's TestFlight documentation, processing normally completes within minutes to about an hour. If there is no outage and the build is genuinely stuck well beyond that, upload a new build with a higher build number to start fresh processing. Do not cancel in a panic; a stuck build does not affect a live app, and re-uploading is the common remedy.

    What processing is and how long it takes

    Processing is the server-side work Apple does on your uploaded build before it is available in TestFlight, including preparing and validating the binary and its assets, and it happens after the upload completes but before you can distribute the build. During this phase App Store Connect shows the build as processing, and you cannot yet send it to testers. It is entirely on Apple's side, so it is not something your machine or your upload is still doing once the upload finished.

    In normal conditions, processing finishes within minutes to about an hour, and often faster, so most builds move out of processing quickly. A wait of a few hours is slower than typical but happens under load or during minor server delays, and it does not by itself mean the build is stuck. Because processing time is variable and set by Apple's systems, there is no guaranteed duration, so you judge a long wait against the normal range of minutes to an hour rather than a fixed deadline, and treat a few hours as slow-but-possible before concluding something is wrong.

    Check Apple's System Status first

    When processing takes hours, the first and most useful step is to check Apple's System Status page for a TestFlight or App Store Connect issue, because a service outage is a common cause of processing that hangs for everyone. Apple posts known problems with its developer services there, so if TestFlight or App Store Connect shows an issue, your build is waiting on Apple, not on anything you did, and there is nothing to fix on your end except wait for the service to recover.

    This check saves you from taking unnecessary action. If an outage is in progress, uploading a new build or contacting support will not speed anything up, because the bottleneck is the service itself, and you simply wait until Apple resolves it and the backlog clears. If System Status shows everything operational, then the delay is more likely specific to your build, which points you toward the new-build-number remedy. So checking status first tells you whether you are dealing with a global issue you must wait out or a stuck build you can act on, which are handled differently.

    Should I upload a new build number?

    If there is no outage and your build is genuinely stuck in processing well beyond the normal range, uploading a new build with an incremented build number is the standard fix. Each upload with a new build number, meaning a higher build version, creates a fresh processing job, so a new upload often clears a build that got stuck, because Apple processes the new one rather than the hung one. This is the most reliable self-service remedy for a truly stuck build.

    Do this deliberately, not reflexively. Increment your build number so the new upload is distinct, since re-uploading the same build number will not create a new build, and submit the new build. There is no harm in the old stuck build; it simply sits, and the new one supersedes it once processed. Reserve this for a build that has clearly been stuck beyond a reasonable wait with no outage explaining it, rather than a build that is merely slow, because a new upload restarts the clock and is unnecessary if the current build would have finished on its own shortly.

    Normal versus abnormal waiting

    Judging your wait against the normal range keeps you from acting too soon. Processing within minutes to about an hour is normal, and a few hours is slower but still within the realm of ordinary delays, especially under load. So a build that has been processing for two or three hours is not necessarily stuck, and the right response there is usually to wait a bit longer, having checked that there is no outage.

    Abnormal is a build that has been processing far beyond a few hours, into a full day or more, with no service issue posted and no movement. That is when the build is genuinely stuck rather than slow, and when the new-build-number remedy applies. The distinction matters because acting on a merely-slow build wastes an upload, while waiting indefinitely on a truly stuck one wastes time. Check the status, account for outages, and treat a wait of many hours to a day with no explanation as the threshold for taking action.

    Does re-uploading reset review?

    Uploading a new build does start fresh processing for that build, and if the build needs Beta App Review for external testing, the new build goes through that review as a new submission. So re-uploading to clear a stuck processing state means the replacement build processes and, where applicable, is reviewed on its own, rather than inheriting the stuck build's place. For internal testing, which does not require Beta App Review, the new build is simply processed and made available.

    This is worth knowing so the re-upload does not surprise you. If your stuck build had already passed review and only processing hung, a new build will need its own processing and, for external testers of a new version, its own review. In practice, since the stuck build never became usable, starting fresh with a new build number is the way forward regardless, and the small cost of the new build processing is worth clearing a build that was not going to finish. Just do not repeatedly re-upload a build that is merely slow, since that restarts the work unnecessarily.

    When to contact support

    Contact Apple Developer Support when a build is stuck well beyond a normal wait, there is no outage explaining it, and uploading a new build number has not resolved it either. At that point the issue is neither a normal delay nor something the standard remedy fixed, so it warrants Apple looking into it. Provide your app and build details and describe what you have already tried, including the new upload, so support can investigate rather than suggest the steps you have taken.

    Before escalating, make sure you have done the basics: confirmed there is no service issue on System Status, waited past the normal range, and tried a new build number. Support is the right step for a genuinely stuck build that resists the self-service fix, not for a build that is slow or waiting on an outage. A clear, factual request after you have ruled out the common causes is more effective than reaching out while a global issue is still in progress or before you have tried the standard remedy.

    Processing status guide

    Matching how long you have waited to the likely cause tells you whether to wait or act. The table below maps it.

    Time in processingNormal?Likely cause and response
    Minutes to about an hourNormalStandard processing; wait
    A few hoursSlower but commonLoad or minor delay; wait, check status
    Hours during a posted outageExplainedApple service issue; wait for recovery
    A day or more, no outageStuckUpload a new build number

    Read the table by both the time and whether an outage is posted, since the same duration means wait during an outage and act when everything is operational.

    What to do checklist

    Working through these steps resolves a long processing wait. The checklist below covers them.

    StepActionDone?
    Check System StatusLook for a TestFlight or App Store Connect issue[ ]
    Wait out the normal rangeGive minutes to a few hours before acting[ ]
    If an outage, waitDo not upload or escalate during an outage[ ]
    If genuinely stuck, re-uploadIncrement the build number and upload again[ ]
    Do not spam re-uploadsOnly re-upload a build clearly stuck, not slow[ ]
    Escalate if unresolvedContact support after the remedy fails[ ]

    The step that decides your response is checking System Status, because it tells you whether to wait out an Apple issue or act on a stuck build, which look identical without it.

    Use the wait to verify the build

    Whether your build is processing normally or waiting out an issue, the time is better spent verifying the build than refreshing the status. A build that eventually processes still goes to testers and, later, review, so confirming it is sound while you wait is productive.

    A scanner like PTKD.com analyzes your build and reports issues such as leaked keys and secrets, over-broad permissions, and insecure data handling by severity, mapped to OWASP MASVS, so you catch problems during the wait rather than after testers or reviewers do. To be clear about the boundary: PTKD does not process your build, contact Apple, or change your processing time. It helps you use the wait to make sure the build that finishes processing is one you are ready to distribute.

    What to take away

    • Processing for hours is usually a delay, not a permanent stall, and processing normally finishes within minutes to about an hour.
    • Check Apple's System Status page first, since a TestFlight or App Store Connect outage can hang processing for everyone, and during one there is nothing to fix but wait.
    • If there is no outage and the build is genuinely stuck well beyond a normal wait, upload a new build with an incremented build number to start fresh processing.
    • Re-uploading starts fresh processing and, for external testing of a new version, a new review, so do it only for a build that is truly stuck, not merely slow.
    • Escalate to support after ruling out outages and trying a new build number, and use the wait to scan your build with a tool like PTKD.com.
    • #testflight
    • #processing
    • #build stuck
    • #app store connect
    • #apple system status

    Frequently asked questions

    Is my TestFlight build stuck if it has processed for hours?
    Usually not permanently. Processing normally finishes within minutes to about an hour, so a few hours is slower than typical but happens under load or minor server delays and does not by itself mean the build is stuck. Check Apple's System Status page first for a TestFlight or App Store Connect issue, which can hang processing for everyone. A genuinely stuck build is one processing far beyond a few hours, into a day or more, with no outage posted.
    Should I check for a service outage?
    Yes, first. Apple posts known problems with its developer services on the System Status page, so if TestFlight or App Store Connect shows an issue, your build is waiting on Apple, not on anything you did, and there is nothing to fix except wait for recovery. During an outage, uploading a new build or contacting support will not speed anything up. If everything shows operational, the delay is more likely specific to your build and you can act on it.
    Should I upload a new build number?
    If there is no outage and your build is genuinely stuck well beyond the normal range, yes. Each upload with a higher build number creates a fresh processing job, so a new upload often clears a build that got stuck, because Apple processes the new one rather than the hung one. Increment the build number so the upload is distinct, since re-uploading the same number will not create a new build. Reserve this for a truly stuck build, not a merely slow one.
    Does re-uploading reset the review?
    It starts fresh processing for the new build, and if the build needs Beta App Review for external testing, the new build goes through that review as a new submission. For internal testing, which does not require Beta App Review, the new build is simply processed and made available. Since a stuck build never became usable, starting fresh with a new build number is the way forward regardless, but do not repeatedly re-upload a build that is only slow.
    When should I contact Apple support?
    When a build is stuck well beyond a normal wait, there is no outage explaining it, and uploading a new build number has not resolved it either. Provide your app and build details and what you have already tried, so support can investigate rather than suggest steps you have taken. First confirm there is no service issue on System Status, wait past the normal range, and try a new build number, since support is for a genuinely stuck build that resists the self-service fix.
    Does a stuck build affect my live app?
    No. A build stuck in processing simply sits in App Store Connect and does not affect any app you already have live on the App Store, so there is no urgency to cancel or panic. The stuck build is not distributed to testers until processing finishes, and it does not interfere with your existing release. Use the wait to check for an outage and, if needed, upload a new build number, rather than taking drastic action.

    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