4

我正在使用RMStore库来处理我的 iOS 应用程序中的自动更新订阅。它适用于购买,但我找不到任何文档如何使用 RMStore 检查当前订阅是否仍然有效?

检查购买产品的代码在这里不起作用:

 if([persistence isPurchasedProductOfIdentifier:SUBSCRIPTION_1]) { ... }

此代码始终显示订阅已购买(因为它是)但不检查此订阅是否已通过日期。

我在RMAppReceipe.h文件中看到方法“ isActiveAutoRenewableSubscriptionForDate ” ,但我没有找到任何文档如何使用 RMStore 在我的应用程序中检索订阅收据以及如何使用isActiveAutoRenewableSubscriptionForDate方法检查此收据。请帮忙。

摘要:我只需要检查订阅@“com.fanfun.apptestsubscription1”在今天(当前日期)是否仍然有效。请提供此简单检查的示例代码。

4

2 回答 2

7

我想我找到了一个解决方案并且它有效:

RMAppReceipt* appReceipt = [RMAppReceipt bundleReceipt];

NSLog(@"Is subscription 1 active: %d", [appReceipt containsActiveAutoRenewableSubscriptionOfProductIdentifier:SUBSCRIPTION_1 forDate:[NSDate date]]);
于 2014-01-16T14:27:49.480 回答
1

我不知道您是否使用了那个库。但是,如果您有权访问收据本身,则可以对收据进行 base64 解码,以在“过期日期”字段中获取收据的持续时间。

还要检查这些链接:

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW2

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html

更新

[RMAppReceipt containsActiveAutoRenewableSubscriptionOfProductIdentifier:identifier forDate:date]

应该做的伎俩

于 2014-01-16T14:11:29.250 回答