如何获取用户的完整列表';从iOS应用商店进行的应用内购买/交易?

如何获取用户的完整列表';从iOS应用商店进行的应用内购买/交易?,ios,in-app-purchase,store,Ios,In App Purchase,Store,以下是我的情况:在我的应用程序中,我有一组可消费的应用程序内购买。发送到服务器的所有购买都将被验证和激活。但也有可能遇到这样的情况:用户进行了购买(付费),但在购买激活过程中发生了一些事情(连接中断、服务器错误等)。结果,应用程序和服务器都不知道购买信息(让我们假设应用程序由于某种原因丢失了购买数据)。因此,我需要从应用商店获取用户的购买/交易 我尝试了[[SKPaymentQueue defaultQueue]restoreCompletedTransactions] 但它不会退回购买的消费品

以下是我的情况:在我的应用程序中,我有一组可消费的应用程序内购买。发送到服务器的所有购买都将被验证和激活。但也有可能遇到这样的情况:用户进行了购买(付费),但在购买激活过程中发生了一些事情(连接中断、服务器错误等)。结果,应用程序和服务器都不知道购买信息(让我们假设应用程序由于某种原因丢失了购买数据)。因此,我需要从应用商店获取用户的购买/交易

我尝试了
[[SKPaymentQueue defaultQueue]restoreCompletedTransactions]
但它不会退回购买的消费品

有没有办法从app store获取所有购买/交易的列表?

有两种可能: 1) 如果与服务器的交互失败,则不要完成事务(即不要从队列中删除事务)。这样,您的事务观察器将再次获得它,您可以再次尝试您的服务器。
2) 完成事务,但在应用程序上存储足够的信息(例如NSUserDefaults),以便稍后使用服务器重试。您可以启动一个计时器,稍后再试。

只是说,一旦用户付款,他们就可以恢复交易。在基本层面上,当他们再次尝试购买时,他们会被告知他们已经购买了,但你还应该实现一个恢复购买按钮(事实上,苹果现在会拒绝任何没有这个按钮的应用程序)。不可能有人付了钱就真的陷入了空虚。亲爱的盖伊·普伍德,你读过这种情况吗?这是消费品采购。它们不存在于还原(restoreCompletedTransactions)中,所以您建议的按钮是100%无用的。我们需要一个包含所有用户购买的应用程序的交易历史记录列表。我认为,只有通过一个单独的服务器来注册和记住消费品购买,这通常也需要某种形式的用户登录