App Store · Guideline 2.1

Guideline 2.1 App Completeness rejection

App Completeness: it crashed or something didn’t work

Guideline 2.1 — App Completeness: it crashed or something didn’t work. The reviewer hit a crash, a blank screen, an error or a dead end, or found placeholder content. In wrapped apps the usual causes are a web build that doesn’t load inside the app, an API call that only works from your domain, or a sign-up that fails on a fresh install.

Updated

What this rejection means

The reviewer hit a crash, a blank screen, an error or a dead end, or found placeholder content. In wrapped apps the usual causes are a web build that doesn’t load inside the app, an API call that only works from your domain, or a sign-up that fails on a fresh install.

Why reviewers send it

Reviewers install the build on a clean device, often an iPad, and use it like a new customer. A web build that fails to load inside the app, an API that rejects the app’s origin, or a broken sign-up shows up as a crash, a blank screen or an error — and the review stops there.

The message App Review sends

Guideline 2.1 - Performance - App Completeness

We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.

The exact wording changes from one review to the next; the guideline number is what to look for.

How to fix it

  1. Read the crash log or screenshot attached in App Store Connect — it often names the screen or the device (frequently an iPad).
  2. Install the exact build from TestFlight on a real device, delete and reinstall it, and sign up as a brand-new user.
  3. Use full https:// URLs for every API call, and allow the app’s origin (capacitor://localhost on iOS) in your backend’s CORS settings.
  4. If the app runs on iPad, test it there too: reviewers often use one.
  5. Upload a new build and reply with what you fixed.

If the crash comes from the build itself, paste the log into the build error explainer.

Fix it with Lovable, Bolt or Cursor

If the app was built with an AI builder, paste this into it, then check the result on a phone:

Make sure the app never shows a blank screen: use full https:// URLs for every API call, show a visible error with a retry button when a request fails, and remove any placeholder or “coming soon” content.

What to reply in App Store Connect

Replace the [brackets] with what you actually changed:

Guideline 2.1 — Thank you for the report. The issue was [cause, e.g. an API request that failed on first launch]. We fixed it in build [number] and tested a fresh install on [devices, including iPad].

Got a different message?

Paste the whole rejection into the rejection explainer. It recognises this one and 26 others, in your browser — nothing is uploaded.

Other App Store rejections

Fixed it? Send the build back to App Review

CapWrapp builds the fixed commit on GitHub’s Mac machines, uploads it to TestFlight, and sends the build you pick to App Review from one page — no Xcode.

  • Free to start
  • No credit card
  • Sign in with Google or GitHub