Skip to main content
Solved

iOS StoreKit testing, expiring doesn't seem to work (but refunds doe), log error...

  • 19 December 2021
  • 1 reply
  • 198 views

Marc Palmer
Forum|alt.badge.img+5

Hi,

I’m StoreKit testing and subbing to my monthly or annual products works. Refunds also work. Switching between monthly and annual also works but… cancelling does not. I never seem to see willRenew == false., I do sometimes see this in the logs: 

2021-12-19 18:29:19.582279+0000 Captionista Debug[85027:961458] [Purchases] - ERROR: 😿‼️ The data object identifier couldn't be found on the receipt.

2021-12-19 18:29:19.582382+0000 Captionista Debug[85027:961458] [Purchases] - WARN: ⚠️ /Users/marc/Library/Developer/Xcode/DerivedData/Captionista-dhlqkvltvxzowycfexhqwsaswlxg/SourcePackages/checkouts/purchases-ios/PurchasesCoreSwift/LocalReceiptParsing/ReceiptParser.swift-receiptHasTransactions(receiptData:): Could not parse receipt, conservatively returning true

Any ideas?

Basically I can’t verify that cancellation clears the entitlement.isActive as it stays true when I cancel — no matter what time scale I use e.g. monthly sub with 1 month = 30 seconds.

If I restart the app after waiting, the entitlement is gone - but I can’t verify `willRenew` functionality.

Best answer by tina

Hey @Marc Palmer 

With StoreKit testing, the receipt is cleared after restarting the device, which is why you’re seeing that the entitlement is gone after resetting. The log message that you see just indicates that local receipt parsing failed, this is just an informative message indicating the on device receipt couldn't be parsed, and doesn't necessarily indicate a larger issue- by returning true, it ensures that the receipt gets sent to our backend for processing.

 

Have you tried testing on a real device yet? 

View original
Did this post help you find an answer to your question?

1 reply

tina
RevenueCat Staff
Forum|alt.badge.img+10
  • RevenueCat Staff
  • 338 replies
  • Answer
  • December 27, 2021

Hey @Marc Palmer 

With StoreKit testing, the receipt is cleared after restarting the device, which is why you’re seeing that the entitlement is gone after resetting. The log message that you see just indicates that local receipt parsing failed, this is just an informative message indicating the on device receipt couldn't be parsed, and doesn't necessarily indicate a larger issue- by returning true, it ensures that the receipt gets sent to our backend for processing.

 

Have you tried testing on a real device yet? 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings