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