What causes the prompt to enter iTunes password when dealing with IAP?


I am using Unity 5.3.4 and I’ve recently refactored some of my code to utilize the unity IAP system as I was working on other things and it seemed like a good time to do it.

I have everything functioning as I anticipated however I do have one problem on iOS.

I’m using the example code provided at https://unity3d.com/learn/tutorials/topics/analytics/integrating-unity-iap-your-game and basically stripped the code out that I didn’t need and added the products I have available on my store.

On Android this works as expected however on iOS whenever the app is launched or brought back into focus after being minimized I am asked to enter my iTunes password. I’d like to prevent this from happening but I am not sure what causes it as I also do not save my password on Android platforms and this behaviour is not present there.

I assume that this is somehow caused by the initialization loop, is that correct? Basically I only want the password prompt to be entered when I select purchase on a product in my game or if the user is restoring past products.

Does this mean I need to initialize the store only when attempting to make a purchase or is there another way around this behaviour?

Or is there another issue somewhere else?

Storekit will prompt the user to authenticate if a transaction is pending. Unity IAP does not present the authentication prompt, storekit decides when it is appropriate to do so.

If you enter your password, and your app finishes any transactions pending by returning PurchaseProcessingResult.Complete, then the prompts should cease.