Does SKTerminateForInvalidReceipt validate receipts?

The documentation for SKTerminateForInvalidReceipt() says

"Terminates an app if the license to use the app has expired."


And I really didn't want to go to all the trouble to code up all that bit about mnaually verifying receipts, because I don't think pirating my app is that useful, so I just had the prod version of my app call the SKTerminateForInvalidReceipt().


However, AppReview says they installed a valid receipt and my app always crashed.


So... are the docs right, and SKTerminateForInvalidReceipt correctly detected that AppReview did not install a valid reciept, or is AppReview right, and SKTerminateForInvalidReceipt does not effectively correctly validate recipts, and crash "if the license to use the app has expired."?

Replies

I am not familiar with this method but in any event it is referring to the app not the In App Purchase

No, SKTerminateForInvalidReceipt does not validate receipts. All it does it terminate the app with error code 173. it is equivalent to calling exit(173).