I’m using an expo managed workflow to develop an app. I’m wanting to add in app purchases for the app and use the expo-in-app-purchases package. I’ve noticed there’s a step in the documentation (InAppPurchases - Expo Documentation) to “enable the In-App Purchases capability for your app in Xcode”. I don’t know how to do this since I’m using the managed workflow and I don’t have an xcode project. Is this step required? Do I need to eject in order to add in app purchases for ios?
We’d recommend using react-native-purchases. It is currently being worked on and has full support for Expo.
@keith-kurak thanks for providing this answer. However, if I understand correctly, that module requires using the 3rd party library “RevenueCat”. Is this the only option for doing in-app-purchases with a managed workflow in expo?
So far I’m able to connect to the app store using “expo-in-app-purchases”, but when I call “getProductsAsync” it returns an empty array. I think this is due to the xcode project not being set up with the “In-App Purchases Capability”. If I understand correctly, for a managed workflow, the xcode project is set up during the build process. Is it possible to configure the build to enable the “In-App Purchases Capability”? I think this would solve my issue without the need to sign up for RevenueCat.
were you able to solve this? having the same problem with the empty array. I do not want to use revenue cat. Trying to figure out how to continue using managed builds and still get the proper xcode configuration.
If I run npx expo start, after running the prebuild command so that android and ios files can come to the application and write permissions
[Unhandled promise rejection: Error: The package ‘react-native-glassfy-module’ doesn’t seem to be linked. Make sure: ]
I am encountering the error.
Also if I do prebuild and want to develop with revenuecat
eas build --profile development --platform android
When I run the command, I get an error: build failed.
I can’t use any packages right now and I’m about to cry, what should I do?