App Store rejection
Guideline 2.1 - Performance - App Completeness
Something didn't work when Apple tested your app, even if it works fine for you. We find what the reviewer hit, fix it and stay on it until it's approved. Fixed price, half paid only after approval.
Free triage within 12 business hours.
Paste the rejection, get a straight answer
Free first read. We reply within 12 business hours with what's behind it and a fixed price.
What the message is usually about
These rejections usually say one of these:
- The app crashed or showed an error during review.
- A button, screen or feature didn't respond.
- The reviewer couldn't find or buy your in-app purchases.
- The demo account or the sign-in didn't work.
The message often lists the device and the iOS version the reviewer used, and sometimes adds screenshots or crash logs. That's the most useful part of it.
Read guideline 2.1 on Apple's site →
What Apple's message says
The lines 2.1 rejections use most often, word for word, and what each one means in practice.
The app exhibited one or more bugs that would negatively impact users.
Something broke when the reviewer tested your app: a crash, an error or a screen that didn't load. The device and iOS version listed in the message are where we start reproducing it.
We were unable to use the core feature
The reviewer couldn't get to the main thing your app does. Often the cause is a sign-in, a demo account or a server that didn't respond, not the feature itself.
The In-App Purchase products in the app exhibited one or more bugs which create a poor user experience.
Your purchases didn't load or didn't complete for the reviewer. This is often the products' setup in App Store Connect rather than your code, so a new build alone may not fix it.
What it actually means
The reviewer couldn't finish testing your app because something didn't work on their device. Not on yours.
That gap is the whole problem. The reviewer runs a fresh install of the release build, often on a different device, with no data, no login and no purchases from your testing. Something that has never failed for you can fail every time for them.
If Apple asked for answers or a screen recording instead of reporting a problem, that's a different 2.1 message: Information Needed.
Why guessing is expensive
- If you can't reproduce it and resubmit anyway, the same thing usually happens again, and that's another week.
- "It works on my phone" isn't an answer App Review accepts.
- Missing purchases are often not a bug in the code at all, but products or setup in App Store Connect. A new build won't fix that.
- Every new build you send while guessing can bring new issues of its own.
What we do
- Reproduce what the reviewer saw: their device type, their iOS version, a fresh install of the release build.
- Find the real cause: the code, the products, the demo account or your server.
- Fix it, prepare the new build if one is needed, and write a reply that tells the reviewer exactly where to look.
- Stay on it through every round.
You keep your code and your account. We never ask for your Apple ID password. If we need access, it goes through an App Store Connect user with the App Manager role.
Fixed price
Reviewer Reply
$99
Regular price: $190When nothing in the code is broken, for example products not attached to the version or a demo account to fix: the changes in App Store Connect and your reply, followed until Apple decides.
Rejection Fix
$249
Regular price: from $490The fix in your code, the new build, the reply to App Review and every round for the same issue.
Products not loading, purchases failing or a StoreKit or RevenueCat setup that needs rework? That's Subscription & IAP Rescue, from $890.
Several apps rejected at once? Send them all, we'll quote per app.
50% to start, 50% after Apple approves the submission. If Apple does not approve the submission for the guidelines we fixed, we keep working on those guidelines at no extra cost for up to 3 resubmissions within 60 days. If it still is not approved, you do not pay the second half.
Proof
2.5.1 · 5.2.5
In this AI era we focus so much on speed and shipping to the point we don't take the time to understand parts of the process. Even though I think the Apple Review team can speak in a more human and clear way, I still think they have a hard and necessary job. You've helped me go through this in a smooth way, you reduced this bottleneck to one message, and I can't be more thankful to you!
An app we worked on went through 7 rejections and was approved on round 8.
Questions
What does "The app exhibited one or more bugs that would negatively impact users" mean?
Something failed when the reviewer tested your app: a crash, an error or a feature that didn't respond. It happened on their device, with a fresh install of the release build, so the device and iOS version in the message are where we start.
It works on my device. Why did it fail for them?
The reviewer uses a fresh install of the release build, often on another device, without anything left over from your testing. That's where most of these problems hide.
Do I need a new build?
If the problem is in the code, yes. If it's the products, the demo account or your server, often not.
The reviewer used an iPad, but my app is for iPhone.
iPhone apps can run on iPad, and the rejection can come from an iPad. The message lists the device they used.
What if the problem can't be reproduced?
Then we reply to App Review with what was tested and ask for the exact steps, instead of guessing with a new build.
How fast do you answer?
Free triage within 12 business hours.
Do you need my Apple ID password?
No, never. Access goes through an App Store Connect user with the App Manager role.
Send us your rejection
Paste Apple's message, including the device and iOS version it lists. We'll tell you what's behind it and give you a fixed price.
Prefer X? DM us at @verdict_studio
Got it. Free triage within 12 business hours.
Written by Ivan Bilousov, founder of Verdict Studio · Updated
