Short answer
Find the API or framework the rejection names. Remove any private API call, often one that comes from a third-party SDK, update dependencies that still use deprecated frameworks, and turn off capabilities the app doesn’t use. If the app uses HealthKit, HomeKit or a similar framework, say so in the App Store description. Then reply in App Store Connect and resubmit.
Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.
The usual causes, and the fix
01
A private API, often inside an SDK
“Apps may only use public APIs and must run on the currently shipping OS.” Apple, Guideline 2.5.1
App Review checks the binary for calls to APIs that aren’t public. The call is often in a third-party library, not in your own code. If the rejection names a symbol or selector, search your code and your dependencies for it, update or remove the library that uses it, and upload a new build.
02
A deprecated framework or technology
“Keep your apps up-to-date and make sure you phase out any deprecated features, frameworks or technologies that will no longer be supported in future versions of an OS.” Apple, Guideline 2.5.1
An old plugin or SDK can keep a framework in the app that Apple is phasing out. Update the dependency to a release that no longer uses it, and build with the current Xcode and SDK.
03
The description doesn’t mention the framework
“Apps should use APIs and frameworks for their intended purposes and indicate that integration in their app description.” Apple, Guideline 2.5.1
If the app uses HealthKit, HomeKit or a similar framework, the App Store description has to say so. Add a plain line such as "Syncs your workouts with the Health app", and point App Review to the feature in your reply.
04
A capability left on with no feature behind it
“For example, the HomeKit framework should provide home automation services; and HealthKit should be used for health and fitness purposes and integrate with the Health app.” Apple, Guideline 2.5.1
A HealthKit capability copied from a template, with nothing in the app that uses it for health or fitness, reads as a framework used for the wrong purpose. Remove the capability in Xcode if the app doesn’t need it, or build the feature it is for.
Checked against the vendor’s docs on : Apple: App Review Guidelines, 2.5.1 Software Requirements; Apple: App Review (replying and appeals).
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
Resubmit before Apple’s holiday slowdown
Pay for the Diagnosis and send the rejection and access to the app by (US Eastern). The Diagnosis is back by . Pay for the Fix that day and it arrives as a pull request by , in time to build and resubmit before .
In past years Apple said reviews may take longer around the holidays: December 20 to 26 in 2024 (opens in a new tab), December 22 to 27 in 2023 (opens in a new tab), December 23 to 27 in 2022 (opens in a new tab). Apple hasn’t posted its 2026 dates yet (checked ). Approval stays Apple’s decision.
“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
Related: App Store Guideline 2.1 · App Store Guideline 2.3 · App Store Guideline 5.1.1 · App Store Guideline 2.5.2