StoreKit restoreCompletedTransactions不返回任何事务

时间:2012-06-16 00:41:55

标签: iphone ios storekit

我使用我的测试用户购买了非耗材产品,但是当我这样称呼时:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

我在paymentQueueRestoreCompletedTransactionsFinished中看不到任何交易。代码如下所示:

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
    NSLog(@"received restored transactions: %i", queue.transactions.count);
    for (SKPaymentTransaction *transaction in queue.transactions)
    {
        [self restoreTransaction:transaction];
    }

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Your add-ons have been restored." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    return;
}

日志始终显示“已恢复的已恢复的事务:0”,但我希望看到一个事务。有谁知道为什么没有退回交易?

1 个答案:

答案 0 :(得分:7)

现在它突然开始工作了!我只改变了一件事,即进入iTunes Connect并编辑我的产品描述,以便状态从“拒绝”变为“待定”。奇怪的是,购买仍然有效(即使在“拒绝”状态),只有恢复不起作用。我尝试在更改后立即恢复并且它不起作用,但现在(大约20分钟后),恢复正常。更改为挂起必须已修复它(在更改有一些时间传播到StoreKit服务器之后),否则这是一种间歇性的StoreKit错误。