Expand description
Block until App Store Connect finishes processing an uploaded build.
xcrun altool --upload-package returns as soon as the binary is
accepted for delivery, long before App Store Connect finishes
processing it. Processing is the step that turns a freshly uploaded
build VALID (ready to attach to a version) or INVALID/FAILED
(a binary rejection) — the signal that actually confirms an upload
or a binary-rejection fix worked. This module polls
BuildsApi::list_builds until a build reaches a terminal state or a
timeout elapses.
The classification of a processingState string is a pure function
(classify) so the terminal-vs-pending decision is unit-tested
against the exact strings Apple returns, with the async polling loop
kept separate. Like every result type in this crate, AwaitOutcome
carries only identifiers and state — never key or binary material.
Structs§
- Await
Config - How long to wait and how often to re-check, for
await_processing. - Await
Outcome - The result of waiting on a build, as reported to callers. Identifiers and state only — no key or binary material, per the crate’s result-type rule.
Enums§
- Processing
Class - How a build’s
processingStatereads: either it’s settled (and how), or App Store Connect is still working on it.
Functions§
- await_
processing - Poll
BuildsApi::list_buildsforapp_idnarrowed byfilteruntil the newest matching build reaches a terminalprocessingState, orconfig’s timeout elapses. - classify
- Classify a build’s
processingState(case-insensitively, since the field is a fixed Apple enum but we don’t want a casing change to read as “still pending” forever).