我的应用有自动更新订阅。我尝试测试订阅的正确工作流。根据WWDC 2018:
我创建了一个为期一周的新订阅。我创建了一个新的沙盒用户,并尝试激活我的新订阅。代码如下:
guard let httpResponce = responce as? HTTPURLResponse,
let contentType = httpResponce.allHeaderFields["Date"] as? String,
let expirationDate = self.parcedReceipt?.inAppPurchaseReceipt?.subscriptionExpirationDate,
let serverDate = self.parseDateAndTime(getResDate: contentType) else {
result(false, ReceiptError.unexpectedError.localizedDescription)
return
}
self.saveDateAndTime(dateForSave: serverDate)
self.ls.pmsg("serverTime:\(serverDate), receiptDate:\(expirationDate)")
我用服务器验证日期和时间。结果是相同的-我总是得到ReceiptDate,比如:当前时间+一小时:
XXX.swift validateTimeWithServer(result:) serverTime:2018-07-11 13:18:16 +0000, receiptDate:2018-07-11 14:18:16 +0000
但我的订阅只有一周。
为什么会这样?是否有可能收据的日期是一个小时,但实际上,应用商店在3分钟后更新?