Preflight an App Review submission
preflight_submissionRun a read-only go/no-go checklist before App Store submission: verify build, version, export compliance, notes, review state, and IAPs, returning pass/fail/warn with fixes.
Instructions
Run the full go/no-go checklist before submitting a version to App Review and return pass/fail/warn per check with a concrete fix. Self-contained: it already checks build processing and version state, so call it first and alone for readiness questions and before any submit. Checks: version exists and is editable; build processed, VALID and attached; export compliance answered; What's New present in every locale and free of banned claims; App Review notes and contact present; in-app purchases in READY_TO_SUBMIT attached or not; no other version stuck in review; local build number (AppVersion.xcconfig) not behind App Store Connect; release commit is an ancestor of main. Use for 'is 2.88 ready to submit?', 'preflight build 4', 'what's blocking the release?'. Read-only; never submits.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | No | Numeric Apple app id (the number in the App Store URL). Omit to use the server default. | |
| commit | No | Commit sha, tag or branch the build was archived from. Omit for HEAD. | |
| version | Yes | Marketing version exactly as in App Store Connect (CFBundleShortVersionString), e.g. '2.88' or '2.4.0'. Not the build number. | |
| repo_path | No | Absolute path of the app's git repository for the local checks. Omit to use the server default. | |
| build_number | No | Build number (CFBundleVersion), e.g. '3'. Omit to use the newest upload. | |
| xcconfig_path | No | Path of AppVersion.xcconfig relative to the repo. Omit to auto-discover. | |
| expected_iap_product_ids | No | Product ids that must ship with this version; fails if any is not attached. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | read_only | |
| app_id | Yes | ||
| checks | Yes | ||
| failed | Yes | ||
| passed | Yes | ||
| warned | Yes | ||
| skipped | Yes | ||
| verdict | Yes | blocked if any check failed; ready_with_warnings if any warned. | |
| version | Yes | ||
| blocking | No | Ids of failed checks. | |
| build_number | Yes | ||
| generated_at | Yes |