Test IAP consumable in production before releasing

We have been testing IAP Consumable using sandbox against our internal Dev server. We would like to test consumables against prod/live but understand that the consumables need to go through the approval process. Consumables are new to our app. Can this happen in test flight to allow external users to test without releasing? Has anybody submitted a new binary (with no change) just to get consumables approved before releasing code which used the consumables? If not, do we wait to submit with the update to the app which will use consumables, wait for approval, then don't release and test in test flight? Again, we have been testing internally using sandbox but want external users to test against production/live without releasing the app to the public.

Thanks!

Replies

You can test the consumable IAP using Xcode or TestFlight builds. You need code in the app to request the productIdentifier for the new consumable IAPs. Therefore you most likely need a new binary uploaded to TestFlight. If not, 1) you’re a very good programmer and 2) you can access the IAP from any build submitted to TestFlight - but I suspect you will need a new binary.

We are already doing Sandbox testing internally against the Consumables which are not yet approved and against a development server, we did not have to do a TestFlight build for this of course and it is done on internal devices.


What I'm asking is do the Consumables need to be approved before testing against production using TestFlight?

You don't "test[ing] against production using TestFlight".


TestFlight generates a sandbox testuser with the same name as the Apple ID of the user who is running TestFlight. IAP purchases made from a TestFlight build are made in the sandbox using that testuser's sandbox account.


But if your question was "(D)o the Consumables need to be approved before testing against (sandbox) using TestFlight?" the answer is "no".

>We would like to test (consumables) against prod/live


A contradiction in terms.


It might help to understand that 'testing' and 'live' are two different things, especially when it comes to using TestFlight. I'd consider that your issue is more about the concepts involved than the process. How many times do you need to verify before you release to production?


Either you have confidence in your process or you don't, and when it comes to software, it's not appropriate to straddle that fence. If you're being (t)asked to double/double check by someone higher up, it's time to educate them and re-establish trust - trust in you, trust in the tools and trust in the process.

Old question, but as warning to others reading this.

You should definitely submit and get your in-app purchases approved by Apple before releasing an app that uses them. For our app, we just released a new auto-renewable subscription and the version of the app that uses it at the same time. The app version got approved, but the subscription not.
As the result, we now have a live app that uses a subscription that does not exist.