一旦点击购买,便反复调用addTransactionObserver

问题描述 投票:0回答:2

我想用iOS实现IAP,并且注意到了两种不同的调用addTransactionObserver的方式。

1。启动IAP后添加此方法。此方法将被调用一次。

2。通过购买添加此方法并还原btn。恐怕单击btn会反复调用此方法。

- (void)purchase:(SKProduct *)product{
    SKPayment *payment = [SKPayment paymentWithProduct:product];

    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] addPayment:payment];
}

- (IBAction) restore{
    //this is called when the user restores purchases, you should hook this up to a button
    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}

您能告诉我添加此方法的正确方法是什么吗?

ios objective-c in-app-purchase
2个回答
0
投票

您在启动时仅应调用一次addTransactionObserver AND


0
投票

在类addTransactionObserver中调用init。我个人使用单例类来管理IAP内容。在应用启动时,无论如何,您都需要请求可用的IAP,因此在单例创建期间,我注册为交易观察员。

© www.soinside.com 2019 - 2024. All rights reserved.