2

我还没有在我的应用程序中完成交易,所以当我尝试使用此 ID 在应用程序内购买时,我收到了以下消息:

此应用内购买已购买,将免费恢复

但是当我按下确定按钮时,委托方法永远不会被调用。

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{
}

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {
}

我怎样才能捕捉到一些事件来完成这个交易?

4

1 回答 1

2

当用户尝试购买东西时,为什么不首先检查该购买是否已经在队列中?

BOOL alreadyInProgress = NO;
for (SKPaymentTransaction *tx in [[SKPaymentQueue defaultQueue] transactions])
{
    alreadyInProgress |= [tx.transactionIdentifier isEqualToString:productId];
}
if (alreadyInProgress)
{
    // Alert that the purchase is already active
}
else
{
    // Your purchase flow
}
于 2016-08-27T20:43:55.150 回答