Guideline 2.3 rejection: Accurate Metadata
How the rejection usually reads: "Your app's metadata contains placeholder or inaccurate content" / "the name, description or keywords reference other platforms or apps"
Why it happens
2.3 rejections come from App Store Connect, not from the code: an app name that contains "beta" or "test", keywords stuffed with competitors' names, a description that mentions Android, screenshots that do not match the current build. Reviewers read the listing as a set of claims and test each one. The fix is editorial — rewrite the fields — but two of the checks can be caught from the binary too: placeholder wording in CFBundleDisplayName and localizations that do not match what you declared.
What can be checked before you submit
1 of RejectProof’s checks map to Guideline 2.3. Each one reads your .ipa — no upload — and reports the evidence with a fix.
- Version or build number missing/invalid
PB-25 · guideline 2.3 (metadata) · likely rejection
Enter a proper version (e.g. 1.0.0) and build number. Expo: app.json → expo.version and expo.ios.buildNumber.
What a scan cannot tell you
Static checks read the build; they do not run it. Whether a reviewer likes your design, agrees with your content, or considers the app “sufficiently different” is their call. Fix the mechanical layer first so the human review is about your product, not about a missing plist key.