StoreKit Alert “Thank You. Your purchase was successful. [OK]” presentation logic

We include iOS In-App purchases in several apps (multiple targets, different brands of the same codebase);

During our testing, we found that sometime at the end of the purchase process the alert "Thank You. Your purchase was successful. [OK]" is shown, while some times it's not.

We've tested on several devices, several apps, several sandbox users, and we could not find a reproduction path: same app tested at once on two identical devices (model, OS version), with brand new sandbox users, the alert is showing on one app and not on the other one.

To make it clear, the purchase process is always successful, the transaction is closed, and everything is working properly; Only the alert is sometime missing.

What's the exact logic behind that?

Wild guess:

Does your app remove from memory the Delegate for StoreKit such that the app may be trying to present a UIAlertController on a ViewController that no longer exists? If so, then it is a race as to whether StoreKit responds before or after the Delegate is removed.

I think this is not the case: the alert is shown on the app window, by the OS itself, and not on the ViewController used to start the purchase process, that's still on screen anyway.

I handled a support incident over this same alert being presented to the user in some cases, but not in others. The presentation of the alert was deemed excessive and a software change was implemented to remove the alert. You may have discovered a new manner in which to trigger the display of this alert. As far as I'm aware, the display of the alert is considered a bug report. You can choose to do so using the Apple Developer Bug Report web page - http://bugreport.apple.com - Probably not the response you were looking for.


rich kubota - rkubota@apple.com

developer technical support CoreOS/Hardware/MFI

Thanks for your answer, Rich, please help me to clarify:


Do you mean that the alert "Thank You. Your purchase was successful. [OK]" should be never shown, and every case of it appearing is to be considered as a bug?


Do you have any related "official" documentation about that?

StoreKit Alert “Thank You. Your purchase was successful. [OK]” presentation logic
 
 
Q