好吧,我在app store上有一个叫做畸形的游戏,在我的游戏中,我有应用内购买,工作正常,但我发现了一个错误,如果有人按下应用内购买按钮,然后进入主菜单(IAP在选项屏幕上),如果用户返回选项,然后点击IAP,游戏崩溃,因为已经有一个事务观察员。
要解决我的问题,我需要的代码行是
SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
但我不知道在哪里调用它,因为如果它被调用错误,然后它提示用户将苹果登录屏幕上所有的时间。我的办法是叫它进来
deinit {
if SKPaymentQueue.canMakePayments() {
SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
}
}
这是可行的,并解决了我的问题,但当用户返回菜单时,用户会得到苹果登录屏幕提示,我不想这样!!请帮帮我谢谢!! :)
最佳答案
在关闭购买视图控制器之前添加此项
SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
关于ios - SKPaymentQueue.defaultQueue()。removeTransactionObserver(self)删除和添加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31489988/