react-native-iap: iOS 15 fails to fetch products.

Please use Discussion board if you want to get some help out of it. Please report issue if there is a bug.

Version of react-native-iap

react-native-iap 7.3.0 (tried in 7.5.0 also)

Version of react-native

react-native: 0.64.0

Platforms you faced the error (IOS or Android or both?)

iOS, version 15.0

Expected behavior

getSubscriptions call should populate subscriptions (useIAP)

Actual behavior

  • getSubscriptions will never trigger callback.
  • In the log I am getting -> Background Task 88 ("SKProductsRequest"), was created over 30 seconds ago. In applications running in the background, this creates a risk of termination. Remember to call UIApplication.endBackgroundTask(_:) for your task in a timely manner to avoid this.

Looks like an iOS 15 related issue.

Tested environment (Emulator? Real Device?)

Real Device

Steps to reproduce the behavior

  • Install app in the device which already has an expired device (Not sure about fresh install)
  • currentPurchase will get populated with older purchase details.
  • Quit the app and try again. No product will be fetched, getSubscriptions will continue forever.
  • At this time TestFlight app turns into renew status.

Refer threads

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 2
  • Comments: 16 (2 by maintainers)

Most upvoted comments

Definitely the same for me. I can’t get available purchases and subscriptions from getSubscriptions and getAvailablePurchases. What is the main reason? react-native-iap version problem or any other things? Needed help!

The promise is not resolving at all. React Native 0.66.4 / iOS15.4

import { useIAP } from 'react-native-iap';

getSubscriptions(['MONTHLY']).then(() => {
   console.log('Done');
}).catch(() => {
   console.log('Error')
});

Done or Error is never logged.

I had the same issue. Just update the Ios version from 15.0 to Ios 15.1 and it will work.