ios - 收货日期与沙盒持续时间不匹配
问题描述
我的应用程序具有自动续订订阅。我试图测试订阅的正确工作流程。根据 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
但我的订阅只有一周。
为什么会这样?收据日期是否可能是一小时,但实际上 AppStore 会在 3 分钟后更新?
解决方案
这是因为入门价格。如果订阅有介绍价,则订阅期将是错误的。就我而言,我删除了一个介绍性价格,沙盒用户的持续时间开始为 3 分钟。
推荐阅读
- python - 多线程 Python 脚本,但只有 20% 的 CPU?如何加快我的 Python 脚本?
- c++ - C++ std::move() performance wise with lvalues
- javascript - Typescript, how to transform an object to an expeced form
- python - 当密码包含时,FTP_TLS 530 使用 Python3 登录不正确 §
- javascript - onclick event not loading data in correct sequence
- mule - startdate 将 queryparams 作为字符串作为 07/21/2020 和 dayCount 作为整数 30 传递。在 mule 4 中希望 enddate 来自 startdate 和 dayCount
- angular - How do I put a logo saved in assets directory in my pdf using PDFmake?
- java - 从接口调用接口
- solr - Solrj addfilterquery adding "+" sign to replace whitespace in range query
- azure - Bing web search with Azure - I can't get my command to work ? (invalid endpoint)