gpt4 book ai didi

objective-c - iOS 应用内购买 : only one payment added to the SKPaymentQueue but a SKPaymentTransactionObserver method is getting called multiple times

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:08:56 24 4
gpt4 key购买 nike

我正在使用测试用户(在沙箱中)测试 IAP,我有一个实现 SKPaymentTransactionObserver 协议(protocol)的类,当用户选择某个 TableView 单元格时,我启动支付:

SKPayment *payment = [SKPayment paymentWithProductIdentifier:productIdentifier];
[[SKPaymentQueue defaultQueue] addPayment:payment];

这只完成一次,我已经检查过:代码被调用一次。问题是“- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions”有时会被多次调用,我不明白为什么。这并不总是发生,但它永远不应该发生。

有没有人在沙箱测试时遇到过这种行为(如果在真实场景中发生这种情况会是个大问题)?

最佳答案

我通常“分配”我的代表,但这次保留了处理所有事务处理的类的代表。委托(delegate)(一个 View Controller )和应用内购买类都被泄露了。因此,每次我展示 View Controller 时,创建了另一个实例并设置了另一个委托(delegate)。处理交易时,应用内购买类免费漫游的实例数与呈现 View 的次数一样多。所以,这不是 IAP 问题 - 这是注意力和内存管理的问题。

关于objective-c - iOS 应用内购买 : only one payment added to the SKPaymentQueue but a SKPaymentTransactionObserver method is getting called multiple times,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8008835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com