Home / App rejections: fix guides for App Store and Google Play / Guideline 2.1: app completeness rejection

Guideline 2.1: app completeness rejection

Quick answer: A Guideline 2.1 rejection means the reviewer couldn't fully use your app: it crashed, showed placeholder content, had broken links, a login they couldn't get past, or in-app purchases that didn't load. It's the most fixable rejection: reproduce what they saw, fix it, and give a working demo account.

Why it usually happens

  • Crash on launch on a device or iOS version you didn't test.
  • Login needed but no demo account, or the demo account expired.
  • "Lorem ipsum" or test data still visible.
  • Backend not reachable from the reviewer's network or region.
  • In-app purchase products not submitted with the build.

Guideline 2.1 rejection: key rules and context

What the rejection means. Guideline 2.1 (App Completeness) asks for final versions with all metadata and working URLs (Review Guidelines). Apple often attaches a crash log or screenshot.

What to tell the reviewer. Reply with what was fixed, the new build number, and the demo credentials. Attach a short screen recording if the flow is complex.

How to avoid it next time. Run a release-build smoke test checklist on the oldest and newest supported iOS before every submission.

Common mistakes

  • Testing only while logged in. Reviewers start fresh.
  • A demo account that expires. Apple asks for one that won't.
  • Beta labels in production. They signal an unfinished app.
  • Empty states with no text. They look like bugs.

If you want this handled for you, our pricing page lists every fixed package.

How to fix it

  1. Symbolicate the attached crash log and reproduce on the same iOS version.
  2. Add a demo account with data in App Review Information, and make sure it doesn't expire.
  3. Remove placeholder content and test every link.
  4. Submit IAP products for review with the build.
  5. If features need special hardware or location, explain and provide a video.

How to fix a 2.1 rejection, step by step

Follow these steps in order. Each one is something we do on client work.

  1. Reproduce what the reviewer saw. Install from TestFlight on the iOS version and device class named in the rejection, logged out.
  2. Fix crashes first. Check Xcode Organizer crash logs for the review build and symbolicate them.
  3. Replace placeholder content. 2.1 asks for final versions with no placeholder text, empty websites or temporary content.
  4. Test every URL. Support, privacy, terms and any in-app links must load.
  5. Provide a working demo account. With sample data, in App Review Information.
  6. Reply with specifics. List each fix and where to see it.

Worked example (hypothetical)

This example is illustrative. The app is made up, and so are any numbers in it.

Suppose RecipeBox is rejected because the Discover tab is empty for new accounts. The reviewer reads that as unfinished. We'd seed the demo account with saved recipes, add an empty state that explains what will appear and why, and say in the reply: "Discover now shows recipes on first launch; the demo account has 12 saved recipes under Profile › Saved."

The guidelines behind most rejections

The table maps each point to the guideline 2.1 rejection context. Rows are quoted or summarised from Apple's current App Review Guidelines. Compare the guideline number in your rejection message with the matching row.

GuidelineWhat it coversUsual fix
2.1 App CompletenessFinal builds, working URLs, no placeholder contentFix crashes, add a demo account, test every link
2.3 Accurate MetadataDescription, screenshots and previews reflect the appRe-shoot screenshots from the real app; remove claims you can't show
2.3.7Unique name, accurate keywords, no trademarked or irrelevant termsRemove competitor names and pricing from metadata
3.1.1 In-App PurchaseDigital features and content unlocked via IAPMove digital unlocks to StoreKit IAP
4.2 Minimum FunctionalityMore than a repackaged websiteAdd native, useful features
4.3 SpamNo duplicate bundle IDs or saturated copycat appsConsolidate apps; show what is unique
5.1.1 Data Collection and StoragePrivacy policy, permissions, account deletion (5.1.1(v))Add policy links, clear purpose strings, in-app deletion

Checklist

Copy this list into your release notes or ticket and tick each item off before you ship.

  • Clean-install test on current iOS
  • No crashes in the review build
  • No placeholder text or lorem ipsum
  • All URLs load
  • Demo account with sample data
  • Reply lists each fix

Sources

FAQ

Questions

Why does it crash only for Apple?

Different device, iOS version, network or a fresh install state.

Do I need a demo account?

Yes, if any feature needs login.

Can I submit a beta?

No. Betas belong on TestFlight.

Do IAPs need review?

Yes, submit them with the build.

Can you help find the crash?

Yes, from the crash log.

Can a crash on iPad cause a 2.1 rejection for an iPhone app?

Yes, if the app runs on iPad. Apple may test on iPad, so check compatibility settings.

Ready when you are

Fix your listing this week.

One fixed price, delivered as copy and files you paste yourself. No calls, no account access.

$99 one-timeDelivered in 2–3 business days2 revisionsNo login needed
Questions? Email us
Rank higher. More installs.Want your app ranked and more installs?
Get HireASO