使用 MKStoreKit 进行自动续订订阅。在沙盒中成功购买。问题是购买日期和到期日期始终记录为相同,或者比当前日期晚 1 小时。随着沙盒时间的加快,我预计[[MKStoreKit sharedKit] expiryDateForProduct:@"211112"];
将[NSDate date]
在购买前 30 分钟左右,因为它是六个月的购买。我得到交易的当前日期正好晚了 1 小时。
购买记录:
Transaction date is 2021-07-30 4:15:07 pm +0000
Subscription end date is Fri Jul 30 17:15:07 2021
重新加载时,日志打印该订阅到期日期和当前日期完全相同
重新加载日志:
1. Current time and date: Fri Jul 30 17:02:42 2021
2. Expiry date for subscription 6 months = Fri Jul 30 17:02:42 2021
从 MKStoreKit 中的代码来看,购买日期可能会返回 NULL 并返回当前日期
-(NSDate*) expiryDateForProduct:(NSString*) productId {
NSNumber *expiresDateMs = self.purchaseRecord[productId];
if ([expiresDateMs isKindOfClass:NSNull.class]) {
return NSDate.date;
} else {
return [NSDate dateWithTimeIntervalSince1970:[expiresDateMs doubleValue] / 1000.0f];
}
}
[[MKStoreKit sharedKit] valueForKey:@"purchaseRecord"]
<null>
购买退货