I was using react-native-iap and it works flawlessly on both android and iPhone. Apple rejected the app since it was problematic on an iPad.
I have two subscriptions, a monthly and an yearly with productId as [appName_monthly, appName_yearly] where appName is my app's name not mentioned here for obvious reasons.
Upon debugging I found out that when using iap's getSubscriptions method, when the skus were passed in as ["", ""], only then the iap would resolve its promise and return an empty array but as soon as I passed in the correct skus as [appName_monthly, appName_yearly] or even any character inside the string, the method won't return anything, neither an empty array nor an error.
Subscriptions are submitted and approved on appstoreConnect and everything works fine on an iPhone. It's just the iPad and apple keeps rejecting the app because of this iap error.
I tried calling getSubscriptions directly as well as using the method from useIAP hook and also placed consoles in the library itself to see if the response items are ever received but not returned due to any reason or if there is any error but nothing logs.
Below is the code that I tried (not including the setup and config code).
const fetchSubscriptions = async () => {
const subs = await getSubscriptions( { skus:['appName_monthly', 'appName_yearly'] } );
}