付款队列:已更新事务:未调用



经过 2.5 年的开发,我最近发布了我的第一个应用程序(Roguelike),现在我很难恢复非消耗性购买:

我有一个"恢复购买"按钮,可以很好地调用此方法:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

然后弹出一个提示,要求我的用户名和密码,所以我输入我的测试帐户信息。

然而,这就是发生的一切。 该应用程序不会崩溃,因为 xcode 显示它仍然运行良好,但此方法永远不会被调用:

-(void) paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions;

我可以进行消耗性购买,甚至可以正常购买非消耗品购买,但是当我从设备中删除应用程序,重新安装并尝试恢复时,上面的付款队列:updateTransactions:函数永远不会被调用,而其他所有内容似乎都被正常调用。

谁能识别我的错误?

您是否调用[[SKPaymentQueue defaultQueue] addTransactionObserver:myObject]来告诉 defaultQueue 您将收到事务更新/事件的通知?我最近遇到了类似的问题,花了几天时间和多个教程才找到错误。希望这有帮助!

请注意,应用商店工具包测试在模拟器中不起作用。你不会说这是在模拟器中还是在设备上发生的,但我的经验是,在模拟器中进行测试不会削减它。(我不清楚这是苹果故意的政策还是模拟器的错误。

最新更新