Sandbox环境中的Mac应用程序收据刷新失败

时间:2014-03-08 01:24:56

标签: macos in-app-purchase

我必须将可更新的IAP添加到mac应用程序中,我还必须提供恢复机制。 我已经研究过现有的线程,但找不到任何类似的案例。

申请收据包含用户使用他/她进行的所有购买...因此,无论何时用户进行购买,我都必须将申请收据发送到我的服务器进行验证。这似乎是合理的,因为在用户进行购买时他/她在Mac App Store中登录并且应用程序收据应该是最新的。

当我想恢复用户购买时,我可以看到两个选项:

  1. 在10.9之前,您可以在SKPaymentQueue上调用restoreCompletedTransactions方法并处理所有已恢复的事务。但是这些事务没有来自iOS的transactionReceipt ...所以每次恢复我都会将应用程序收据发送到我的服务器进行验证。我在恢复交易后检查了申请收据是否已更新。

  2. 从10.9开始,有一个刷新应用程序收据的新请求,可用于恢复事务:SKReceiptRefreshRequest。这样,恢复只有两个步骤:刷新收据并仅将其发送一次到我的服务器进行验证。

  3. 我的问题是在沙盒环境中我无法使用SKReceiptRefreshRequest,每次使用它时都会收到此消息:[“Applicationame”已损坏且无法打开。删除“Applicationame”并从App Store再次下载。]我尝试注销Mac Store,重启storeagent,重新启动计算机,为请求指定receiptProperties ......但没有任何帮助......

    注意:如果应用程序正在运行且我手动删除收据,然后尝试刷新收据,则收据刷新正常并且下载收据。但是,下次启动应用程序并尝试收据刷新,同时收到上一张收据时,会出现相同的错误。

    之前有人看过这个问题吗?如果是,你找到了解决方案吗?

    谢谢!
    Aliz

0 个答案:

没有答案