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

时间:2012-06-06 10:29:42

标签: iphone ios in-app-purchase restore

当我恢复以前的购买时。 Storekit正在使用大量先前的交易调用updateTransations。不知道为什么它返回这些大量的100,200,245,360,650在每次恢复中都是随机的。

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

1 个答案:

答案 0 :(得分:3)

有很多关于使用updateTransactions进行恢复的投诉。以下代码可以使用,但需要用户输入用户名和密码。 (目前开发人员一直坚持使用需要按钮的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;
        }
    }
}

如果没有需要恢复的项目,我想知道如何在我的界面上没有“恢复”按钮的情况下这样做。