Question

I am updating an old app that used the old iOS6 purchase receipt verification method (ie: [SKPaymentTransaction -transactionReceipt]).

In the new version, I would like to use the new [NSBundle -appStoreReceiptURL] method to support restoration for old customers. For users who simply update our app, is there an app receipt automatically installed by the system or do we need to use SKReceiptRefreshRequest to get a new receipt? In the SKReceiptRefreshRequest documentation it talks about the sandbox environment only. In live code, what is the purpose of this class?

Also, I do not understand the conditions when a receipt is "Revoked" or "Expired".

Was it helpful?

Solution

It is not quite clear when exactly the iOS7 app receipt is generated. It probably is generated when the app is downloaded or a purchase is made. In the case of an app update I'm not sure what happens.

To be sure, you should implement SKReceiptRefreshRequest anyway. This request returns (or creates if not available) the app receipt. I haven't seen anywhere stated that it is only for sandbox.

Revoked and Expired are only used in Volume Purchase Plans receipts I believe.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top