Follow-up / Update
Update: New rejection – “Unlock Pro not responsive” on iPad, cannot reproduce locally
I wanted to provide an update, as the app was rejected again after addressing the previous feedback.
New rejection details
Apple now reports the following issue:
Guideline 2.1 – Performance – App Completeness
Bug description: “Unlock Pro is not responsive”
Steps to reproduce (per review):
Tap “Unlock Pro”
No action occurs
Review device: iPad Air (5th generation)
OS: iPadOS 26.2.1
This is confusing because:
The app works correctly on my devices
I tested the full purchase flow successfully:
on physical iPhone
in the iOS Simulator
even on an iPad simulator
The StoreKit purchase sheet appears as expected when tapping “Unlock Pro”
I followed Apple’s advice to:
uninstall previous versions
reinstall fresh
test upgrade paths
I still cannot reproduce a state where tapping “Unlock Pro” does nothing.
Important technical detail (possible cause)
Looking closer at my implementation, I realized there is a silent-failure code path:
When “Unlock Pro” is tapped:
purchasePro() is called
If Product.products(for:) fails or returns an empty array (sandbox / network / StoreKit timing issue),
proProduct remains nil
The function logs "Product not found" and returns
No user-visible feedback is shown
From a user (or reviewer) perspective, this results in:
Tap “Unlock Pro” → no visible action
This could explain Apple’s observation, even if the issue is intermittent and not reproducible locally.
Additional complication: iPad testing
Although the app is marked as iPhone-only in App Store Connect, Apple tested it on an iPad Air (5th gen) in iPhone compatibility mode.
I’m now assuming:
App Review may still test iPhone-only apps on iPad
StoreKit behavior (timing / product loading) may differ slightly in that environment
Planned fix
To make the purchase flow App-Review-proof, I am implementing:
A dedicated HydraProView that is:
always accessible
visible even when Pro is already active
Explicit loading and error states:
disable “Unlock Pro” while products are loading
show a visible error message + retry button if products cannot be loaded
Ensure that no tap can ever fail silently, even if StoreKit temporarily returns no products
Questions to the community
Have others seen StoreKit sandbox product loading intermittently fail during App Review, leading to “button not responsive” reports? How did you solve that?
Is it common for Apple to test iPhone-only apps on iPad and hold them to the same stability expectations?
Does Apple generally accept the solution of:
disabling purchase buttons while loading
and showing a visible error + retry instead of silently returning?
Any insight or confirmation would be appreciated.
At this point, I’m confident the issue is not a functional bug, but an unhandled StoreKit edge case combined with App Review environment differences.
Thanks again to everyone who helped on the first post.
Topic:
App & System Services
SubTopic:
StoreKit
Tags: