如何在应用购买目标c中仅还原单个事务

时间:2017-02-27 17:34:31

标签: ios objective-c in-app-purchase

我正在尝试在应用程序购买收据进行恢复交易,并恢复所有交易。如何让它只恢复一个收据交易?请帮忙..

1 个答案:

答案 0 :(得分:0)

这是预期的行为,因为Apple的收据系统基于多个交易,所以无法恢复单个交易。还原事务也是单个事务,这意味着在还原购买时,将为还原创建具有新transactionIdentifier的新事务。 original交易将在SKPaymentTransaction上引用。

restorecompletedtransactions()会同步iTunes用户在您的应用上所做的所有购买。目的是允许用户访问先前在用户其他设备上购买的内容,例如用户在iPhone上购买,在iPad上恢复购买,现在他们可以访问两台设备上的内容。

恢复的购买将在SKPaymentQueue上创建一个新事务,您应该在应用加载时订阅该队列。在恢复时,队列将收到SKPaymentTransactionState restored的交易。

同样不推荐使用transactionReceipt(),因此对于所有意图和目的,您都不应该使用它。而是使用appStoreReceiptURL