首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >completeTransaction:(SKPaymentTransaction *)事务运行多次

completeTransaction:(SKPaymentTransaction *)事务运行多次
EN

Stack Overflow用户
提问于 2014-04-30 15:32:55
回答 1查看 324关注 0票数 1

我正在使用以下类型的代码来处理我的应用程序中的应用程序购买。在completeTransaction中,我通过调用provideContentForProductIdentifier来解锁高级内容。大多数情况下它只运行一次,但有时它会运行多次。

代码语言:javascript
复制
- (void)completeTransaction:(SKPaymentTransaction *)transaction 
{
    NSLog(@"completeTransaction...");

    [self provideContentForProductIdentifier:transaction.payment.productIdentifier];

    [self validateReceiptForTransaction:transaction];
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
} 

请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2014-04-30 20:00:30

我也遇到过同样的问题。在我的例子中,我忘记了removeTransactionObserver。因此,它仍然包含较早的产品id。添加此选项可在完成交易后删除购买的产品id。

代码语言:javascript
复制
- (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions
{
    NSLog(@"Purchase removedTransactions");

    // Release the transaction observer since transaction is finished/removed.
    [[SKPaymentQueue defaultQueue] removeTransactionObserver:self];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23382212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档