IAP doesn't work in TestFlight on iOS 15

Hello, Apple and community.


Since the release of iOS 15 our team have serious issues with In-App Purchases in TestFlight builds:

  • "Product Info" and "Restore Purchases" requests are never coming back. Once I've been waiting for more than 5 minutes and there were still no response from Apple. Nor error, nor success. 🤷‍♂️
  • After TestFlight build of our app tries to use StoreKit at lease once, the device account, which is active in App Store, goes amok - all purchases are gone (even free apps/games) and even already installed apps stop working if they use account ID to validate premium features. Apple Arcade stops working as well. The only solution is to restart the device. After the restart everything is back to normal, until we launch our app again...
  • Even the old TestFlight builds, which we released to App Store more than a months ago, have the same issues with IAP. Previously, those TestFlight builds were working just fine.
  • App Store version works as expected, no issues at all.
  • The issue only happens with our primary accounts which we've been using for app testing for 2+ years already. Also, the issue is gone if we log in with different (clean) Apple ID.
  • We experience these issues in different geographical locations (Ukraine and Lithuania).
  • My colleague even tried to reinstall iOS 15 (without restoring data from the backup) to no avail. The issue is still there.
  • We currently develop 2 separate apps, both are using 99% the same IAP managing code. The TestFlight builds of our other app work just fine with our accounts, no issues at all.


Probably it's needless to say that this issue drives us crazy and makes developing our apps so much harder... 😕 Did anybody else experienced anything similar? Is there a solution (or any suggestions) we could try to get things back to normal?


Thank you. 🙏🏻

Posted on Oct 3, 2021 6:56 AM

Reply

Similar questions

5 replies

Oct 21, 2021 2:05 AM in response to SnickityBit

I have found a workaround (kind of) to reduce the impact of this issue on our development and testing process.


I have noticed that my App Store account "breaks" whenever I try to restore or finish transactions. According to Apple docs we should always allow transactions to finish upon app start. StoreKit.finishTransaction method is called on app start and returns about 200 expired purchases. And after that - no other call to StoreKit will ever return (like productInfo or purchase). So what I did was stop calling finishTransaction method when the app is running in TestFlight environment. That pretty much solved most of our issues - we can successfully retrieve and display product prices and perform purchase or restore. Account will still "break" after purchase or restore operation, but once the device is restarted - app continues to work with premium features unlocked without breaking account again. Definitely not ideal, but at least not that bad anymore...


Hope that helps. 🤓

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

IAP doesn't work in TestFlight on iOS 15

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.