App Store rejection appeal: reply, appeal, or fix?
Apple rejected your build. Before you argue, get the order right: most rejections are answered in the Resolution Center in one message, a few belong in front of the App Review Board, and some aren't appeals at all — they're a bug you have to fix. This page lays out the three channels, the 2024 numbers behind them, the guideline each rejection maps to, and letters you can paste in.
Last updated: July 2026
The three ways to respond to an App Store rejection
Apple gives you three channels, and they are not interchangeable. Picking the wrong one is how a two-day fix turns into a two-week standoff. None of the three requires a new build — that matters, because uploading a binary is what actually restarts your review.
| Channel | Use it when | Needs a new build? | Your build while you wait |
|---|---|---|---|
| Resolution Center | The reviewer misread the app, needs a working demo account, or asked a question — the app itself is fine. | No | Stays in Rejected / Metadata Rejected. Replying goes back to the same team and keeps your queue position — no restart. |
| App Review Board appeal | You've already replied, the reviewer held the line, and you believe the guideline was misapplied — a judgement call like 4.2 or 4.3. | No | Stays rejected until the Board rules. The version is not in review during the appeal. |
| Suggest a guideline change | You think the rule itself is ambiguous or wrong, not just its application to your app. | No | Unchanged — this is a feedback channel and doesn't act on your submission at all. |
What the 2024 numbers actually say
Rejection is not a signal that something is wrong with you specifically — it's the default state of about a quarter of everything submitted. Apple publishes the figures once a year, and the 2024 report is blunt: reviewers processed 7,771,599 submissions and rejected 1,931,400 of them. Performance — Guideline 2.1, the vaguest number Apple sends — was the single biggest reason, 1,235,471 submissions.
The number that should change how you act is the last one: 295,109 previously-rejected submissions were approved in 2024 after the developer addressed the issue. Rejection is a conversation, not a verdict. And for timing, Apple commits to exactly one figure — on average, 90% of submissions are reviewed in under 24 hours. It publishes no turnaround for appeals, so treat any specific «5–7 day» figure you read elsewhere as a community estimate, not a promise.
| App Store review, 2024 | Figure |
|---|---|
| Submissions reviewed | 7,771,599 |
| Submissions rejected | 1,931,400 (about 1 in 4) |
| Top reason — Performance (2.1) | 1,235,471 |
| Rejected, then approved after a fix | 295,109 |
| Reviewed within 24 hours | ~90% (Apple average) |
Decision tree: fix, reply, or appeal?
Start from what the rejection actually claims, not from how annoyed you are. Read the sentence under the guideline number — that sentence, not the number, tells you which branch you're on.
- Does the app genuinely do the thing Apple flagged? It crashes, a permission purpose string is empty, ATS is wide open, digital goods sell outside In-App Purchase — then stop reading and fix it. An appeal loses here. Resubmit the corrected build.
- Is the app fine, but the reviewer couldn't reach a feature or needs a demo account? Reply in the Resolution Center with a numbered path and live credentials. No new build. This clears the large majority of 2.1 «we could not locate the feature» bounces.
- Did you reply, and the reviewer held a judgement call you believe is wrong — 4.2 minimum functionality, 4.3 spam, a 3.1.1 read of a real-world purchase? Now escalate to the App Review Board, and cite a comparable approved app if you have one.
- Do you think the guideline itself is ambiguous? Suggest a change — but pair it with a Resolution Center reply, because on its own it won't unblock this build.
The trap is doing two of these at once. Upload a new build while a Board appeal is open and the build supersedes the appeal — you cancel the thing you were waiting on and restart review from zero.
Map your rejection to the guideline — ideally before you submit
This is where reading the actual binary beats any blog. A rejection message names a guideline; our pre-submission auditor reads your .ipa and tells you which guidelines that binary is going to trip before you ever hit submit. Here's the mapping, honest about what the tool reads automatically and what it can only prompt you through.
| Guideline | What trips it in review | What our auditor reads in the binary |
|---|---|---|
2.1 — App Completeness | Crash on launch, a demo account that fails, a backend the reviewer can't reach, a missing export-compliance answer, a malformed version string. | Version & build number format, ITSAppUsesNonExemptEncryption (export compliance), minimum iOS version, launch storyboard, bundle-ID format — all read straight from Info.plist. |
2.3 — Accurate Metadata | Screenshots or description that don't match the app. | Manual — the auditor walks you through it. It can't read your App Store listing text, and it says so: that's a known gap we don't pretend to cover. |
2.5.1 — Software Requirements | ATS wide open, private-API calls, unregistered URL schemes. | NSAllowsArbitraryLoads set to YES, undeclared URL schemes, entitlements that don't match declared capabilities. |
3.1.1 — In-App Purchase | Selling digital goods outside IAP, no restore-purchases path. | Guided from the binary's capabilities; the buy-flow itself is a manual check. |
4.2 — Minimum Functionality | A thin app, a repackaged website, too little native value. | A manual judgement check — the auditor asks the questions Apple asks, it doesn't score taste. |
4.3 — Spam / Clones | A near-duplicate of your own template or another app. | Mostly editorial; the binary can hint at shared bundle patterns, but the call is human. |
5.1.1 — Data & Privacy | Missing PrivacyInfo.xcprivacy, empty permission strings, no privacy policy, no in-app account deletion. | Missing privacy manifest, empty NS*UsageDescription strings, ATT/tracking mismatch — all read directly from the bundle. |
That's the whole point of running the audit before you submit: the report hands you the guideline number a reviewer would cite, so if a rejection does land, you already know which branch of the tree you're on.
Run the pre-submission audit on your .ipa
Appeal letter templates
Reviewers read a lot of these. The ones that work are short, factual, and free of feelings. Two you can adapt, then a list of lines that quietly sink an otherwise good appeal.
1. «You misread the feature» — a Resolution Center reply (2.1)
Hello, and thank you for the review. Guideline cited: 2.1 Build: 3.4.0 (219) We think the feature in question wasn't reached during testing. Here is a numbered path to it: 1. Log in with the demo account below. 2. Tap "Scan" on the home tab. 3. Point the camera at any barcode — the result opens the detail screen your note references. Demo account User: reviewer@ourapp.com Pass: Review-2026 The account is live and was verified today. Nothing is gated behind a purchase for this account, and we have not changed the binary. If you can re-test with these steps, we believe the app meets 2.1. Thank you.
2. «A comparable app is already approved» — an App Review Board appeal (4.3)
We are appealing the rejection of [App name], build 3.4.0 (219), rejected under Guideline 4.3 (Spam). We disagree that the app is a duplicate, and here is why it is distinct: - It does [specific function], which no other app we ship does. - Its codebase and feature set differ from [our other app / any template]. Comparable apps already live on the App Store offer the same core function without being treated as spam — for example [App name, App Store link]. We aren't asking for special treatment, only the same reading. We have not changed the binary. We'd appreciate a re-examination of the 4.3 decision. If a specific screen looks templated, tell us which one and we'll address it directly.
3. What NOT to say
- Don't threaten the press, social media, or a lawyer. It moves you to the back of the line, not the front.
- Don't argue «you approved it last time». Prior approvals aren't a guarantee, and the reviewer knows it.
- Don't paste the same reply five times. Apple asks for one appeal per submission; repeats slow you down.
- Don't blame the reviewer personally. The person reading your reply didn't write the guideline.
- Don't promise a fix «in the next version» when the reviewer asked a question — answer it in this thread instead of uploading a build you don't need.
- Don't leave the demo account empty or stale. A dead login is the most common reason a 2.1 bounces twice.
Expedited review and the one-appeal rule
Apple lets you request an expedited review for a genuinely time-sensitive case — a critical bug fix or a release tied to an event you're part of. If you ask, include exact steps to reproduce the bug on the current version. Apple typically answers an expedited request within about a day, but spend the credit carefully: overuse gets ignored, and a routine update doesn't qualify.
One hard rule from Apple's own page: submit only one appeal per submission, and respond to any request for information before you appeal. Firing off a Board appeal while an unanswered Resolution Center question is still open is the fastest way to look like you didn't read the rejection.
Apple — App Review (expedited requests and the one-appeal rule)
From the binary to the appeal — closing the loop
Every «how to appeal» article stops at the letter. We don't, because we hold the one thing a blog can't: your actual binary. Before you submit, the auditor parses the .ipa, .apk or .aab and names the exact guideline each finding maps to — ATS to 2.5.1, a missing privacy manifest to 5.1.1, a bad version string to 2.1 — so you fix the guaranteed rejections while you can still edit the build.
And if a rejection lands anyway, the free rejection decoder maps the message you received onto the same guideline, then drafts the Resolution Center reply for you. Pre-submission and post-rejection are the same map read from two ends.
Paste your rejection into the decoder · The most common App Store rejection reasons · The full rejection reasons index, searchable by guideline
FAQ
How long does an App Store appeal take?
Apple publishes one timing figure: on average, 90% of submissions are reviewed in under 24 hours. It does not publish a turnaround for App Review Board appeals or Resolution Center replies, so treat any specific «5 to 7 day» number you read as a community estimate, not a commitment. A Resolution Center reply usually moves fastest because it returns to the same team without restarting review.
Is my app in review while I appeal?
No. Once rejected, the version sits in Rejected or Metadata Rejected and is not being reviewed. Replying in the Resolution Center or appealing to the Board doesn't put it back in the queue — only uploading a new build starts a fresh review. That's exactly why replying keeps your place and a needless build costs you the wait.
Does appealing hurt my developer reputation?
No. Appeals and Resolution Center replies are a normal part of review — Apple approved 295,109 previously-rejected submissions in 2024 after developers addressed the issue. What does cost you is repeated identical resubmissions, spammy metadata, or trying to slip past a rule. A single, well-argued appeal is not held against you.
Can I submit a new build while an appeal is open?
You can, but uploading a binary is a new submission: it supersedes the open appeal and restarts review from the beginning. Decide first — reply or appeal if the app is fine and the reviewer misread it, upload a build only if something is genuinely broken. Doing both at once usually cancels the appeal you were waiting on.
Resolution Center or App Review Board — which first?
Resolution Center first, almost always. It reaches the same reviewer, doesn't reset your queue position, and clears most misreads in one message. Escalate to the Board only after you've replied, the reviewer held the line, and you still believe the guideline was misapplied — a judgement call like 4.2 or 4.3, never a crash.
Should I fix and resubmit instead of appealing?
If the app genuinely does what Apple flagged — it crashes, a permission string is empty, ATS is wide open, IAP is missing for digital goods — fix it and resubmit; an appeal won't win. Our pre-submission auditor reads your .ipa and tells you which of those the binary will trip before you send it, so the choice is usually obvious from the report.
Sources
Check your build before you submit
Run your .ipa or .apk through App Review Checker and catch these issues in seconds.
Check an app