Trying expired subscription detection on watchOS my app claims a valid subscription when it shouldn't.
print(status.localizedDescription)
gives me Currently subscribed
which is odd because the subscription should have expired 3 days ago. The StoreKit status array says
[StoreKit.Product.SubscriptionInfo.Status(state: StoreKit.Product.SubscriptionInfo.RenewalState(rawValue: 1), transaction: {
"header" : {
"alg" : "ES256",
"kid" : "Apple_Xcode_Key",
"typ" : "JWT",
"x5c" : [
"00000"
]
},
"payload" : {
"bundleId" : "00000",
"deviceVerification" : "00000",
"deviceVerificationNonce" : "00000",
"environment" : "Xcode",
"expiresDate" : 1674848446946.3331,
"inAppOwnershipType" : "PURCHASED",
"isUpgraded" : false,
"originalPurchaseDate" : 1674848086048.807,
"originalTransactionId" : "0",
"productId" : "00000",
"purchaseDate" : 1674848086946.3331,
"quantity" : 1,
"signedDate" : 1674848087407.774,
"subscriptionGroupIdentifier" : "0000",
"transactionId" : "1",
"type" : "Auto-Renewable Subscription",
"webOrderLineItemId" : "1"
},
"signature" : "64 bytes (verified)"
}, renewalInfo: {
"header" : {
"alg" : "ES256",
"kid" : "Apple_Xcode_Key",
"typ" : "JWT",
"x5c" : [
"00000"
]
},
"payload" : {
"autoRenewProductId" : "00000",
"autoRenewStatus" : 1,
"deviceVerification" : "00000",
"deviceVerificationNonce" : "00000",
"environment" : "Xcode",
"originalTransactionId" : "0",
"productId" : "00000",
"recentSubscriptionStartDate" : 1674848086048.807,
"signedDate" : 1674848087407.7899
},
"signature" : "64 bytes (verified)"
})]
Mind the expiresDate
. Also, the autoRenewStatus
is 1
however in StoreKit > Manage Transactions
they are long expired (and therefore shouldn't have renewal enabled).
Am I missing something here?
I expected the subscription to throw an "expired" state.