交易未使用SKPayment完成

时间:2016-08-27 09:53:02

标签: ios objective-c xcode in-app-purchase skpaymenttransaction

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

  

这个在应用程序购买已经被购买它将被恢复   自由

但是当我按下ok按钮时,委托方法从未调用过。

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

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

如何抓住某些事件来完成此交易?

1 个答案:

答案 0 :(得分: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
}