AI Founder OS
Shipping checklists
App Store

App Store Submission Review

Everything you need to prepare, pack, and test before submitting your app for review. Work through each section in order. Do not submit until every item is checked.

Key idea

Apple reviewers follow a script. If they cannot reach a feature, they reject. If they hit a crash, they reject. Your job is to make the review path frictionless.

Preflight checklist

Complete these items before you press Submit for Review. Each one is a common rejection reason when missed.

Metadata

App name, subtitle, and description match the latest copy deck

Keywords are filled in and use all 100 characters

Primary and secondary categories are set correctly

Age rating questionnaire is complete and accurate

Privacy & URLs

Privacy policy URL is live and returns 200

Support URL is live and returns 200

Screenshots & Assets

All required screenshots uploaded for each device size

App preview video (if used) is under 30 seconds and shows real UI

App icon meets Apple spec: 1024x1024, no alpha, no rounded corners

Signing & Build

Bundle ID matches your provisioning profile

Version number and build number are incremented from last submission

Signing certificate is valid and not expiring within 30 days

All entitlements match between dev and distribution profiles

IAP & Compliance

In-app purchases (if any) are in Ready to Submit status

Export compliance information is filled in

Submission pack

These items go into the App Review Information section of App Store Connect. The reviewer reads them before opening your app.

What good looks like

A complete submission pack cuts review time. Reviewers who can reach every feature on the first try approve faster.

Credentials & Access

Test account credentials (email and password) for the reviewer

Step-by-step instructions to reach every major feature

Hardware & Demo

Explanation of any features that require hardware (camera, Bluetooth, location)

Demo video or walkthrough if the app needs a server-side account setup

Gated Content & Services

Notes explaining any gated content and how the reviewer can access it

Explanation of background modes if the app uses any

Links to any external services the app connects to

Contact information for the reviewer to reach your team

Reviewer test script

Walk through this script yourself before submitting. If any step fails on your device, it will fail for the reviewer.

Paste into Claude

Ask Claude to turn this into a reviewer walkthrough checklist

1. Open the app from a cold launch. Confirm the onboarding flow completes without crashing.

2. Sign in with the test account. Confirm the dashboard or home screen loads.

3. Navigate to every tab or primary section. Confirm no blank screens or loading spinners that never resolve.

4. Trigger one push notification (if applicable). Confirm it appears and tapping it opens the correct screen.

5. Test one in-app purchase flow (if applicable). Confirm the purchase sheet appears and the sandbox transaction completes.

6. Rotate the device. Confirm layout adapts without clipping or overlapping text.

7. Kill the app from the app switcher. Reopen it. Confirm state is preserved and no re-login is required.

8. Disconnect from the network. Confirm the app shows an appropriate offline message instead of crashing.

9. Grant and then revoke camera or location permissions. Confirm the app handles denial gracefully.

10. Scroll through every scrollable list. Confirm no performance stutters or missing content at the bottom.

Review Notes

App Review Submission Template

Paste this into App Store Connect under Notes for Review.

Paste into App Store Connect

App Store Connect > App Review > Notes for Review

Key idea

Most rejections happen because reviewers cannot access the core flow. Always include working test credentials and a step-by-step walkthrough.

Notes for Review (copy/paste)

Template
TEST CREDENTIALS Email: [your-test-account@example.com] Password: [test-password-here] WALKTHROUGH (STEP BY STEP) 1. Open the app. Tap "Sign In" on the welcome screen. 2. Enter the test credentials above. Tap "Continue." 3. On the dashboard, tap the "New Project" button (top right). 4. Fill in the project name field. Tap "Save." 5. Tap the new project card to view the detail screen. PREMIUM FEATURES All premium features are unlocked for this test account. No payment required. No sandbox transaction needed. EXTERNAL SERVICES - Clerk (auth) - RevenueCat (subscriptions) - [add any other services] CONTACT If you encounter any issues, email: [your-email@example.com] Response time: within 4 hours.

Common rejection reasons

These are the most frequent reasons apps get rejected. Check each one before you submit.

  • Crashes or bugs. The app crashes during normal use, on launch, or when the reviewer follows the test steps you provided.
  • Broken links. The privacy policy URL, support URL, or marketing URL returns a 404 or a generic domain parking page.
  • Incomplete information. The demo account does not work, the test instructions are vague, or gated features have no explanation.
  • Misleading metadata. The app name, description, or screenshots do not match what the app actually does.
  • Missing purpose string. The app requests a permission (camera, location, contacts) but the Info.plist usage description is missing or generic.
  • Login required with no alternative. The app requires login but there is no demo account and no way for the reviewer to sign up.
  • Placeholder content. The app contains lorem ipsum text, test data, or UI sections that say Coming Soon with no functionality.

Anti-pattern

Do not submit on Friday. If you get a rejection, the review team may not respond until Monday. Submit early in the week so you have time to fix issues and resubmit.

The Greenlight loop

App review is iterative, not one-shot. Treat every submission as a loop: run the checklist, fix what fails, rerun until clean. Most first-time rejections happen because people skip the rerun.

1

Run

Walk every checklist item above. Test on a real device with a clean install. Check every URL, screenshot, and entitlement.

2

Fix

Address every failed item before touching App Store Connect. Fix the build, not the metadata — reviewers test the binary, not your description.

3

Rerun

Start the checklist from the top. A fix in one area can break another. Only submit when every item passes on a single uninterrupted run.

Note

A common pattern: you fix a crash, bump the build number, but forget to re-sign with the distribution certificate. The rerun catches that. Never skip it.

Run Greenlight before submission

Use an automated checklist tool before uploading your binary.

1Run Greenlight
2Fix issues
3Rerun until clean

Quick start

Install & run Greenlight
git clone https://github.com/lukylab/appstore-submission-checklist.git cd appstore-submission-checklist npm install npm run check

What reviewers actually do

Understanding the review process helps you anticipate rejection reasons before they happen.

Metadata scan

The reviewer reads your app name, subtitle, description, and screenshots first. They check that the description matches what the app does. Misleading copy is the fastest path to rejection.

Credentials check

They log in with the test account you provided. If the credentials are wrong, expired, or require 2FA they cannot bypass, the review stops immediately. Double-check the test account works on the day you submit.

Feature walkthrough

They follow the test instructions you wrote, step by step. If an instruction says "tap Profile" but the tab is labeled "Account", they flag it. Your instructions must match the actual UI word-for-word.

Edge-case probes

They rotate the device, kill and relaunch the app, toggle airplane mode, and revoke permissions. They are testing whether the app handles real-world conditions, not just the happy path.

Guideline cross-reference

They compare your app against the App Store Review Guidelines — sections 1 through 5. Privacy (5.1), payments (3.1), and user-generated content (1.2) are the most commonly cited sections in rejections.

Checklist source

This page distills the official Apple guidelines into an actionable checklist. Bookmark the primary sources so you can cross-reference when a rejection cites a specific section.

Key idea

When you get a rejection, the response always cites a guideline number (e.g., "Guideline 2.1 — Performance: App Completeness"). Look it up in the primary source, fix the specific issue, and explain exactly what you changed in the Resolution Center reply.

After submission

What to do while your app is in review and after it gets approved.

  • Monitor the App Store Connect status page. You will get email notifications, but checking the dashboard catches edge cases faster.
  • Do not push a new build while In Review. If you need to fix something, withdraw the current submission first, then resubmit.
  • If rejected, read the rejection reason carefully. Reply in the Resolution Center with a specific fix, not a general apology.
  • After approval, verify the live listing. Download the app from the App Store on a real device and walk through the test script one more time.
  • Update your FINDINGS_LOG.md with anything you learned from the review process. Next submission will be faster.

Resources

Official and open-source references