iOS应用内购买还原会返回许多交易

当我恢复我以前的购买。 Storekit正在调用具有大量以前事务的updateTransations 。 不知道为什么它像100,200,245,360,650这样的大量返回似乎随机在每个恢复。

这是发生在沙箱吗? 如果不是,select该项目的标准应该是什么。 我有很多具有相同产品ID的项目?

有很多关于使用updateTransactions进行恢复的抱怨。 下面的代码将工作,但它需要用户input他们的用户名和密码。 (现在开发者一直坚持这个需要一个button的IBAction调用)

 [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

然后调用下面的代表。

 - (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { for (SKPaymentTransaction *transaction in queue.transactions) { if ([myItem.productID isEqualToString:transaction.payment.productIdentifier]) { myItem.purchased = YES; } } } 

我想知道如何做到这一点,而不需要在我的界面上放置一个“还原”button,如果没有项目需要恢复。