Issue 1 - Your app got rejected for some reason. You need to address that reason and then resubmit. If the reason it got rejected involved the IAPs you need to resolve that somehow. (Perhaps something prevented App Review from accessing your IAPs - does it work when you test it in the sandbox? etc.) But if the issue did not involve the IAPs then your only issue now is that 'developer action needed' flag - see issue 2.
Issue 2 - your IAPs now say 'developer action needed'. If App Review had rejected your IAPs then you would never again be able to use those productIdentifier's and would need to recode your app using new productIdentifiers. So thank you App Review for just triggering 'needs developer action'. To clear that flag (assuming there is nothing else wrong with your IAPs - see #1 above) all you need do is change anything in your metadata and save it then, if you like, unchange whatever you changed and save it again.
1: The only reason the app is rejected is because the invalid IAPs can't be purchased (the app pops up a message to that effect). So I don;t see anything I can do about that as I've not been able to make my IAPs become "valid"
2: I tried this but it doesn't reset the status. I don't believe there's anything else wrong with them as they seemed to be OK before the app was rejected
1: The only reason the app is rejected is because the invalid IAPs can't be purchased (the app pops up a message to that effect).
Do the IAPs work when you use them in the sandbox from Xcode? Have you tried them using TestFlight? The only real differences between the sandbox and App Review is in 1) whether or not your banking contracts and other agreements are up to date and 2) you need to have submitted the IAPs for review with a binary. You wrote "the app pops up a message" - is it possible that your IAPs are working fine and your app is popping up that message incorrectly?
2: I tried this but it doesn't (clear the 'developer action needed' warning).
That's unusual. See if it is telling you anything else to guide your 'developer action'.
Thanks for the reply - what do you mean by 'in the sandbox from Xcode'? I've been running from Xcode on a device and through testflight and the IAPs are always flagged as invalid, I can see this happeneing in the logs in xcode so it's not down to app logic, it's down to the IAPs somehow not being valid/available/approved.
This is my first app with IAPs so I feel like I'm missing something, I assumed they weren't working because they weren't yet approved and that would change when they were submitted and reviewed but the reviewer is obviously seeing the exact same as me!
I've got them back to showing "Waiting for Review" in app store connect but it doesn't make any difference, will this eventually change to 'approved' independently of the app binary? It also says "An in-app purchase has been returned and is highlighted in the table below." above them, I assume because of the app rejection.
Any other ideas appreciated...
> I've been running from Xcode on a device and through testflight and the IAPs are always flagged as invalid,
You need to fix this. IAPs should run well in the sandbox and the app should not be submitted until they do. Your code doesn't work for one of hundreds of reasons. Are you getting back a response to an SKProductsRequest and does that response have [response.products count]>0 ? If not, figure out why not. Are your productIdentifiers misssspelled?
OK thanks - "In the sandbox" means "run from Xcode"? I should have said, this is a hybrid app using an inapp purchase plugin, which is working fine on Android. I assumed this was to do with Apple's approval processes but maybe I can get more info from the plugin devs.
One last thing - how should my IAPs look in App store connect in order to work in testing? Currently they say "Waiting for review"
>"In the sandbox" means "run from Xcode"?
run from Xcode or from TestFlight.
> working fine on Android. I assumed .....
You know what they say; when we "ass-u-me" we make an "ass" out of "u" and "me"
>how should my IAPs look in App store connect in order to work in testing? Currently they say "Waiting for review"
That should work. It will also work if it states something like "Waiting for submission" or "add screenshot". The only thing you need is that productIdentifier.
I'm facing this same issue and it's really frustrating. Been through many rejections over the past 3 days and it just doesn't seem to go through. It works fine on device when I'm testing it out myself and it displays the correct sandbox environment, and no errors are thrown in the logs. It just for some reason doesn't get through App Store Review.
My IAPs got rejected with a 'developer action needed' tag, and so I changed the description to get rid of that warning and turn it back to the 'waiting for review' state as I'm assuming it's tied to the main app binary being rejected.
I've tried reaching out to the review team but they only linked me with articles on IAP and testing my app. Which seemed odd.
Would the IAPs need to be reviewed before the app is reviewed? Could the steps they're reviewing them in be holding it up?
The first batch of IAPs get reviewed with a new binary to which they are attached. IAPs that work in teh sandbox usually work in App Review as long as:
0) you added that screenshot and submitted them with the binary
1) you may need to check 'cleared for sale' - but I don't think so
2) if you are using Apple servers to verify receipt you have to test production first and, then if they fail with 210007, test the Apple sandbox server for App Review
3) You may need to have your banking contracts signed and up to date.
>I'm trying to submit my app for release and it gets rejected
Pls. show the app(?) vs./and-or IAP rejection(s), verbatim, thanks.
Have you appealed? How many times, what was your response during that process, how many rejections? What is the current status of that app in the store?