应用程序中的iOS恢复购买收据

时间:2014-02-05 00:32:17

标签: ios in-app-purchase storekit

以下摘录来自Apple文档,如何在iOS 7中恢复应用程序。他们说您可以存储收据并稍后查看用户已购买的内容,或者您​​可以刷新App Receipt。我的问题是:

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

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

3)我如何检查从刷新中获得的收据?到目前为止,我所有尝试解析它都失败了。

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

我希望有人可以提供帮助! :)


刷新App Receipt

创建收据刷新请求,设置委托并启动请求。该请求支持在测试期间以各种状态获取收据的可选属性,例如过期收据 - 有关详细信息,请参阅SKReceiptRefreshRequest的initWithReceiptProperties:方法的值。

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

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

1 个答案:

答案 0 :(得分:12)

  

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

只有一个应用收据。在此之前,Apple为每笔交易提供了收据。这些收据仍然存在,但已被弃用。

  

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

不再适用(适用于iOS 7应用)。

  

3)我如何检查从刷新中获得的收据?到目前为止,我所有尝试解析它都失败了。

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

  

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

我知道有3个:

迄今为止,MKStoreKit似乎已被废弃,而CargoBay不支持应用收据。 CargoBay具有RMStore没有的功能,反之亦然。我会检查它们,看看哪个更适合你的要求。

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

免责声明:我开发了RMStore。