Rejection Decoder
Home / Guidelines / 2.1(b)

Guideline 2.1(b) rejection: In-app purchases not found

What it means, why it happens, and how developers get through it.

Subject line you may see: Guideline 2.1(b) - Performance - App Completeness

In one line: The reviewer could not find or buy one of your in-app purchases.
Usual next move: Fix, new build, then replySomething in the binary has to change. Fix it, bump the build, resubmit, and reply with what changed and how to verify.Based on how this guideline is usually resolved, not a prediction for your app.
Paste your rejection to check
On this page: CausesFixReplyReal casesQuestions

Common real causes

How to fix it

  1. Confirm Agreements, Tax, and Banking are Active
  2. Attach every IAP to the version before submitting
  3. Add a visible path to the paywall, such as a Pro row in Settings
  4. Explain in Notes for Review where each product lives

What to put in your reply

Thank them and name Guideline 2.1(b).
Say exactly what changed, and in which version and build.
Give a numbered path the reviewer can follow.
Attach proof: screenshots or a screen recording.

The full fill-in-the-blanks reply for 2.1(b) is in the Rescue Kit.

Real cases: others who got 2.1(b)

1 public case: 1 outcome unknown. Outcomes are what the developer posted.

Outcome unknownX · @mhmtkeremmutlu · Sep 7, 2026

Rejected twice for the same in-app purchase issue (2.1(b))

Outcome unknown.

Questions developers ask about 2.1(b)

What does a Guideline 2.1(b) rejection mean?

The reviewer could not find or buy one of your in-app purchases.

Why do apps get rejected under Guideline 2.1(b)?

The most common real causes: IAP not attached to this version; paid Apps Agreement or banking not active; product stuck in Missing Metadata; paywall hidden behind long onboarding or a usage limit; product IDs in code do not match App Store Connect.

How do I fix a Guideline 2.1(b) rejection?

1. Confirm Agreements, Tax, and Banking are Active. 2. Attach every IAP to the version before submitting. 3. Add a visible path to the paywall, such as a Pro row in Settings. 4. Explain in Notes for Review where each product lives.

Do I need a new build for Guideline 2.1(b)?

Fix, new build, then reply. Something in the binary has to change. Fix it, bump the build, resubmit, and reply with what changed and how to verify. This is how the guideline is usually resolved, not a prediction for your app.

How should I reply to App Review about Guideline 2.1(b)?

Reply in App Store Connect. Thank the reviewer and name Guideline 2.1(b), say exactly what changed and in which version and build, give a numbered path the reviewer can follow, and attach proof such as screenshots or a screen recording.

Stuck on 2.1(b)?

Do it yourself, faster

App Store Rejection Rescue Kit: the full decoder, 12 reply templates, Notes for Review templates, and a 60-point preflight checklist.

Get the kit, $12

Have it written for you

Send your rejection, get a reply drafted for your exact case. Kit buyers get $10 off.

AI-assisted, built on Apple's App Review Guidelines. Not a guarantee of approval. If we do not deliver within 24 hours, you get a full refund.

Reply service, $29

Related rejections

2.1(a) App Completeness2.1 Information Needed2.5.2 Downloading or executing code2.5.19 Hidden or undocumented features

Source: Apple's App Review Guidelines, section 2.1(b), as revised October 16, 2026. Last checked . Always read the current official text. How we write these guides.