We are testing two auto-renewable subscriptions for a new iOS app. In Apple Sandbox, StoreKit 2 Product.products(for:) always returns an empty array. Legacy SKProductsRequest independently reports both identifiers as invalid.
Environment:
- Physical iPhone, iOS 26.5
- Xcode development build with automatic signing
- Storefront.current = USA (143441)
- canMakePayments = true
- No StoreKit Configuration file in the Run scheme
- Direct native StoreKit 2 diagnostics, without a third-party purchase SDK
TN3186 checks completed:
- Explicit Bundle ID matches the App Store Connect app, installed app, and provisioning profile
- In-App Purchase is enabled for the App ID
- Developer membership, Paid Apps Agreement, banking, and tax are active
- One subscription group with monthly and yearly subscriptions is visible
- Pricing, localizations, and availability are configured
- Neither subscription is Rejected or Developer Action Needed
- The scheme is using real Sandbox data, not local StoreKit testing
Results:
- StoreKit 2 batch query: rawCount = 0
- SKProductsRequest: valid = []; both identifiers are invalid
- StoreKit 2 individual monthly query: 0
- StoreKit 2 individual yearly query: 0
- No exception; failure occurs during product discovery
Related reports:
- https://developer.apple.com/forums/thread/839313 — TN3186 verified and USA storefront valid, but still 0 products; no replies
- https://developer.apple.com/forums/thread/841722 — Apple Commerce mentioned Rejected or Developer Action Needed states; ours have neither
- https://developer.apple.com/forums/thread/820656 — Apple DTS confirmed first subscriptions do not require review before Sandbox testing
Apple Developer Support referred us to TN3186, and we verified every applicable item. The individual subscription detail route in App Store Connect also intermittently remains on a loading indicator although the group and both records are visible.
Could an App Store Commerce or StoreKit engineer check whether the app-to-IAP catalog association is populated correctly on Apple's side, or advise an official escalation path to have the Sandbox catalog reprocessed?
Exact account, app, product, device, email, and support-case identifiers are omitted from this public post and can be supplied privately through Apple Support or Feedback Assistant.