我们的应用程序列出了共享相同消耗品ID(即,许多产品使用一个消耗品ID)的锁定产品列表。我们的服务器为我提供了产品列表以及与它们关联的产品ID:
项目名称=“ itemA” iphoneProductId =“ consumable.test.1”
项目名称=“ itemB” iphoneProductId =“ consumable.test.1”
项目名称=“ itemC” iphoneProductId =“ consumable.test.1”
我们选择消耗品是因为我们的商品是动态创建的,需要立即提供给用户(请不要回信,表明我们使用的是非消耗品,还有很多其他原因很难解释,除非我放弃私人销售有关与我们合作的公司的详细信息,以及我们使用耗材的原因)。这使我们可以让多个产品共享相同的价格。
例如,当用户购买itemA时,该商品被解锁。但是,有时,当用户然后尝试成为itemB时,Apple会返回“您已经购买了此商品,但尚未下载它”。点击“确定立即下载”。对于消耗品,这绝对不应该发生。我知道我们的系统非常复杂,但就苹果商店的套件而言,只是在再次购买相同的产品。
这可能只是沙盒问题吗?由于该应用尚未发布,因此我们无法进行实时测试。实际上,由于我们的客户和我们都在关注这个问题一样,整个问题一直在推迟发布。
我遵循了iphone文档中的相同代码,以及少数几个应用程序内购买教程。我看到论坛上的很多人似乎都目睹了上面关于“消费品”的“已购买”对话框,但是没有一个人得到答复。
请帮忙!谢谢
最佳答案
问题是您永远无法完成交易。您需要将其从队列中删除。
喜欢:
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];