3
votes

I am adding a Restore Previous Purchases button to my iPhone app, next to the Purchase button (Non-Consumable IAP Product). When the Restore button is pressed the app calls [[SKPaymentQueue defaultQueue] restoreCompletedTransactions], which seems to be working in the sense that something happens and a dialog appears, however I wanted to check that this dialog is indeed the one that is intended to appear. Because the dialog that appears when I press Restore looks exactly like the one that appears when I click Purchase ("Do you want to buy ..."). Then after I click Buy and enter my password, another dialog appears saying "You have already bought this. Press OK to download for free" or something like that.

My question: Is this the intended behavior for restoring In-App Purchases? Should not the dialog rather say something like "Do you wish to restore purchased items?"


EDIT: I have come up with a theory; is it possible that the behavior described above only happens when using test accounts against App Store? So that the App Store simply does not remember purchases for test users?

2
I'm in the same boat you are in. It would suck if your test user account could not test this. I wanted to automatically call restoreCompletedTransactions but the user is prompted for a password which would scare then at startup. Because my app still restores the purchase like you discribe above, I asked the apple test center if I could just have a "buy/restore" button. That way the user would know that their in-app purchase could be restored if they had to re-install the app.whatchamacallit
has apple answered your question?erkanyildiz

2 Answers

0
votes

That is the intended behavior for restore dialog¨¨ In-App purchases, you won't get a dialog saying "do you wish to restore...."

You can label your button as Restore

0
votes

Are you sure that your restore button is actually calling [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]?

I have no problem with test users. And @Tapman answer is not correct, as it only asks for your password and does NOT show the "Do you want to load this for free" dialog.