How to reset a purchase (in sandbox)?

Ok, from the Apple developer docs it seems you do have to let the user do something to make the restore. It says 

“… if your application supports product types that must be restorable, you must include an interface that allows users to restore
these purchases. This interface allows a user to add the product to other devices or, if the original device was wiped, to restore the
transaction on the original device.”

I guess I will add a restore function (button), and not do it automatically.

Naomi,  with your single restore button, does the callback function give you back an array of restored items or does the event fire multiple times, once for each restored item, even if store.restore was only called once?

@stardustJerry, I believe restore button returns restored event for each restored item one at  a time (if I remember this correctly.)  

Naomi

Thanks Naomi,   Do you happen to know if Apple really requires a restore button or if it is ok to do an automatic call to store.restore near the beginning of the app, just to handle it transparently for the user.

Hey, @stardustJerry, I don’t know if restore button is required.  I’ve never shipped an app without it, so I don’t know if Apple would reject an app that has non-consumable IAP items for sale without restore button somewhere in the app.

Naomi

Hi,

Last week I was approved on first in-app version (consumables only) and I did not have a restore button for that one. I showed a screenshot with all the consumables. Did not get any issue. I also released the same time a free version of the app with both consumables (Gold coins…real gold you know…LOL) and one non-consumable (ie: buy the ad free version) For that one I made sure i had a restore button (and showed it in the screenshots) I also did not get issue with that one either.  BUT I recently found out that the restore button for some reason hangs when the app was not yet purchased. Once the app is purchased then it works fine (the restore happens and the ads goes away) I need to figure why the hangs (never receive the callback)

So, no, you do not need a restore for consumables.

Mo

Thanks Mo,  My purchases are non-consumables, but I was just wanting to not bug the user with a button and automatically do the restore.  I’ll have to research further to see if Apple allows that.  The hanging doesn’t sound good though…

-Jerry

Hi Jerry, My understanding is that you need a restore for those but please check the info. Yes I will need to look at that issue. Fun… Mo

Ok, from the Apple developer docs it seems you do have to let the user do something to make the restore. It says 

“… if your application supports product types that must be restorable, you must include an interface that allows users to restore
these purchases. This interface allows a user to add the product to other devices or, if the original device was wiped, to restore the
transaction on the original device.”

I guess I will add a restore function (button), and not do it automatically.