iOS 18.4 Simulator Fails to Load Products
Issue Description
In iOS 18.4, 18.4.1, and 18.5 simulators, StoreKit fails to load products and Offerings when using the sandbox environment. This affects RevenueCat SDK's ability to retrieve product information and display Offerings.
Affected Versions
- iOS 18.4 Simulator
- iOS 18.4.1 Simulator
- iOS 18.5 Simulator
- Xcode versions that include these iOS simulator versions
Symptoms
- Products fail to load in the simulator when using sandbox environment
- RevenueCat SDK reports no available products or Offerings
- Calls to StoreKit's
StoreKit.products(for:)
andSKProductsRequest
return empty product arrays - Timeout errors when requesting product information from App Store Connect sandbox specifically in Simulator
Workarounds
Option 1: Test on Physical Device (Recommended)
- Use a physical iOS device for testing instead of the simulator
- Ensure you're using sandbox Apple ID accounts for testing
- This is the recommended approach as it represents the real user experience
Option 2: Use StoreKit Configuration Files
- Create a StoreKit Configuration file in Xcode
- Use local testing instead of App Store Connect sandbox
- Configure your products directly in the configuration file
Option 3: Use iOS 18.3 Simulator
- In Xcode, select an iOS 18.3 simulator instead
- Test your in-app purchase implementation on the alternative simulator version
Impact on App Store Review
This bug will not cause app rejections. The App Store Review team uses physical devices for testing, not simulators, so they will not encounter this issue during the review process.
Why Physical Device Testing is Important
Physical devices should always be considered the ultimate source of truth for in-app purchase testing because:
- App Store Review team uses physical devices
- End users use physical devices
- Simulators may have limitations or bugs that don't affect real devices
Status
This is a known issue with iOS 18.4+ simulators when using the sandbox environment. The issue is specific to the simulator and does not affect physical devices.