2

我的应用程序有几个非消耗性 iAP。该应用程序的第一个版本在应用程序包中包含适当的内容,因此 iAP 只是解锁可以访问内容的区域。我正在开发该应用程序的第二个版本,这次内容将在用户购买时下载。我创建了新版本的 iAP(重要提示:相同 iAP 的新版本,但这次添加“托管内容”,它们不是全新的 iAP),托管内容已成功上传,并且 iAP 状态为“准备提交” ”。一切正常,内容已下载到设备,直到 1 周前,当我出于某种原因进行测试时,购买成功但内容未下载。创建时使用断点SKPayment对象,我可以看到它有可下载的内容:

(lldb) po product.downloadable
YES

甚至版本与 iTunes Connect 中的相同:

(lldb) po product.downloadContentVersion
1.1

但是在处理内部事务时-paymentQueue:updatedTransactions:,它没有SKDownload对象:

(lldb) po transaction.transactionState
SKPaymentTransactionStatePurchased

(lldb) po transaction.downloads
<__NSArrayM 0x13e1d38a0>(

)

我正在使用 TestFlight Sandbox 用户,它在执行购买时显示 [Environment: Sandbox],所以我知道我不在生产环境中。

到底是怎么回事?为什么它突然停止工作?苹果最近改变了什么吗?这真让我抓狂。谢谢,任何帮助表示赞赏。

4

1 回答 1

1

好吧,我终于有答案了。事实证明,这是来自 Apple 的错误。我为此请求了技术支持事件,Apple 工程师回复:

不幸的是,这是一个已知问题。在解决之前,我只能建议您提交错误报告并准备外部 TestFlight 构建(如果 QA 团队要求)。

但最好的部分是,今天感谢全能的上帝,同样的工程师回来说:

您现在应该发现这个问题应该不再发生了。

我刚刚测试过,我可以确认这个错误已经消失了。

于 2016-02-22T23:55:25.837 回答