Hello,
I’m reaching out after several days of investigation, as I’ve exhausted all standard troubleshooting steps and would truly appreciate guidance from Apple engineers or experienced developers.
I am experiencing a persistent issue where StoreKit does not return any subscription products on any device, despite all subscriptions being fully approved and correctly configured in App Store Connect.
What is happening • Auto-renewable subscriptions exist and are approved in App Store Connect • The app is installed from the production App Store (not TestFlight, not sandbox) • initConnection / StoreKit initialization succeeds • Requests for products/subscriptions return an empty result (no errors, no IDs) • In the UI, prices are shown as “Unavailable” • This behavior is 100% reproducible on every device, every Apple ID, every network
Important detail
This issue is not device-specific, account-specific, or environment-specific: • Tested on multiple iPhones • Tested with different Apple IDs • Tested on different networks • Same result every time — no subscriptions returned
Why I believe this is not a code issue
The exact same symptoms previously occurred on Google Play, where the root cause turned out to be a store-side configuration flag blocking billing visibility, not an application bug.
Because: • StoreKit initializes correctly • No runtime errors occur • The issue is global across devices and users
…I strongly suspect there may be an App Store Connect / StoreKit configuration, availability, storefront, agreement, or propagation-related factor that is preventing StoreKit from returning the products at runtime.
Is there any known App Store Connect or StoreKit condition where: • subscriptions are approved and visible in App Store Connect • but StoreKit returns an empty result set in production?
If so, I would be extremely grateful for guidance on where exactly to verify or correct this.
Thank you very much for your time and support — any insight would be hugely appreciated.
Kind regards, Mateusz
Is there any known App Store Connect or StoreKit condition where: • subscriptions are approved and visible in App Store Connect • but StoreKit returns an empty result set in production?
From TN3188: Troubleshooting In-App Purchases availability in the App Store:
Validate your product identifier list
To verify your product identifier list, perform these steps:
-
In App Store Connect, find the app that matches your app’s bundle ID.
-
Verify each product identifier in your list matches the product identifier (
Product ID) of an In-App Purchase created for the app in App Store Connect.
Review the availability of your In-App Purchases
A customer’s Apple Account country or region determines the App Store country or region where they can purchase content. For example, an account set to Canada can only purchase In-App Purchases from the App Store in Canada. If your In-App Purchase is available in all countries or regions of the App Store except Canada, Product.products(for:) won’t return a Product instance for your In-App Purchase on a device with an Apple Account set to Canada. In App Store Connect, you can select or deselect the countries or regions where your In-App Purchases are available on the App Store. For more information, see Set availability for in-app purchases.
After you confirm the status of your In-App Purchases is Approved, review their availability in App Store Connect. Confirm you select all the countries or regions where you want to sell the In-App Purchases. For instance, select all the countries and regions supported by the App Store to make your In-App Purchases available for sale in every App Store.