Why am I seeing all previously purchased product ID's with RMStore

127 views Asked by At

I am using RMStore to do receipt validation on app launch. If I log into the App Store on my iPhone and make a purchase in my app then everything works well. When I decide to test the receipt refresh on startup I decide to log out of the App Store. When I launch the app I have this code in the app delegate (for testing purposes only):

RMAppReceipt *receipt = [RMAppReceipt bundleReceipt];
DLog(@"receipt.inAppPurchases: %@", receipt.inAppPurchases);

I then see that all of the product ids are present:

[AppDelegate application:didFinishLaunchingWithOptions:] [Line 61] receipt.inAppPurchases: (
    "<RMAppReceiptIAP: 0x12753f230>",
    "<RMAppReceiptIAP: 0x1276485c0>",
    "<RMAppReceiptIAP: 0x127647a90>",
    "<RMAppReceiptIAP: 0x12764e490>",
    "<RMAppReceiptIAP: 0x127645dc0>",
    "<RMAppReceiptIAP: 0x12764eb20>",

Why are all of the RMAppReceiptIAP's present? I am not logged in. In theory, RMStore shouldn't know anything about me. When I log in as the original purchaser these RMAppReceiptIAP's are still present on app startup, which makes sense. Lastly, if I log into the App Store as a user that never purchased my product from my app then the RMAppReceiptIAP's are NOT present (which is good), but then when I log out of the account again and start the app again, this second time there are no RMAppReceiptIAP's. It seems like the receipt is being cached temporarily. Perhaps I missed something in the documentation? Can someone explain why the RMAppReceiptIAP's are present even after the purchaser has logged out, but not after a new user has logged in and then out again?

Thank you

0

There are 0 answers