1

对,所以我在应用商店里有这个游戏叫做 misshapen,在我的游戏中,我有应用内购买,但我发现了一个错误,如果有人按下应用内购买按钮,然后进入主菜单,就会导致游戏崩溃(IAP 在选项屏幕上)如果用户然后返回选项并点击 IAP,游戏会崩溃,因为已经有一个交易观察者。

要解决我的问题,我需要的代码行是

    SKPaymentQueue.defaultQueue().removeTransactionObserver(self)

但我不确定在哪里调用它,因为如果调用错误,那么它会提示用户将一直使用苹果登录屏幕。我的解决方法是调用它

 deinit {    
        if SKPaymentQueue.canMakePayments() {
            SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
        }
}

这有效并解决了我的问题,但是当用户返回菜单时,用户会收到苹果登录屏幕的提示,我不想要这个!请帮帮我谢谢!!:)

4

1 回答 1

0

在关闭购买 ViewController 之前添加它

SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
于 2017-11-16T04:45:36.330 回答