SKPaymentTransactionObserver没有在app开关上获得回调

时间:2011-02-08 20:30:52

标签: iphone objective-c cocoa-touch in-app-purchase

2 个答案:

答案 0 :(得分:5)

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

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

这似乎是Apple商店套件中的一个错误。如果您在开始购买后立即将应用程序发送到后台,然后在提示购买确认弹出窗口时按取消按钮,则可以轻松复制此问题。您的应用永远不会收到交易失败(已取消)通知,并且会进入阻止状态(如果您在购买完成之前禁用了用户阻止用户与应用互动的用户界面)。

我们必须等待Apple的修复。在此期间,如果您的应用进入了阻止状态,因为您在购买时禁用了用户界面;你应该实现一些机制,让用户离开那个状态。

祝你好运!

答案 1 :(得分:0)

我有同样的问题,但是,我在使用沙盒appstore帐户时只设法重现它。

有没有人设法使用真正的苹果帐户重现它?

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

关于这个错误的一个奇怪的事情是你在购买状态下遇到了交易,但是当你正确关闭应用程序并重新启动时,你会发现购买状态下的交易仍然存在,但是不是......好像重新添加SKPaymentTransactionObserver已经触发它正确地重新评估它的状态。