`startDownloads`无法恢复的事务。 `updatedDownloads`没有被调用

时间:2018-04-13 20:13:33

标签: swift in-app-purchase storekit skpaymenttransaction iap-hosted-content

我在恢复托管的应用内购买内容时遇到问题。有时它有效,有时它根本不起作用。我的用户也在报告此问题。

我很难尝试复制它,但当它发生时我设法遇到了这种情况。

现在每当我从Xcode上运行我的Mac上的应用程序时,我的商店代表会在启动后不久通知队列中有两个待处理的恢复事务。并且正在调用以下函数:

func provideContent(_ transaction:SKPaymentTransaction) {
    if transaction.downloads.count > 0 {
        GLXLogger.shared.addGeneralLog(format: "[STORE] starting download")
        SKPaymentQueue.default().start(transaction.downloads)
    }

我看到日志消息[STORE] starting download所以我知道这段代码已经执行了。然后什么都没发生。 updatedDownloads未被调用。我已经验证finishTransaction也没有被调用,所以这不可能中断正常执行。

我基本上没有想到可能导致此问题的原因。我知道这个场景有两个挂起的恢复事务,但我认为没有理由导致这样的失败。它对应于我在一些用户的日志中看到的内容。对于他们来说SKPaymentQueue.default().start(transaction.downloads)被称为后来没有任何事情发生。

如果你能帮我调试一下,我会很感激,至少就你认为可能造成这种奇怪行为的想法提出一些想法。

0 个答案:

没有答案