iOS iAP 托管内容下载不工作

iOS iAP Hosted content download not working

我的应用程序有几个非消耗性 iAP。该应用程序的第一个版本在应用程序包中包含了适当的内容,因此 iAP 只是为了解锁可以访问内容的区域。 我正在开发该应用程序的第二个版本,这次将在用户购买时下载内容。 我创建了新版本的 iAP(重要:相同 iAP 的新版本,但这次添加 "Hosted Content",它们不是全新的 iAP),托管内容上传成功,iAP 状态为 "Ready to Submit". 一切正常,内容已下载到设备,直到 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],所以我知道我不在生产环境中。

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

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

It’s unfortunate that this is a known issue. Until it’s resolved, I can only suggest that you submit a bug report and prepare an external TestFlight build, if the QA team asks for one.

但最棒的是,今天感谢全能的上帝,同一位工程师回来说:

You should now find that this issue should no longer be happening.

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