При методе:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{
for (SKPaymentTransaction * transaction in transactions) {
//process the transaction
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
[self restoreTransaction:transaction];
break;
default:
break;
}
}
}
называется, это означает, что вы завершили транзакцию с Apple, и вы обрабатываете три случая:
SKPaymentTransactionStatePurchased: это означает, что ваш продукт был куплен.
SKPaymentTransactionStateFailed: ваш продукт невозможно купить.
SKPaymentTransactionStatePurchased: Это ваш вопрос. Пока ваш SKPaymentTransactionObserver активен, транзакция является постоянной, что означает, что если ваш клиент намеревался купить ваш продукт, но при доставке продукта произошла ошибка (ошибка сервера или что-то еще), при повторном запуске приложения транзакция вернется к этому методу. завершить покупку.
Надеюсь, информация поможет.