【发布时间】:2021-10-06 04:41:06
【问题描述】:
使用 MKStoreKit 进行自动续订订阅。在沙盒中成功购买。问题是购买日期和到期日期始终记录为相同,或者比当前日期晚 1 小时。对于accelerated sandbox times,我预计[[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>
【问题讨论】:
标签: objective-c cocoa-touch in-app-purchase auto-renewing mkstorekit