English 中文(简体)
SKPaymentTransactionObserver未在应用程序开关上获得回调
原标题:SKPaymentTransactionObserver not getting a callback on app switch

我设置了应用内购买,这样当用户点击购买按钮时,会出现“请等待”视图,并将付款添加到付款队列中。这总是导致队列的观察器立即回调,表示事务已进入“Purchasing”状态。

当用户在弹出确认购买对话框之前返回主屏幕,然后取消时,就会出现我的问题。如果我在切换回应用程序之前在主屏幕上等待一段时间,那么应用程序永远不会得到任何关于事务切换状态或被删除的回调。如果我检查付款队列,我可以看到交易仍在队列中,仍处于“采购”状态。在恢复应用程序后,我能做些什么让它回调并将其从队列中删除吗?

问题回答

如果我正确理解你的情况,你就遇到了这个问题:

应用内购买用户取消tx,而应用在后台:tx状态保持在购买

这似乎是苹果商店工具包中的一个错误。如果您在开始购买后立即将应用程序发送到后台,然后在提示购买确认弹出窗口时按下取消按钮,则可以很容易地再现此问题。您的应用程序将永远不会收到交易失败(取消)通知,并将进入阻止状态(如果您禁用了试图阻止用户与应用程序交互的UI,直到购买完成)。

我们必须等待苹果公司的修复。与此同时,如果您的应用程序因在购买时禁用UI而进入阻止状态;您应该实现一些机制来允许用户离开该状态。

祝你好运

我也有同样的问题,但是,我只是在使用沙盒应用商店帐户时才设法复制它。

有人用一个真正的苹果帐号复制过它吗?

我还没有尝试过,但我正在考虑在应用程序失去焦点时删除我的SKPaymentTransactionObserver,并在下次激活时再次添加它。

这个bug的奇怪之处在于,你会被处于购买状态的交易卡住,然而,当你正确关闭应用程序并重新启动它时,你会认为处于购买状态下的交易仍然存在,但事实并非如此。。。就好像重新添加SKPaymentTransactionObserver触发了它正确地重新评估其状态一样。





相关问题
Code sign Error

I have created a new iPhone application.I have two mach machines. I have created the certificate for running application in iPhone in one mac. Can I use the other mac for running the application in ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

将音频Clips从Peter改为服务器

我不禁要问,那里是否有任何实例表明从Peit向服务器发送音响。 I m不关心电话或SIP风格的解决办法,只是一个简单的袖珍流程......

• 如何将搜查线重新定位?

我正试图把图像放在搜索条左边。 但是,问题始于这里,搜索条线不能重新布署。

热门标签