【发布时间】:2015-10-08 00:15:47
【问题描述】:
是的,我在应用商店里有这个游戏叫 misshapen主菜单(IAP 在选项屏幕上)如果用户然后返回选项并单击 IAP,则游戏会崩溃,因为已经有交易观察者。
要解决我的问题,我需要的代码行是
SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
但我不确定在哪里调用它,因为如果调用错误,那么它会提示用户将一直使用苹果登录屏幕。我的解决方法是调用它
deinit {
if SKPaymentQueue.canMakePayments() {
SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
}
}
这可以解决我的问题,但是当用户返回菜单时,用户会收到苹果登录屏幕的提示,我不想要这个!!请帮帮我谢谢!! :)
【问题讨论】:
-
你的逻辑似乎有问题。您应该始终将事务观察器留在原处。我会调查你的游戏崩溃的“真正”原因。也许在这里提供更多代码。代表是否被解除分配?
-
问题是,如果有人宣传付款(购买),但下次他们进入并尝试购买时从未完成(或离开菜单),它会尝试添加相同的付款,看看它已经在那里并且崩溃了
-
您必须更多地描述您的流程。用户如何添加购买但从未完成购买?你能改变你的逻辑、算法或用户界面,使这是不可能的吗?
标签: ios swift in-app-purchase deinit