2
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{
for (SKPaymentTransaction* transaction in transactions)
{
CCLOG("transactionState = %ld", transaction.transactionState);
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
[self completeTransaction:transaction];
break;
default:
break;
}
}
上面的代碼用於跟蹤我們所知道的購買狀態。 但似乎代碼不會跟蹤「應用內購買已被購買」事件。Catch「應用程序內購買已被購買」事件
[[SKPaymentQueue defaultQueue] addPayment:payment];
每次我使用上述代碼購買其已經購買了IAP,IOS的確認購買對話框顯示出與transactionState = SKPaymentTransactionStatePurchasing(輸出爲「transactionState = 0」)。然後我購買該項目並顯示「已購買應用程序內購買」對話框,並且不顯示其他狀態代碼輸出。
我想趕上上述事件。我敢打賭它一定是可捕捉的。活動是否在其他地方投擲?
您是否設法使其工作?當爲已購買的物品調用addPayment時,我遇到了類似的問題,並返回無回叫事件 –
不,經過長時間的解決方案找到沒有結果後。我在我的應用程序中添加一些鎖以避免這種情況。 – ZeroZerg
你添加了什麼樣的鎖? – keyboard