问题描述
使用 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>
解决方法
MKStorekitConfigs.plist
中的应用机密不正确