2

我在我的应用程序中实现了 StoreKit。我注意到,对于我的一些测试账户,SKPaymentTransactionpaymentQueue 中有多个 's。这导致SKPaymentTransactionObserver被多次调用SKPaymentTransactionStatePurchased

当我在升级过程中停止应用程序或将应用程序置于后台时,这个问题似乎更加明显。

我不确定是什么导致了多次付款,或者这是预期的行为?此外,确保在验证后完成所有购买的交易。

4

2 回答 2

3

当交易完成、取消或失败时,您需要将其从队列中移除,否则您将有多个交易仍在支付队列中处于活动状态。这就是导致您的问题的原因。要解决此问题,每当事务完成、取消或失败时,请调用以下命令。

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
于 2013-02-07T02:51:14.837 回答
1

您需要[[SKPaymentQueue defaultQueue] finishTransaction:transaction]对每个事务执行以将其从队列中删除。

于 2013-02-07T01:22:32.370 回答