我正在使用RMStore
对应用启动进行收据验证。如果我在iPhone上登录App Store并在我的应用程序中进行购买,那么一切正常。当我决定在启动时测试收据刷新时,我决定退出App Store。当我启动应用程序时,我在app delegate中有这个代码(仅用于测试目的):
RMAppReceipt *receipt = [RMAppReceipt bundleReceipt];
DLog(@"receipt.inAppPurchases: %@", receipt.inAppPurchases);
然后我看到所有产品ID都存在:
[AppDelegate application:didFinishLaunchingWithOptions:] [Line 61] receipt.inAppPurchases: (
"<RMAppReceiptIAP: 0x12753f230>",
"<RMAppReceiptIAP: 0x1276485c0>",
"<RMAppReceiptIAP: 0x127647a90>",
"<RMAppReceiptIAP: 0x12764e490>",
"<RMAppReceiptIAP: 0x127645dc0>",
"<RMAppReceiptIAP: 0x12764eb20>",
为什么所有RMAppReceiptIAP
都存在?我没有登录。理论上,RMStore不应该对我有任何了解。当我作为原始购买者登录时,这些RMAppReceiptIAP
仍然存在于应用启动时,这是有道理的。最后,如果我以未从我的应用程序购买产品的用户身份登录App Store,则RMAppReceiptIAP
不存在(这很好),但是当我退出帐户时再次启动应用程序,第二次没有RMAppReceiptIAP
。好像收据暂时缓存了。也许我错过了文档中的内容?有人可以解释为什么RMAppReceiptIAP
即使在购买者退出后也存在,但是在新用户登录然后再出来之后却没有?
谢谢