iOS In-App-Purchase Sandbox 恢复消耗品购买

Posted

技术标签:

【中文标题】iOS In-App-Purchase Sandbox 恢复消耗品购买【英文标题】:iOS In-App-Purchase Sandbox restoring consumable purchase 【发布时间】:2015-05-29 19:51:48 【问题描述】:

我的应用仅包含消耗性 IAP。我正在尝试在沙盒环境中连续第二次购买相同的消耗品 IAP,但在交易后 3 秒会弹出一个屏幕,提示已购买并免费恢复。

由于 IAP 在 iTunes Connect 中被定义为消耗品,我看不到应用商店想要如何恢复它。这只是一个沙盒错误,提交后会起作用吗?

【问题讨论】:

【参考方案1】:

确保 IAP 在 Itunes Connect 中标记为消耗品。这应该可以解决问题...

http://i.stack.imgur.com/Mhrll.png

【讨论】:

是的。当我连续两次或多次购买 IAP 时会出现此问题。如果我在再次购买之前关闭该应用并重新打开它,则问题不会持续存在。【参考方案2】:

无论是SKPaymentTransactionStatePurchasedSKPaymentTransactionStateFailed,您都需要完成交易:

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];

【讨论】:

以上是关于iOS In-App-Purchase Sandbox 恢复消耗品购买的主要内容,如果未能解决你的问题,请参考以下文章

无法实际托管 In-App-Purchase 托管内容

Flutter In-App-Purchase,每次重启应用如何查看是不是已购买?

iOS 中的 IAP 停止工作

在 ios 付费应用程序中包含应用内购买

关于 IOS App Store 和 Google Store 促销代码

在应用程序内购买