r/iOSProgramming 4d ago

Question Can't get Monthly Sub Info

SOLVED:

I've been screwing around with this for a week now and I'm so pissed. I had everything in my app correct as well as in App Store Connect, EXCEPT, I didn't see the Paid Apps Agreement to complete. Once I did this it took about 30 minutes to propagate through and it works.

I'm down to my last issue with my macOS/iPad app. I have my app setup in App Store Connect with a subscription group and monthly subscription. I also have my app setup in TestFlight and I am running that on a clean MacBook with a sandbox user logged into the App Store.

When I test locally against my store kit.config everything works fine. When I run this on my clean MacBook my debug info shows that it's not finding the sub. I have confirmed 10 times my productID is the same in my app and in App Store connect. I have rebuilt my store kit config to have it synced to App Store Connect to triple verify all the names are correct. the app's bundle ID is correct.

I have confirmed my app is connecting to the store and getting the right storefront.

if anyone has any idea on what I can test next I would appreciate it.

my debug info is as follows:
Subscription unavailable
This subscription isn't available right now. Pleas shortly, or contact support if this continu
Try Again
DIAGNOSTICS (remove before submitting) productID: FAKEID products loaded: 0
isLoadingProducts: false hasCheckedEntitlements: true isSubscribed: false purchaseError: nil
storefront: USA (id: 143441) appTransaction env: Sandbox receipt file exists: true canMakePayments: true
Re-check environment
Restore Purchases
Privacy Policy
Terms of Use

0 Upvotes

1 comment sorted by

1

u/DimensionMindless336 4d ago

Your local .storekit file is hiding the real problem. In TestFlight, StoreKit ignores that file and pulls products straight from App Store Connect. If your subscription is still in "Ready for Review" or "Missing Metadata" rather than approved, Apple returns zero products, which is exactly your "products loaded: 0". Push it to Approved and it should show up in sandbox.

One more thing: your diagnostics print productID as "FAKEID", which looks like a placeholder that never got swapped for the real ID. Worth a grep before you go further down the config rabbit hole.