Does my app have to be approved in the app store for me to test in-app purchases?

You def. should get the IAP items submitted.  I would wait until they are submitted to reject the binary.

Rob

It would appear that now I have uploaded the binary, I cannot submit the iAPs. The iAP Submit for Review button is greyed out.

You may have to contact Apple support. 

Rob

Ok, so attaching the items to the version is necessary before marking the app for binary upload.

This is complicated. Surely there’s a simpler way for the store owners to run this.

So, now, both the iAP’s and the binary are “waiting for review.”

If I revoke the binary, won’t that cause the iAP’s to not get reviewed by the App Store Police? Or, should I definitely revoke the binary in the next few hours?

Also, should I use a development provisioning profile to test the iAP’s with?

I don’t think rejecting the binary will cause you a problem.

A development profile should cause the app to use the sandbox for testing. 

Rob

Can’t believe this still doesn’t work. After tomorrow, it won’t matter because the store will shutdown for a week…

I’ve submitted the binary and attached the iAPs to it, waited a week and the binary was Waiting for Review while the iAPs were In Review. They never appeared to make any progress, so I have rejected the binary. This appears to have put the iAPs back to Waiting for Review.

Guess I just wait…

horacebury, did you end up resolving the problem? Did the IAP get approved after rejecting, or how did you go about it?

EDIT: Not sure how up to date the iTunes connect documentation is, but according to Apple:

  1. Uploading a build (regardless of whether you reject it) guarantees that IAP won’t work. The only work around, according to the doc, is to upload a build that does not use IAP, get it approved by Apple (not live, of course, but approved), and then modify your game to support IAP after.

  2. You’re (apparently) just supposed to add the IAP without a screenshot, and then it should work…? (well, not for me, but according to the docs…)

As an FYI, having just gone through adding IAP to an existing app, I can share that you can test successfully with an adhoc profile.  I have only ever created adhoc and appstore profiles, and was able to test using the adhoc one.

@richard9 I stopped trying when the store shut down for Christmas and now I’m working on something else. I’m distracted easily, it would appear. I’ll let you know when I get back to it.

@thegdog Would you be able to post a very explicit walkthrough, for those of us who are having difficulty, please? I think this would be very, very valuable. (And when I say explicit, I mean every single click.)

Yeah, I would love to see a walkthrough too. I’d write one myself if I could actually get past this stumbling block. (As it is, seemingly the only way forward it rewrite my app to have no IAP, then write it back in after approval? Which seems insane)

Yeah. I went through the labour of deleting all the iTunes Connect iAP content and resubmitting (didn’t actually remove the iAP code) before hitting the Christmas wall.

Oh, so you submitted with IAP options but not IAP connect-side? How did that go?

I recreated the iAPs, sorry, should have mentioned that. As in: I started from scratch.

Oh! So you’re saying you rebuild the IAPs connect-side but that didn’t fix the problem, then?

I didn’t get to find out - iTConnect shut down.

Alright. I’ll give it a shot then!

Not sure I could write an explicit guide only because I went through all the steps of creating profiles and all of that quite some time ago and have been working on releasing non-IAP versions of the apps since.

And then just recently added IAP to the apps.  And honestly, I had to do nothing else as far as setting up the computer or creating new profiles.  But as I recall, here are the new things that I did:

  1. Create the in-app components in iTunes Connect.  (All of mine were non-consumable.)  Make sure that they are completely done and show as Ready to Submit.  (They do not need to be cleared for sale, however. Nor do they need to be approved by Apple first for testing)

  2. Create new Test Users in iTunes Connect.  I created all new accounts that had no iTunes account previously.

  3. Add the appropriate store code into the app.

  4. Build the app using the adhoc profile for that app and copy the app to the test device.  Make sure the device has that profile and is set to run content with that adhoc profile.

  5. Wait a day to let the in-app components to propagate on their servers.  (May not be necessary but having dealt with iTunes, Google Play, and Amazon all at the same time, I forget how long it takes each to propagate.)

  6. On the test device, go to Settings | Store (depending on your iOS version, this could be named differently) and click the “Apple ID: EMAIL ADDRESS” button and sign out.  When prompted to sign back in, do not.

  7. Launch the app and try to purchase an in-app item.  When prompted to sign in, now sign in with the test account.  You should not get any messaging about accepting iTunes TOS or anything.  And you should not be prompted for a credit card.

  8. Complete the purchase, then test that your app is dealing with the purchased state correctly.

And that’s it.

Here are some things I did not have to do:

  • Upload a new version of the app before testing IAP.  All I had to do was create the IAP content in the already existing app.  This might be different if you have never submitted the app before, but I have not done that yet, so not sure.

Hope that helps.

Sorry to re-invigorate this thread after so long, but my app id is “com.mattsco.simplegame.dev” Does the prefix matter?

I have signed out of the app store in Settings, rebuilt my app and tried again. The store init seems to show that my iAPs are all invalid. I have checked in the iTunes Connect app iAP setup and get the message "We have returned your IAP product/s to you as the required binary was not submitted. When you are ready to submit the binary, please resubmit the IAPs with the binary. " So, do I have to upload a binary to get the iAP’s to work?

Apple keeps changing their rules on this.  Currently it appears you need to upload the binary, then reject it.  It might help to have some time elapse to get the IAP items approved. 

Rob