对订阅的到期日期有疑问。我有以下代码,在验证收据和遇到小问题的地方没有错误。我的有效期没有改变。因此,如果我一次又一次地购买订阅,我的到期日期保持不变,并且我总是陷入 else 条款,因为到期日期比"new"日期“旧”。
我做错了什么?
private func complete(transaction: SKPaymentTransaction) {
let receiptValidator = ReceiptValidator()
let result = receiptValidator.validateReceipt()
switch result {
case let .success(receipt):
guard let purchase = receipt.inAppPurchaseReceipts?.filter({ $0.productIdentifier == IAPProducts.autoRenewable.rawValue }).first else {
NotificationCenter.default.post(name: Notification.Name(transaction.payment.productIdentifier), object: nil)
return
}
if purchase.subscriptionExpirationDate?.compare(Date()) == .orderedDescending {
print("expirationDate: \(purchase.subscriptionExpirationDate!)")
print(" now's date: \(Date())")
// true clause stuff
} else {
// false clause stuff
print("Subscription has ended")
}
// other stuff
case let .error(error):
print("receipt is invalid")
print(error.localizedDescription)
}
paymentQueue.finishTransaction(transaction)
}
所以控制台输出如下:
expirationDate: 2017-11-01 09:08:11 +0000
now's date: 2017-11-01 10:35:11 +0000
我错过了什么?
谢谢!
最佳答案
哦,我发现我的沙箱用户进行了太多交易。因此,我创建了另一个代码,现在代码可以按预期工作。
关于swift - 自动续订订阅的到期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47053096/