App Store rejections, explained
Have the message in hand? Paste it into the rejection desk. Otherwise, pick the guideline or error code.
App Review Guidelines
- 2.1 App Completeness
The reviewer hit something unfinished: a crash, a broken link, placeholder content, or a feature they could not reach.
- 2.3 Accurate Metadata
Your App Store listing (name, description, screenshots, previews, keywords) does not match what the app actually does.
- 2.3.1 Hidden or undocumented features
Apple believes the app contains features that are hidden, dormant or not described in the review notes.
- 2.5.1 Software Requirements: public APIs
The app uses non-public (private) Apple APIs, or uses public APIs in a way they were not designed for.
- 2.5.2 Self-contained apps
The app downloads or runs code that changes its features or functionality after review.
- 3.1.1 In-App Purchase
The app unlocks digital content or features with a payment method other than Apple's In-App Purchase.
- 3.1.2 Subscriptions
The subscription offer or its disclosure does not meet Apple's rules.
- 4.0 Design
The interface does not meet Apple's design expectations: broken layouts, unusable screens or an experience that feels unfinished.
- 4.2 Minimum Functionality
Apple sees the app as too thin: a repackaged website, a simple list or a single feature that doesn't feel like an app.
- 4.3 Spam
Apple sees the app as a duplicate: of your own apps, of a template, or of a crowded category.
- 4.8 Login Services
The app offers a third-party or social login but no equivalent privacy-focused option such as Sign in with Apple.
- 5.1.1 Data Collection and Storage
How the app asks for, explains or handles personal data does not meet Apple's privacy rules.
- 5.1.1(v) Account sign-in and deletion
Either the app forces account creation for features that don't need it, or it lets people create an account but not delete it in the app.
- 5.1.2 Data Use and Sharing
The app shares or uses personal data (for tracking or with third parties) without the permission Apple requires.
- 5.2 Intellectual Property
The app uses content, names, logos or characters you don't have the rights to.
Upload errors (ITMS)
- ITMS-90683 Missing purpose string in Info.plist
The binary uses a privacy-sensitive API (camera, location, photos, contacts and so on) but Info.plist has no usage description explaining why.
- ITMS-91053 Missing API declaration (privacy manifest)
The app uses a 'required reason' API (such as UserDefaults, file timestamps, system boot time or disk space) without declaring the reason in a privacy manifest.
- ITMS-91061 Missing privacy manifest for a third-party SDK
The app includes a commonly used third-party SDK that Apple requires to carry its own privacy manifest, and this copy doesn't.
- ITMS-91056 Invalid privacy manifest
The PrivacyInfo.xcprivacy file is present but malformed or uses keys or values Apple doesn't accept.
- ITMS-90189 Redundant binary upload
A build with this version and build number was already uploaded.
- ITMS-90062 Version must be higher than the previously approved version
CFBundleShortVersionString isn't higher than the version already approved on the App Store.
- ITMS-90717 Invalid App Store icon
The 1024×1024 App Store icon has an alpha channel or transparency.
- ITMS-90338 Non-public API usage
Static analysis of the upload found references to private Apple APIs.
- ITMS-90174 Missing provisioning profile
The archive isn't signed with an App Store distribution provisioning profile.