应用程序更新后,[NSBundle appStoreReceiptURL]的收据是否仍然存在

时间:2014-09-18 05:44:36

标签: ios iphone in-app-purchase receipt-validation

在生产环境中,如果用户进行应用内购买,然后更新到应用的较新版本,那么反映应用内购买仍然存在于捆绑中的收据?或者它是否被应用更新消灭了?

1 个答案:

答案 0 :(得分:0)

好的,我想我终于找到了这个问题的答案。

  

收据是指购买的可信记录,以及   用户所做的任何应用内购买 - 非常像纸张   在商店购物时收到的收据。这是一些关键   关于收据的要点:

     
      
  • Apple通过App Store创建并签名收据。
  •   
  • 为特定版本的应用程序和特定设备颁发收据。
  •   
  • 收据本地存储在设备上。
  •   
  • 每次安装或更新时都会发出收据   发生。

  •   
  • 安装应用程序时,会收到与之匹配的收据   应用程序和设备发布。

  •   
  • 更新应用程序时,会发出与新版本的应用程序匹配的收据。

  •   
  • 每次交易发生时都会收到收据:

  •   
  • 当进行应用内购买时,会发出收据,以便可以访问该收据以验证购买。
  •   
  • 恢复以前的交易时,会发出收据,以便可以访问该收据以验证这些购买。
  •   

来自https://www.objc.io/issues/17-security/receipt-validation/

因此,如果您更新收据上具有购买历史记录的应用程序,则此购买历史记录应包含在为新应用程序版本颁发的新收据中。 (当然,除非它是消耗品)。