I'm stuck on what looks like a backend / account-level TestFlight issue and want to ask if anyone has seen the same pattern.
Symptoms (reproduced across three consecutive builds)
- App Store Connect ingests and processes each build successfully; it shows as "Testing" in TestFlight with no compliance
warnings.
- Internal TestFlight install fails instantly on every tester device with:
▎ "The requested app is not available or does not exist."
- Device console (itunesstored) at install time:
FAILED: TFBundleInstallation serverFailureReason="Error Downloading Install Data" userFailureReason="Requested app not available or does not exist" buildGroup=(null) phase=Failed previousPhaseDescription=ProcessingInstallInitiateResponse serverCode 200
- Submitting the same build for external Beta App Review returns:
422 ENTITY_UNPROCESSABLE code: BETA_CONTRACT_MISSING
buildGroup=(null) for builds that visibly show as "Testing", plus a persistent BETA_CONTRACT_MISSING, suggests the beta-contract / build-group record for the app is missing or corrupted on the backend.
Already verified clean on the developer side
- Distribution certificate and provisioning profile valid; entitlements match the binary; codesign --verify --deep
--strict passes.
- Free and Paid Apps Agreements both Active; no pending tasks (Banking, Tax complete).
- App Information, Pricing & Availability, Age Rating, Content Rights, Test Information all complete; build page shows no
warnings.
- Reproduced with multiple testers on multiple iOS 17+ devices, in a fresh internal testing group, after device-side
cleanup (sign-out / reinstall TestFlight).
- Re-uploading a fresh build does not clear it — so it is not bound to a specific binary.
Questions
- Has anyone seen Error Downloading Install Data + buildGroup=(null) + BETA_CONTRACT_MISSING together on a single app?
How did you resolve it? 2. Why does ProcessingInstallInitiateResponse return serverCode 200 while still failing with "app not available", for a build that shows as "Testing"? 3. Is there a documented path to request that engineering regenerate a corrupted beta-contract / build-group record, beyond a standard support case?
Any pointers appreciated — happy to share device logs / sysdiagnose if useful.