Rejection: in-app purchase functionality is not present in your binary

""" Guideline 2.1 - Performance - App Completeness


We found that while you have submitted in-app purchase products for your app, the in-app purchase functionality is not present in your binary.


Next Steps


If you would like to include in-app purchases in your app, you will need to upload a new binary that incorporates the in-app purchase API to enable users to make a purchase.


Once you revise and resubmit your binary, you will also need to resubmit your in-app purchases for review since they are in the Developer Action Required state. For each in-app purchase product submitted, please be sure to edit the detail information or cancel the request to change the detail information for the in-app purchases using App Store Connect. """



What would cause this?


StoreKit and IAP permission fully implemented in the app. Works on devices in sandbox environment.


Only issue I can think of is in the simulator there's a bug where StoreKit won't connect (physical devices do not have this issue).


Anyone else go through something similar?

Double-check your app for all error conditions and assumptions. Apple's testing environment is unique and private. Only a robust app will make it through.

Thank you for your answer. For clarification: are you referring to properly handling each state of SKPaymentTransactionObserver updatedTransactions? If so, that has been done.


The only unhandled state I can think of would be a poor connection / timeout error. I haven't implemented that. But then.. that wouldn't really match their stated failure description either.

The app store wrote:

>We found that while you have submitted in-app purchase products for your app, the in-app purchase functionality is not present in your binary.


That sounds like they were not able to find something like a button marked "Press here to purchase an IAP". They are not saying the IAP process itself did not work. Is it obvious how a user would make an IAP? If not, resubmit with a note explaining how they can make the purchase after first making a small change in the IAP metadata to erase the 'developer action required'.


By the way - I have often speculated that that screenshot that you add to submit an IAP is really meant to show App Review where the "Purchase IAP" button is located - perhaps you can confirm this.

No. I am thinking more about app and network environments. Apple’s network is funky.

How did you solve it? I'm at the same problem

Rejection: in-app purchase functionality is not present in your binary
 
 
Q