我在我的应用程序中实现了 StoreKit。我注意到,对于我的一些测试账户,SKPaymentTransaction
paymentQueue 中有多个 's。这导致SKPaymentTransactionObserver
被多次调用SKPaymentTransactionStatePurchased
当我在升级过程中停止应用程序或将应用程序置于后台时,这个问题似乎更加明显。
我不确定是什么导致了多次付款,或者这是预期的行为?此外,确保在验证后完成所有购买的交易。
我在我的应用程序中实现了 StoreKit。我注意到,对于我的一些测试账户,SKPaymentTransaction
paymentQueue 中有多个 's。这导致SKPaymentTransactionObserver
被多次调用SKPaymentTransactionStatePurchased
当我在升级过程中停止应用程序或将应用程序置于后台时,这个问题似乎更加明显。
我不确定是什么导致了多次付款,或者这是预期的行为?此外,确保在验证后完成所有购买的交易。
当交易完成、取消或失败时,您需要将其从队列中移除,否则您将有多个交易仍在支付队列中处于活动状态。这就是导致您的问题的原因。要解决此问题,每当事务完成、取消或失败时,请调用以下命令。
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
您需要[[SKPaymentQueue defaultQueue] finishTransaction:transaction]
对每个事务执行以将其从队列中删除。