Engineering Notes

What to Do When an App Store Connect Build Keeps Showing Processing: 2026 Troubleshooting Guide

What to Do When an App Store Connect Build Keeps Showing Processing: 2026 Troubleshooting Guide

The build appears in App Store Connect, but its status stays on Processing.

Start with TestFlight > Build Uploads and inspect the upload record and its details—not just the TestFlight build list. If it remains Processing for more than 24 hours, Apple says to submit a Feedback Assistant report or contact support. Re-uploading is not the default fix.

This guide is for independent developers who uploaded a build through Xcode or Transporter and need to tell whether the upload is incomplete, still processing, or failed.
Small teams maintaining a TestFlight release pipeline can use the steps to standardize checks before escalating.
Developers managing remote Mac release tasks can use the same evidence to separate a local upload issue from an App Store Connect processing issue.

App Store Connect build Processing: check the upload record first

App Store Connect has more than one place where a build may appear. Build Uploads shows upload records and their processing status. The TestFlight build list is where processed builds are made available for testing workflows. A build missing from the latter does not, by itself, prove the upload failed.

Apple describes the upload status values Processing, Failed, and Complete in its build upload status documentation. Treat the status as evidence about the upload record, not as a diagnosis of the underlying cause.

Open the app in App Store Connect, go to TestFlight, and locate Build Uploads. Select the record that corresponds to the attempted upload. Check the app name, platform, version, and build number before interpreting the status. If the details show an error or warning, record the message exactly as displayed.

Then check whether a matching build is visible in the TestFlight build list. Use the same app, platform, version, and build number for both checks. This avoids a common diagnostic mistake: comparing an upload record for one build with a TestFlight entry for another.

Keep the two checks separate: Build Uploads answers “What happened to this upload record?” The TestFlight list answers “Is a processed build available in this testing area?”

Apple’s instructions for viewing builds and metadata describe where to review build information and upload status. The page is the reference for the current App Store Connect navigation. If the interface changes, follow the labels in the current console rather than relying on an old screenshot or saved procedure.

How long can an App Store Connect build stay on Processing before it needs attention? Apple identifies Processing for more than 24 hours as a situation that may indicate a problem. That is an escalation threshold, not a promised processing time or a guarantee that every build will finish within that period. Check the upload record and details first; if the status has crossed that threshold without an update, follow Apple’s recommendation to report the issue or contact support.

Use the status and details to choose the next action

The status label narrows the next check, but does not explain every cause. Use this comparison to avoid treating different problems as if they were the same.

What the record shows What it tells you Next action
Processing App Store Connect has an upload record that is still being processed. The label alone does not establish a cause. Confirm the record matches the intended app and build. Review its details. If it remains in this state for more than 24 hours, escalate through Apple’s recommended channels.
Failed The upload record has a failure status. The details provide the evidence needed to decide whether to fix the build or investigate the upload. Open the failed record and read its errors, warnings, and information before changing the project or uploading again.
Complete, but no matching TestFlight build is visible The upload record indicates processing is complete, but the expected build is not visible where it was checked. Recheck the app, platform, version, and build number. Then verify which TestFlight area or distribution step applies to that build.

Apple’s App build status reference explains build statuses. Keep the distinction clear: the status shown for an upload record and the availability of a build for testing are related, but they are not interchangeable signals.

What should be checked when a build is Processing but not visible in TestFlight? First, compare the upload record with the build list using the same app, platform, version, and build number. Apple says an uploaded build must be processed before it appears in App Store Connect for testing. A delay in visibility while processing is ongoing does not prove a separate TestFlight failure. If the record is already Complete, check whether the correct build and TestFlight area are being viewed, then review any remaining distribution steps.

Processing is also not the same as App Review or public release status. It concerns Apple’s processing of the uploaded build. TestFlight distribution and App Store review are separate parts of the release workflow. Apple’s App Store Connect workflow overview provides the broader sequence; use it to identify the stage without assuming that a processed build has already been distributed or approved.

First step: establish whether the upload finished locally

Before treating a Processing label as an Apple-side issue, confirm that the upload tool reported a completed upload and that App Store Connect created a corresponding record.

For an Xcode upload, review the result in Xcode’s distribution flow and confirm that the expected app and build were selected. Apple’s Xcode distribution guidance covers the distribution process. For Transporter, check the result reported by the upload workflow and any available messages or logs. A local archive or upload operation that did not finish is different from a server-side record that exists and remains Processing.

The same distinction applies to automation. A pipeline can complete its build job but fail during a later upload step, or an upload client can report a problem before App Store Connect creates a record. Conversely, a confirmed upload record with a Processing status means there is a record to investigate in App Store Connect. Do not infer the cause from a green or red indicator in a separate CI job without checking which phase that indicator represents.

Capture the evidence before retrying. A short note is enough:

App:
Platform:
Version:
Build number:
Upload tool:
Local upload result:
App Store Connect status:
Exact message or warning:
Time of upload:

This is a personal troubleshooting record, not a required App Store Connect format. The purpose is to preserve the identifiers and messages needed to compare the local upload attempt with the server-side record. Avoid replacing the exact error text with a guess such as “Apple rejected it” or “Xcode is broken.”

Does Failed mean the project must be changed? Not necessarily. Open the Failed upload record and inspect its error, warning, and information details. The message may point to a build or metadata issue, or it may indicate a problem during the upload process. Decide what to change only after reading the record. If the local upload never completed and no matching record exists, start with the local tool’s messages instead of treating the case as a server-side processing failure.

Second step: diagnose Failed without guessing

Select the failed upload in Build Uploads and preserve the details before making changes. Separate errors from warnings and informational messages. An error may identify something that prevents the upload or processing from proceeding; a warning may call for review without being the failure itself. Use the wording in the record to guide the next action.

A useful sequence is:

Apple’s guidance on uploading builds explains that uploaded builds go through processing before they can be used in App Store Connect. A second upload does not erase the original record or explain why it failed. Keep the records distinct, especially when a pipeline retries automatically. Verify the build number and status for the latest attempt instead of assuming that the newest local job corresponds to the record currently open in the console.

Do not use repeated uploads as a status refresh. If the first upload has a record and is still Processing, another upload can create more records to reconcile without addressing the cause. Retry after confirming a local upload failure, after making a supported correction, or when Apple’s guidance indicates that a new upload is appropriate.

Third step: escalate a stalled Processing record with evidence

When a matching record remains Processing beyond Apple’s stated 24-hour threshold, Apple recommends submitting a Feedback Assistant report or contacting support. The threshold indicates that the case may need attention; Apple does not promise a specific completion time or identify a universal cause for every delay.

Who should be contacted when an upload is still processing after more than 24 hours? Follow Apple’s recommendation: submit a report through Feedback Assistant or contact Apple support. Include the exact app and build identifiers, the upload date and time, the current status, and the relevant messages or logs. These details help make the report about a specific upload record rather than a general statement that TestFlight is not updating.

Keep the report concise and factual. Include:

Do not claim that Apple’s service is experiencing an outage unless Apple has confirmed it. The available status label and a long wait do not establish a root cause. Similarly, do not describe a user’s individual experience as a standard processing duration. The official guidance supports escalation after the stated threshold; it does not establish a general waiting-time promise.

After reporting the issue, keep checking the same upload record. If a new upload is made for a justified reason, track it separately by its build number and upload record. A newly created record is not proof that the earlier problem has been resolved.

Fourth step: confirm TestFlight visibility after processing

When the upload record reaches Complete, return to the TestFlight area and compare the visible build with the record. Confirm that the intended app and platform are selected, then match the version and build number. A completed upload record does not mean that every later testing or distribution action has already happened.

For internal testing, check whether the relevant testers and testing setup are in place. Apple’s instructions for adding internal testers explain that part of the TestFlight workflow. Treat tester setup as a separate check from upload processing. If the build is Complete but unavailable to the expected testers, use the build record and testing configuration to locate the next missing step instead of uploading the same artifact again.

The same separation helps when another team member reports “the build is missing.” Ask for the app, platform, version, and build number they are viewing. Confirm that they are looking at the same record and testing area. A mismatch in any of those identifiers can make a successfully processed build appear absent even when the upload itself is not the issue.

For teams using a remote Mac as part of release operations, keep the local build result and the App Store Connect upload result visible as separate pipeline stages. This does not change Apple’s processing behavior. It makes it easier to identify whether the process stopped before an upload record existed or after App Store Connect accepted the upload for processing.

Keep release troubleshooting separate from the build environment

A Mac environment can help run Xcode-based build and upload tasks, but it cannot control Apple’s processing queue or guarantee when a build becomes visible. If the local upload did not complete, investigate the local archive, upload tool, network path, and pipeline logs. If a matching App Store Connect record exists and remains Processing beyond Apple’s threshold, use the record details and escalate through Apple’s channels.

For an occasional release, a developer’s existing Mac may be enough. A team that needs a dedicated, consistently available macOS environment may compare local hardware, a remote Mac, and other build arrangements based on access needs, release frequency, and who maintains the environment. NUMACS offers access to a remote Mac without requiring a separate Mac purchase for a temporary build or testing need. That option can support the Mac-dependent part of the release workflow, but it is not a remedy for an Apple-side processing delay.

The most efficient next action depends on the evidence: check Build Uploads, match the record to the intended build, read details for Failed, and verify the TestFlight list only after confirming the processing status. If a release task needs a persistent Mac environment, review the NUMACS getting-started guide and available plans alongside the team’s own hardware and maintenance requirements. If the upload record itself is stalled beyond Apple’s stated threshold, contact Apple with the identifiers and messages rather than relying on a new upload to resolve it.

Further reading

NUMACS Cloud Mac

Run Reproducible Builds on NUMACS

Use a dedicated physical Mac to run your next build in a stable development environment.

Choose a device and order