iOS 12 in app purchase testing failure

Anyone else having an issue testing in-app purchase after upgrading to iOS 12? Exact same code as yesterday, but now the store transactionListener is not firing for purchase or restore…

Hello Corona Engineers! I can confirm that with the exact same code running on 2 separate iPhone 6s’s, one running iOS 12 and one running iOS 11.4.1, the store works (restore and purchase) on the 11.4.1 phone, and does not work on the iOS 12 phone. 

I’ve shared this with our Engineers. Can you look for errors in the console log from the iOS 12 device? 

Rob

Important question: are you building with iOS SDK “11.4” or “12.0 BETA”?

I’ve tried with both IOS SDKs, 11.4 and 12.0 BETA, with the same result for on devices running iOS 12.

And Rob, I don’t see any console errors from the iOS 12 device. The transactionListener just never gets run.

Hi Kevin.

I just updated my iPhone X to iOS 12 and I installed a game I’ve been working on. And while I got an error about my account not being able to make sandbox purchases, I did see my console log messages fire showing the transaction failed, so under that circumstance, the transaction listener is being fired. I have to figure out why I can’t make the purchase and why I can’t log out and back into another test account.

Do you have sufficient print statements in your transaction listener to see if it’s getting called and perhaps with a status you’re not expecting?

Rob

Hey Rob, I’ve updated other devices now, and am very confused. The problem exists only on a single device. With a live build deployed to 3 devices (2 iPhones and an iPad) the purchase process works on 2 of them, but not the third, (one of the two iPhones.) On that device, I never get to a sign in screen for purchases. The code worked on this device perfectly before upgrading to iOS 12. I said that the transactionListener was not being called, in reality the problem exists one step prior, I suppose. On this one device, I don’t ever get to a apple ID login screen. The IAP testing flow can be a bit convoluted, so I would suspect that I was doing something wrong there, except that it works on other devices. 

Do you have any thoughts? 

I don’t really have any ideas. You could force the one phone to log out of the app store and out of iCloud.  In production, if you’re already logged in, your app shouldn’t prompt you to log in again. 

Rob

Thanks, I’ve tried logged in, logged out, and combinations of sandbox and non sandbox accounts. I’m never presented with an account login screen (or any native IAP screens at all) on this one device, although the purchase button fires other events reliably. I’ll keep pounding on it.  

Isn’t this causing troubles for players when updating to iOS12 now? I soon want to release a new build using the newest Corona build and building for iOS12(BETA) and the new XCode. Are there still troubles with the purchasing right now?

I wasn’t able to reproduce it while testing IAPs. It should be fine

Hello Corona Engineers! I can confirm that with the exact same code running on 2 separate iPhone 6s’s, one running iOS 12 and one running iOS 11.4.1, the store works (restore and purchase) on the 11.4.1 phone, and does not work on the iOS 12 phone. 

I’ve shared this with our Engineers. Can you look for errors in the console log from the iOS 12 device? 

Rob

Important question: are you building with iOS SDK “11.4” or “12.0 BETA”?

I’ve tried with both IOS SDKs, 11.4 and 12.0 BETA, with the same result for on devices running iOS 12.

And Rob, I don’t see any console errors from the iOS 12 device. The transactionListener just never gets run.

Hi Kevin.

I just updated my iPhone X to iOS 12 and I installed a game I’ve been working on. And while I got an error about my account not being able to make sandbox purchases, I did see my console log messages fire showing the transaction failed, so under that circumstance, the transaction listener is being fired. I have to figure out why I can’t make the purchase and why I can’t log out and back into another test account.

Do you have sufficient print statements in your transaction listener to see if it’s getting called and perhaps with a status you’re not expecting?

Rob

Hey Rob, I’ve updated other devices now, and am very confused. The problem exists only on a single device. With a live build deployed to 3 devices (2 iPhones and an iPad) the purchase process works on 2 of them, but not the third, (one of the two iPhones.) On that device, I never get to a sign in screen for purchases. The code worked on this device perfectly before upgrading to iOS 12. I said that the transactionListener was not being called, in reality the problem exists one step prior, I suppose. On this one device, I don’t ever get to a apple ID login screen. The IAP testing flow can be a bit convoluted, so I would suspect that I was doing something wrong there, except that it works on other devices. 

Do you have any thoughts? 

I don’t really have any ideas. You could force the one phone to log out of the app store and out of iCloud.  In production, if you’re already logged in, your app shouldn’t prompt you to log in again. 

Rob