繁体   English   中英

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

[英]Mac application receipt refresh fails in the Sandbox environment

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

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

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

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

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

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

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

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

谢谢!
Aliz

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM