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