finishTransaction: не удаляет транзакцию из очереди ... - PullRequest
1 голос
/ 28 июля 2011

У меня есть несколько нерасходуемых inApps.

Оплата производится один раз (правильно: SKPaymentTransactionStatePurchased), затем загрузка inApp выполняется правильно (и завершена) и в конце концов я звоню

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];

однако транзакции остаются в очереди ... почему? они не должны быть удалены? также не вызывается следующее:

- (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions

Я также пытался реализовать в моем методе finishtransaction:

for (SKPaymentTransaction *aTransaction in [[SKPaymentQueue defaultQueue] transactions])
{
    [[SKPaymentQueue defaultQueue] finishTransaction:aTransaction];
}

(в случае, если объект транзакции, который я пытался завершить, был неправильным, но это также не удаляет транзакции - в большинстве случаев, иногда это происходит, но поведение не согласовано, я не могу выяснить, почему они удаляются несколько раз, когда они на самом деле удаляются)

1 Ответ

4 голосов
/ 31 июля 2011

Судя по вашему вопросу, вы пытаетесь что-то скачать, когда покупка завершена. В этом случае вам, вероятно, следует вызвать finishTransaction до начала загрузки.

...