Apple has known about this since 2021. Here's the 8 root-cause taxonomy + the one workaround that actually replicates.
The error: "Could not install [App Name]. The requested app is not available or doesn't exist." Build state is VALID, tester state is ACCEPTED, App Store Connect web UI shows the build as "Testing" with a green dot. Press Install — error.
Documented on Apple Developer Forums since February 2021 — thread 674932, last activity May 2024, 400+ replies, zero confirmed Apple fixes. Thread 809636 opened December 2025, zero replies.
| # | Class | Verify via | Expected |
|---|---|---|---|
| 1 | Tester state | GET /v1/betaGroups/{id}/betaTesters | state=ACCEPTED |
| 2 | Build state | GET /v1/apps/{id}/builds | state=VALID, expired=false |
| 3 | Apple ID conflict | Forum thread 702988 | Tester email used by 1 Apple ID only |
| 4 | Paid Apps Agreement | ASC web UI Agreements page | Status = ACTIVE |
| 5 | Distribution cert | ASC web UI Certs page | Active until at least Apple build expiry |
| 6 | iOS minimum version | Build minOsVersion | ≤ iPhone OS version |
| 7 | Export compliance | usesNonExemptEncryption | Set to true or false |
| 8 | Distribution cache | Not API-checkable | This is the 4-year bug |
Runs through 8 failure classes via JWT-authenticated ASC API. Outputs WARN/FAIL with fix instructions per class.
export ASC_KEY_ID=...
export ASC_ISSUER_ID=...
export ASC_KEY_FILE=./AuthKey_XXXXXX.p8
python asc_diag.py --all --skip-localizations
Pre-flights all the App Store version requirements then POSTs to /v1/appStoreVersionSubmissions to trigger the workaround.
# Dry run (verify, no submission)
python asc_submit_for_review.py --bundle-id com.example.myapp --dry-run
# Real submit
python asc_submit_for_review.py --bundle-id com.example.myapp
If you want the full TestFlight Debug Bible specifically (4-year forum archive + 8-class taxonomy + scripts + screencast walkthrough), the $29 SKU is now listed — pre-launch price.