iOS恢复应用程序购买与收据

下面的摘录是从苹果文件如何恢复在iOS 7的应用程序购买。他们说,你可以存储收据,以后找出他们已经买了什么,或者你可以刷新应用程序收据。 我的问题是:

1)是否有一个应用程序收据或有多个单一的收据?

2)存储这些收据是否更有意义,而不是直接存储用户已经购买的function

3)如何检查我从刷新中得到的收据? 我所有的尝试parsing它失败了。

4)是否有框架已经有很多function(在iCloud上保存收据/购买产品,使购买更容易,处理下载,处理各种连接问题等)已经? 甚至可能支持远程服务器(和validation)。

我希望有人能帮助! 🙂


刷新应用程序收据

创build一个收据刷新请求,设置一个委托,并开始请求。 该请求支持在testing期间在各种状态下获取收据的可选属性,例如过期收据 – 有关详细信息,请参阅SKReceiptRefreshRequest的initWithReceiptProperties:方法的值。

request = [[SKReceiptRefreshRequest alloc] init]; request.delegate = self; [request start]; 

刷新收据后,检查并交付添加的任何产品。

1)是否有一个应用程序收据或有多个单一的收据?

有一个应用程序收据。 在此之前,苹果提供了每笔交易的收据。 这些收据仍然存在,但已被弃用。

2)存储这些收据是否更有意义,而不是直接存储用户已经购买的function

不再(iOS 7应用程序)。

3)如何检查我从刷新中得到的收据? 我所有的尝试parsing它失败了。

这是一个复杂的问题。 我build议阅读这个无耻的长答案: https : //stackoverflow.com/a/20039394/143378 。

4)是否有框架有很多function(在iCloud上保存收据/购买产品,使购买更容易,处理下载,处理各种连接问题等)已经? 也许即使远程服务器支持(和validation)。

有3我知道:

  • 货舱
  • RMStore
  • MKStoreKit

迄今为止,MKStoreKit似乎被放弃,CargoBay不支持应用收据。 CargoBay具有RMStore没有的function,反之亦然。 我会检查他们两个,看看哪一个更适合您的要求。

无论如何,我build议在使用任何库之前阅读StoreKit文档。 这些库提供代码,而不是理解。

免责声明:我开发了RMStore。