我有问题,即使我打电话
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
付款不会从默认队列中删除。
我在默认付款队列中安装了payobserver。当我的付款观察员连接到默认付款队列时,它会调用
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
观察者方法并强制交易“重新购买”(未恢复!!)。
有人可以帮忙吗?
答案 0 :(得分:1)
好的,我明白了。
这是非常好的,但默认的支付队列不是支付队列,我想从中“完成”购买。
所以帮助我的方法是:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
在购买交易后,我从委托方法中给出的队列中删除了该事务。
那就做到了!也许队列仍然来自我没有完成的购买。
也许它有助于某人!!
答案 1 :(得分:0)
finishTransaction:方法在购买期间不起作用。 (调用addPayment:~transportState将是“SKPaymentTransactionStatePurchaced”或“SKPaymentTransactionStateFailed”)
即使应用程序终止,也不会对默认队列中的事务进行处理。如果没有事务观察器,则默认队列会暂停所有事务。当存在事务观察器时,默认队列将恢复所有事务。这就是“重新购买”的原因。
我认为没有办法取消交易。
在购买过程中,您需要在所有控件中关闭userInteractionEnabled。
这对你有帮助吗?对不起我的英语。