How to submit already approved IAP for review? App Rejection, guideline 2.1

I have an app that has been in production for years. It has a single in-app purchase that was approved years ago.

Recently I submitted a routine update for review and my binary was rejected. The reason:

Guideline 2.1 - Performance - App Completeness

We are unable to complete the review of your app because one or more of your in-app purchase products have not been submitted for review.

I replied (with screenshots) that the IAP is already approved and they said, "no, that's a different IAP." But the app has only one IAP.

I tried to submit a new binary and re-submit the IAP for review, but it seems that you have to remove it from production in order to do that. This will break the app.

I have appealed the rejection and the appeal reviewer agreed with the original review.

The App Review Board evaluated your app and determined that the original rejection feedback is valid. Your app does not comply with App Store Review Guideline 2.1.

Here's another developer with the same experience: https://developer.apple.com/forums/thread/102738

Any way out of this catch-22?

Replies

Just had this problem too. IAPs were already approved in a prior (submitted) version of my app. I have just re-submitted a new build (same thing, just bumped build number) and attached a message (and picture) showing that IAPs were already approved. Let's see.

If it doesn't get approved, I suggest you ask for a phone call with a human reviewer.

Mine was eventually approved and I actually received a phone call and an apology from Apple. The person I spoke with is the one who told me about asking for a live phone call.

Update: I got it approved now. As I mentioned before, I re-submitted a new binary which was basically just a build number bump. I commented both as a reply to the first review and in that field we can use to communicate things to the reviewer of a new submission that I had the IAPs approved before - and included a screenshot of the IAP screen showing that. It worked this time.