App Review Guideline
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.
Why it happens
- A third-party SDK that calls private selectors.
- Code referencing private frameworks or symbols (often reported as ITMS-90338 at upload).
How to fix it
- Find the symbol named in the message (nm or strings on the binary) and the library that brings it in.
- Update or replace that SDK; remove any direct private API calls.
What to reply in Resolution Center
After the fix is in the build you submit:
Hello App Review team, Thank you for the review of [app name] [version]. We removed the non-public API usage by [updating / removing] [library]. We have submitted build [build number] with these changes. Please let us know if anything else needs attention. Best regards
Got this in a rejection?
Paste the whole message into the rejection desk for the fix and a reply filled in with your app's details.
Fix my rejectionOther guidelines
- 2.1 App Completeness
- 2.3 Accurate Metadata
- 2.3.1 Hidden or undocumented features
- 2.5.2 Self-contained apps
- 3.1.1 In-App Purchase
- 3.1.2 Subscriptions
- 4.0 Design
- 4.2 Minimum Functionality
- 4.3 Spam
- 4.8 Login Services
- 5.1.1 Data Collection and Storage
- 5.1.1(v) Account sign-in and deletion
- 5.1.2 Data Use and Sharing
- 5.2 Intellectual Property