Problem Description:
My iOS app's In-App Purchase shows "Product not found" error even though the IAP is approved in App Store Connect. The app returns 0 available products when trying to fetch them. But there are no errors in Simulator.
Technical Details: App: iOS SwiftUI app using StoreKit 2
Error: Product not found. Available products count: 0
What Works:
- App compiles and runs without errors
- StoreKit 2 implementation follows Apple's guidelines
- Product fetching code is correct (Product.products(for:))
- IAP is approved in App Store Connect
- Bundle ID matches between Xcode and App Store Connect
- No errors shown in App Store Connect interface
What Doesn't Work:
- Product.products(for:) returns empty array
- App cannot find the approved IAP product
- Purchase flow cannot proceed due to missing product
- App Store listing doesn't show "Offers In-App Purchases" badge
What I've Tried:
- Implemented product caching and robust error handling
- Added comprehensive debug logging
- Verified bundle ID and product ID match exactly
- Uploaded multiple app versions (3+ rounds)
- Waited for App Store approval each time
- Tested on multiple devices and accounts
- Checked App Store Connect for any configuration issues
Status Quo: The IAP is approved in App Store Connect but Apple's servers are not returning the product to the app. This appears to be a StoreKit backend configuration issue rather than a code problem. Again I'm getting no errors in Simulator
Has anyone experienced this specific issue where an approved IAP returns 0 products? What was the solution?
P.S. One thing that I added: when the user buys the App they get a pre written script as a thank you. Which Is part of the “product”.