StoreKit2 people: I have a customer who has a subscription that is expired:
…but the expiration isn't for another couple weeks.
How, uh, is that possible? I'm guessing I'm missing something here?
@caseyliss Was it revoked? Maybe that happens if they asked for a refund. I could be way off. Haven’t played with storekit in a very long time.
@strongcoffee No, in Settings.app it shows as currnet.
@caseyliss The status array on Product.SubscriptionInfo can contain multiple elements if a subscription supports family sharing. Different family members can subscribe/cancel and they all get recorded.
Do this:
let checkStatus = statuses.first { $0.state == .subscribed || $0.state == .inGracePeriod }
@chockenberry @caseyliss that would require a new release of the app.
Been there. Done that. Sorry.
@chockenberry @caseyliss or in billing retry.
@caseyliss you mean that the state is expired, but not the expiration date?
@caseyliss that's very strange. I'm only checking the state in my apps.
@Mecid There's a chance this is me doing something wrong but it's hard to debug remotely in prod
@caseyliss a few things to check, if the user have family sharing for this subscription? Might be two subscriptions with the same id but different states.
@Mecid Yeah, that's the road I'm currently walking down. Adding a shitload more logging to prep for more remote "debugging" in prod. ;)
@caseyliss
Sounds like it might be time for @revenuecat
@Ampsonic I have ragrats
@charliechapman
@charliemchapman @caseyliss @Ampsonic RevenueCat truly is a superpower in these predicaments
@caseyliss The 2 hardest problems in computer science are cache invalidation....and dates/times.