I am implementing IAP in my iOS app, and I am using the latest version of SwiftyStoreKit Framework to help me with the purchases.
I have done all the pre cursor tasks such as setting up a developer account in itunes connect, generating provisiong profiles for the app, making new consumable and non consumable purchases in TestFlight, adding those purchases to the app information (ready to submit) and also creating a sandbox user. I have done debugging following this answer, this one and this one.
Now, the problem is that whenever I send a request to retrieve info about a product, I get the following error.
RetrieveResults(retrievedProducts: Set([]), invalidProductIDs: Set(["com.mycompany.app.consumable"]), error: nil)
and when I try to purchase the product, I get this error Purchase Failed: SKError(_nsError: Error Domain=SKErrorDomain Code=3 "Invalid product id: com.mycompany.app.consumable" UserInfo={NSLocalizedDescription=Invalid product id: com.mycompany.app.consumable})
Restoring purchases and verifying receipts seem to work fine...
Any pointers would be very helpful.
Thank you.
UPDATE:
I have now left behind the SwiftyStoreKit framework and am using Apple's own way of using a SKProductsRequest, where I have setup the delegate functions and all the requirements and then I run the function call 'SKProductsRequest.start()' and it still gives me back a set of invalid product ids once again.
For the new method, I setup a new project, along with bundle ids provisioning profiles, and itunes connect app. I can upload the app to itunes connect for testflight too! So the ids seem to be correct.
Ok, after all this time I visited my old co-workers again and they told me that the admin had forgotten to accept the store agreements.
Even though I had specifically mentioned it as a possibility... but oh well. They were able to get purchases working again after that.