It loads perfectly for my Test Flight users and works for me as well, it doesn't load on simulators though and I get this error:
Code Block Error Domain=SKErrorDomain Code=0 "UNKNOWN_ERROR" UserInfo={NSLocalizedDescription=UNKNOWN_ERROR, NSUnderlyingError=0x60000013ea00 {Error Domain=ASDErrorDomain Code=507 "Error decoding object" UserInfo={NSLocalizedDescription=Error decoding object, NSLocalizedFailureReason=Attempted to decode store response}}}
I can't load IAP's in the simulator at all without a storekit config file, and even with that attatched, apple rejected my app
This was their response :
Guideline 2.1 - Performance - App Completeness
We found that your in-app purchase products exhibited one or more bugs when reviewed on iPhone running iOS 14.5 on Wi-Fi.
We cannot select an In-App Purchase product to purchase.
No action took place after we tapped on any In-App Purchase product.
Next Steps
When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code "Sandbox receipt used in production," you should validate against the test environment instead.
They ask me to change validation servers, but I am not validating the receipts in my app at all!
When I asked about it, they didn't reply to my message
I'm very confused right now because I have other apps with IAP's already live and they were approved pretty easily, I tried using the same exact code as one of those apps and even it was producing an error in the simulator, but working fine in the app store build on an actual device.
Every time Apple rejects my app, the IAP's move from waiting for submission to Developer action needed, and I fix that before uploading a new build so the problem is not that.
It's weird that it won't load IAP's for apple engineers but it will load for my test flight users.
Any help is greatly appreciated!
Yeah, my app is live now. I had 2 apps, one was already live and one was in development, both were facing the same issue. Here's what I did
In the live app: I fixed the developer action needed error in the IAP's by just adding a random character in the localization title, and then saving, then changing it back to the original name and saving again. This time it changed to waiting for review. If you submit the app for review while your IAP's are in review, they won't load for apple testers as they test in production. So I waited 3-4 days, and when my IAP's were approved I submitted my app and everything was pretty smooth after that
In the Dev app: I thought I'll wait for the IAP's to approve for the development app just like the live one. I did the same thing and waited for a week, the IAP's never even went in review. It was always ready to submit. After a week I realized that when submitting for the first time, the IAP's are reviewed with the containing app. So basically I did nothing and submitted my app again after a week of fixing the developer action needed errors and Its nor approved and live :)