我正在使用以下类型的代码来处理我的应用程序中的应用程序购买。在completeTransaction中,我通过调用provideContentForProductIdentifier来解锁高级内容。大多数情况下它只运行一次,但有时它会运行多次。
- (void)completeTransaction:(SKPaymentTransaction *)transaction
{
NSLog(@"completeTransaction...");
[self provideContentForProductIdentifier:transaction.payment.productIdentifier];
[self validateReceiptForTransaction:transaction];
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
} 请帮帮我!
发布于 2014-04-30 20:00:30
我也遇到过同样的问题。在我的例子中,我忘记了removeTransactionObserver。因此,它仍然包含较早的产品id。添加此选项可在完成交易后删除购买的产品id。
- (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions
{
NSLog(@"Purchase removedTransactions");
// Release the transaction observer since transaction is finished/removed.
[[SKPaymentQueue defaultQueue] removeTransactionObserver:self];
}https://stackoverflow.com/questions/23382212
复制相似问题