RejectProofRun the free check

Guideline 2.5.1 rejection: Software Requirements — public APIs only

How the rejection usually reads: "Your app uses or references the following non-public or deprecated APIs" (ITMS-90338) / "The app references UIWebView" (ITMS-90809)

Why it happens

This one is decided by Apple's automated scan at upload time, before a human sees the build. Private selectors (LSApplicationWorkspace, MobileGestalt, IOKit queries), the long-deprecated UIWebView, and disabled App Transport Security without justification all trip it. The symbol almost always comes from a dependency rather than your own code, so the fix is finding which pod or package contains the string and updating or replacing it.

What can be checked before you submit

5 of RejectProof’s checks map to Guideline 2.5.1. Each one reads your .ipa — no upload — and reports the evidence with a fix.

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.

← All rejection reasons