首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKPaymentTransactionObserver在应用程序切换上未获得回调

SKPaymentTransactionObserver在应用程序切换上未获得回调
EN

Stack Overflow用户
提问于 2011-02-09 04:30:52
回答 2查看 1.6K关注 0票数 6

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

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

EN

回答 2

Stack Overflow用户

发布于 2011-08-12 03:18:19

如果我没理解错的话,你遇到过这个问题:

In App Purchase user cancels tx while app in background: tx state stays on purchasing

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

我们必须等待苹果的解决方案。同时,如果你的应用因为你在购买时禁用了UI而进入阻塞状态,你应该实现一些机制来允许用户离开该状态。

祝好运!

票数 5
EN

Stack Overflow用户

发布于 2012-06-09 16:33:45

我也有同样的问题,但是,我只在使用沙箱appstore帐户时成功地重现了它。

有没有人用真正的苹果账号复制了它?

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4938048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档