I'm developing an iOS app and implementing a RevenueCat integration. To simplify, RevenueCat relies on the bundleID of the app to connect to Apple to fetch the right subscriptions created on the account.
I originally had one version of my app using the bundleID com.x.x
- this is the version I published to Testflight and was running locally. It all worked - RevenueCat could use that bundleID to get the subscriptions I set up in App Store Connect.
Because I wanted to have both the latest Testflight version and a development version that I could iterate on on my phone simultaneously, I then followed these instructions to create a variant - I gave the variant the bundleID com.x.x.dev
, and registered that in App Store Connect. I created parallel subscriptions for that new 'app' in the App Store as well.
The trouble now is that RevenueCat can't seem to use the new bundleID to detect any offerings. I've double checked the configuration of everything and all the values seem to be correct.
On the screen Iām screenshotting below, it shows the bundleID (read from {Constants.expoConfig.ios.bundleIdentifier}
) and, if it can fetch offerings info, shows that.
I noticed today that when I build the app with npx expo run:ios
, which ends up running on my computer on iOS Simulator, the code actually works:
But when I try to run the code via a development build, ie running eas build --profile development --platform ios
to download it onto my phone then running npx expo start --dev-client
, it still does not work:
Based on how RevenueCat works, this suggests an intriguing possibility: that in the first screenshot, it's reading the com.x.x.dev
bundleID from my app.config.js
, but is still using the old com.x.x
bundleID behind the scenes.
I'm throwing this question to the Expo tag in the hopes my hypothesis is right - is there something different about how these two build methods work such that the former might be using a different (the original) bundleID in the background? Is there any way for me to check what is the 'actual' bundleID being used?