Question

purchasePackage() works properly on iPhone, but not iPad

  • 8 November 2023
  • 5 replies
  • 66 views

Badge +3

I have RevenueCat fully set up in my React Native application, and the purchasePackage() function seems to be fully functional when testing on an iPhone. In Sandbox, the popup that prompts the user to sign in with their Apple ID to pay works and has no issues aside from slight delay in between the prompt popup and the “success” alert.

 

However, when I test the exact same build on my iPad, purchasePackage() doesn’t do anything. No errors are thrown, and the only indication that I see the purchasePackage() doing anything at all is the addCustomerInfoUpdateListener() being fired. Other than that, no popups show up, no errors show up, nothing.

 

I would like to note I am testing these on real devices.

 

Any help would be greatly appreciated!


5 replies

Userlevel 5
Badge +9

Hello,

It sounds like there might be an error that we’ll be able to see in the debug logs. If you open the xcworkspace file in Xcode and build and run from there you’ll be able to see the logs in the Xcode console. If you’d like you can share the logs here once you have them and we can take a look.

P.S. That delay between the payment sheet and the success alert is expected, it takes some time to communicate with Apple and get a successful response back. It’s often longer in sandbox because test users tend to have many purchases in their histories.

Badge +3

Hello,

It sounds like there might be an error that we’ll be able to see in the debug logs. If you open the xcworkspace file in Xcode and build and run from there you’ll be able to see the logs in the Xcode console. If you’d like you can share the logs here once you have them and we can take a look.

P.S. That delay between the payment sheet and the success alert is expected, it takes some time to communicate with Apple and get a successful response back. It’s often longer in sandbox because test users tend to have many purchases in their histories.

Unfortunately, I don’t have an Apple computer and am doing all my work on a Windows machine. I use Expo development builds to test and run my app, however I’m only able to see console.logs in the terminal :/ I have Purchases.setLogLevel(Purchases.LOG_LEVEL.DEBUG) in my initialization of RevenueCat as well.

 

I’m assuming, though, if I wanted to see the debug logs, I would have to use the Expo debugger (?) however I’m unable to get that working as it gives me this error message (if you’re familiar with Expo):

 

Badge +3

Hello,

It sounds like there might be an error that we’ll be able to see in the debug logs. If you open the xcworkspace file in Xcode and build and run from there you’ll be able to see the logs in the Xcode console. If you’d like you can share the logs here once you have them and we can take a look.

P.S. That delay between the payment sheet and the success alert is expected, it takes some time to communicate with Apple and get a successful response back. It’s often longer in sandbox because test users tend to have many purchases in their histories.

I managed to get the debugger working on a separate computer, however I still don’t see the debug logs.

Userlevel 5
Badge +9

Hi @pgk1216,

I believe this was resolved via a support ticket but to wrap up the community post I wanted to share that the two solutions in this specific case were enabling StoreKit 2 and checking for the iPadOS device type. Please let us know if you have any other questions!

Hi @sharif ,
I am facing the same issue and would love it if you guide me on how to enable StoreKit 2  and check for the iPadOS device type. I am using it inside a native iOS application with SwiftUI and Combine Tech Stack.

Reply