InAppPurchaseTutorial doesn't work (detailed description)

I just want to test the In-App Purchase function in TestFlight with my own app, but since it wasn’t successful, I decided to test the default JUCE tutorial. However, it doesn’t work either.

First things first, I set up my own product names. It’s because I have an older version with the original names from the In-App Purchase Tutorial, which produces the same result described below. The code is from the latest version of JUCE, and the project was saved using the ‘Open example’ option.

I set up all the necessary things in the Projucer, and as you can see, the In-App Purchase function is added to Xcode.

To ensure that the parameters match the identifier created in the Apple Developer site, here is the bundle ID on the code signing page:

So after this, I created an identifier with the following parameters:



So I created the app in App Store Connect and paired it with the identifier:


After that, I added the products and filled every field. The status is ‘Ready to submit’. I see a text that says: “Your first in-app purchase must be submitted with a new app version. Create your in-app purchase, then select it from the app’s In-App Purchases and Subscriptions section on the version page before submitting the version to App Review.” I can’t even interpret this because I just want to test the application. I don’t have screenshots and other parameters yet to make it accepted for submission. Furthermore, I have read in forums and descriptions that this status is efficient for testing my IAP.


After this step, I added this list to the main page. In this step, I set up the parameters first, and then I uploaded the build. I know the description says I have to upload a new build if I want to test the IAP. I have tried every possible sequence variation in previous applications, and they gave the same result (so this screen is just an example). I also tried renaming the main app version from 1.0 to 1.1.

In Xcode, I uploaded the release version with an archive. Everything is okay with that. It appears in TestFlight, and I have the result:


I tried it with a logged-in sandbox account and every possible variation, but I always get the same result. I debugged it, and the products are not visible to the software.

Please help me.


There’s not enough detail in the screenshots, but make sure that the VoiceProduct identifiers match the product IDs that you’ve set in App Store Connect. Also, ensure that your bundle IDs match exactly in Xcode and App Store Connect.

I just tested out the project here and it worked correctly, so the problem is likely to do with your App Store Connect configuration. It’s a while since our test project was set up, but I think you need to go to the “Agreements, Tax, and Banking” page and ensure that you’ve accepted the agreements for paid apps. You may also need to register a bank account, if you haven’t already.