Когда я должен проверить квитанцию о транзакции покупки в приложении?
Я имею в виду, мои шаги должны быть?
1) ПолучитьSKPaymentTransactionStatePurchased
2) Удалите его из SKPaymentQueue и предоставьте содержимое[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
3) Подтвердите получение и затем, если оно недействительно, заблокируйте только что предоставленный контент
Или я должен изменить 2-й шаг на 3-й вместо?
1) ПолучитьSKPaymentTransactionStatePurchased
2) Подтвердите получение и затем, если оно недействительно, не предоставляйте содержимое
3) Удалить его изSKPaymentQueue
так или иначе[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
В первом сценарии пользователь может отключить интернет сразу после покупки, поэтому я не смогу подтвердить чек. Но во втором случае могут возникнуть некоторые проблемы с интернетом между шагами 1 и 2, поэтому я не буду завершать транзакцию и не буду предоставлять контент, который был бы плохим для пользователя.
Так какой путь вы выбрали для своего приложения и почему?
Мой выбор
Я выбрал второй сценарий, так как выбор первого позволяет легко взломать мое приложение с помощью iAP Cracker.