Hello,
I am developing an iOS app using Expo React Native with TypeScript and the react-native-iap library for handling in-app purchases. However, I am facing issues when testing subscriptions.
Issue Details Development Mode (Simulator & Physical Device):
When the app initializes with withIAPContext, I immediately receive the error: E_IAP_NOT_AVAILABLE
This prevents the app from fetching available subscriptions.
TestFlight (Production Environment):
The app does not render anything inside my SubscriptionsIOS.tsx component.
No error messages appear, but the subscriptions do not load, and the UI does not display anything.
Steps to Reproduce Open the app on an iOS simulator or physical device.
Navigate to the SubscriptionsIOS.tsx component, where in-app purchases should be displayed.
In development mode, the error E_IAP_NOT_AVAILABLE appears immediately.
In TestFlight, the app does not crash, but nothing renders in the subscription screen.
What I Have Done So Far
✅ Enabled In-App Purchases in Apple Developer and App Store Connect.
✅ Ensured my bundle identifier matches the one in App Store Connect.
✅ Set up a Sandbox account for testing purchases.
✅ Verified my react-native-iap implementation and restored transactions properly.
I would appreciate any guidance on why E_IAP_NOT_AVAILABLE appears in development and why in-app purchases fail silently in TestFlight.
Does Apple require additional steps for Expo-based apps to handle in-app purchases correctly?
Thanks in advance for your help!