我正在尝试检查自动续订收据的到期日期,但是在沙箱中,我一购买它并检查日期落后2小时。
例如,如果我在下午5点购买,则到期日期为
2:05(落后2小时+ 5分钟)... 5分钟是沙盒中7天订阅的最后时间。
收据上的日期采用以下格式:
"In App Subscription Expiration Date" = "2014-04-21 02:05:10 +0000";
说,收据上的这个小时不应该与用户时间相匹配吗?
好的我可以将其转换为当地时间,但这里最大的问题是我是否应该总是假设来自Apple的日期将来自+0000 = GMT?
答案 0 :(得分:0)
好的我可以把它转换成当地时间,但这里最大的问题是我应该总是假设来自Apple的日期将来自+0000 = GMT吗?
不,但您应该假设Apple会以相同的格式(包括最后的偏移量)为您提供日期。因此,要将其转换为本地时间,您可以使用以下内容:
NSDate *expirationDate = [[NSDate alloc] initWithString:@"2014-04-21 02:05:10 +0000"]
然后进行比较:
if ([expirationDate timeIntervalSinceNow] < 0) {
//expired
}
else {
//not expired
}
Apple很可能总是使用GMT;但是,如果他们觉得每次都需要发送偏移量,你也可以检查一下。