We have a live version in the store with the same IAP products and IAPs load with the store version which was built with 10.3.2 or 10.3.3 iOS SDK.
a, I install the app with Xcode on my device and it does not work. Can Corona apps run in Xcode simulator?
b, I always build with developer provisioning profile.
c, TestFlight has already been tried (both with production and development prov. profile)
This is my last hope actually, I will try to do something about it. Do you have a suggestion on how to delay creating the scene? I would find it weird to work though, since this version of our IAPs have been live for almost a year by now and I only read about changes with the Google IAPs.
However, I’ll be in touch if I manage to work this out.
Check if iTunesConnect has some warnings near your IAPs. It is possible that Apple has some new requirements and your IAPs are not satisfy them, like screenshots or something… Product IDs may be marked as invalid for such purposes… This should be printed in the console.
Thanks for the replies. I will try these things you listed, however unfortunately in Console I can’t see any errors…
However it may be possible that my phone got messed up application-cache wise and only factory resets can fix it. It happened with one of our Ionic apps.
This is happening to us as well, in two different devices.
iPhone 7 plus, iOS 11.1.1
iPad Mini, iOS 10.3.2
Using Corona SDK 3145 and 3179, using both adhoc and distribution certificates.
loadProducts simply does not execute the listener. The store library had been working ok on these devices, and the listener does fire on other devices.
loadProducts is simply a way for you to get information about your products in a localized fashion. For instance, if you’re users are in Europe, you will get prices in Euros instead of US Dollars. You are not required to ever call loadProducts. It’s purely there to present your IAP’s to your users. Also, it will tell you which are valid and not. These are not transactions and will not come into your transaction listener function.
If you try to make a purchase, that will trigger your transaction handler. Purchases are done based on a product ID. If it doesn’t work as expected, like getting an error, there is something else causing the problem.
We need to know how you’re trying to test this. Are there are other error messages in the console log that can be helpful?
Hello! I investigated issue, and couldn’t reproduce it. Apple IAPs indeed do not send event if load products request fails. I plan to change it in a future, but it wasn’t there for a reason: there is no clear way to say what to do in case loading products failed. Like, if it succeeds - you should render price & currency on a button. But what to do if it fails?
Doing little digging around internets, here is I found apple’s troubleshooting thingy. Not super helpful, really, but worth looking into what can cause such errors.
I see that you guys are reporting this issue on Production.
Does it happens every time?
Or occasionally for some users?
Or only on some specific devices?
Our IAP implementation is rather simple. It isn’t a secret, that loadProducts just creates
SKProductsRequest, and waits for productsRequest:didReceiveResponse:. I don’t see how Corona can bork things up in this place, but if you can provide conditions or details, we would definitely investigate matters.
This only happens to us on specific devices, and it seems like it is related to the internet provider.
The same device that did not work on our test environment worked on a different ISP. It just cannot establish a connection to the store, but other stuff (Downloads, webviews) work correctly. Will look further into this
I’ve published my game yesterday and I’m having a similar problem in production. The function loadProducts calls his listener, but all the products are in the “invalidProducts” array. I’ve checked many times and the product Ids are identical to iTunesConnect. When I try to make a purchase, never works, it’s not just loadProducts that is not working. Apparently it’s not finding my products on iTunesStore. The weird is that it was working on my tests a few weeks ago.
Make sure your products are reviewed on iTunes. You have to submit IAPs for reviews too. Not reviwed products would work in TestFlight/Sandbox, but fail in production.
Yes, they have the status “Approved” in iTunesConnect and they are marked as cleared for sale, so that shouldn’t be a problem. I’ve also sent a mail to apple’s support asking for help. If any updates I’ll let you know.