iOS应用内购买恢复返回许多交易

You*_*nry 5 iphone restore in-app-purchase ios

当我恢复之前的购买时。Storekit正在调用updateTransations大量先前的交易。不知道为什么它会返回如此大的数量,例如 100、200、245、360、650 在每次恢复中似乎都是随机的。

这种情况只发生在沙盒中吗?如果不是,选择该项目的标准应该是什么?我有很多商品具有相同的产品 ID?

wha*_*lit 2

关于使用 updateTransactions 进行恢复有很多抱怨。下面的代码可以工作,但它要求用户输入他们的用户名和密码。(目前开发人员已将其粘贴到需要按钮的 IBAction 调用中)

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
Run Code Online (Sandbox Code Playgroud)

然后调用下面的委托。

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

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