首页 文章

StoreKit多个交易

提问于
浏览
0

我使用StoreKit框架为Mac OS解决了使用应用程序内购买的问题 . 问题是这样的:

1)我在购买开始时调用addPayment方法

2)然后使用事务状态SKPaymentTransactionStatePurchasing调用两次updatedTransactions方法 . 并且在第二次调用[[SKPaymentQueue defaultQueue] .transactions count]之后返回2 .

3)当购买完成updatedTransactions第三次调用事务状态SKPaymentTransactionStatePurchased . 并且[[SKPaymentQueue defaultQueue] .transactions count]返回3 .

4)然后我使用状态SKPaymentTransactionStatePurchased完成事务 . 但是在defaultQueue中仍然存在两个与SKPaymentTransactionStatePurchasing的交易 . 他们活着直到应用程序终止 . 当我再次启动应用程序时,问题会重复出现 .

为什么只有一个addPayment调用这么多的交易?这个问题怎么解决?

1 回答

  • 0

    确保在以下任何事务状态之后调用finishTransaction方法:

    1)SKPaymentTransactionStatePurchased

    2)SKPaymentTransactionStateFailed

    3)SKPaymentTransactionStateRestored

    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
    

    调用finishTransaction:在事务上将其从队列中删除 .

相关问题