Ios – In-App Purchase returning 0 products and product identifiers as invalidProductIdentifier

in-app-purchaseios

I know this question is asked few times. I have tried all solution but still not succeed. Here is my issue:

In below lines of code I am getting response.products.count = 0 and getting product ids that I have entered as response.invalidProductIdentifiers.

func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {
    if response.products.count != 0 {
        for product in response.products {
            productsArray.append(product )
        }
    }
    else {
        print("There are no products.")
    }
    if response.invalidProductIdentifiers.count != 0 {
        print(response.invalidProductIdentifiers.description)
    }
}

Set up that I have done for IAP :

  1. In Xcode > Target > In-App Purchases is enabled.
  2. In profile I have enabled In-app-Purchase. and attached that profile with project.
  3. In iTunes Connect, created App and added product identifiers for IAP.
  4. BundleID is same in Xcode, apple developer portal and in iTunes connect.
  5. In iTunes Connect App status is "Prepare for submission" and status of In-App purchase are "Waiting for upload" . I have not uploaded binary on iTunes Connect yet.

iTunes Connect

iTunes Connect

Is there need to upload binary at iTunes Connect?

Is there anything I am missing?

Best Answer

The contract for paid applications must be in effect in order to receive data about the in app purchases configured.

This worked for me. I had the exact same problem.

https://stackoverflow.com/a/2045064/3901620