Reputation: 4402
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 :
Xcode > Target > In-App Purchases
is enabled.Is there need to upload binary at iTunes Connect?
Is there anything I am missing?
Upvotes: 7
Views: 8053
Reputation: 1163
I had the issue with all the above correctly configured. I found the solution from Apple Doc:
Important Do not use your test user account to sign in to the production environment. Doing so invalidates the test user account, and you can no longer use it.
Upvotes: 0
Reputation: 35052
The App Store may not recognize your product identifiers unless you have met the following criteria, as applicable:
In my case it was:
Your app uses an explicit App ID.
During development I was using a different BundleID than the one declared in App Store Connect.
Upvotes: 1
Reputation: 35052
My In-App Purchase was in a "Missing Metadata" state, and thus Invalid:
How to set up in-app purchases ("Missing Metadata")
Upvotes: 0
Reputation: 8322
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
Upvotes: 4
Reputation: 1869
If the products do not have Hosted Content, you need to turn it off so that they exit the "Waiting for Upload" state.
Upvotes: 1