Haben Sie eine Frage zum Ablaufdatum des Abonnements? Ich habe folgenden Code mit funktioniert ohne Fehler, wo ich den Empfang bestätigen und wo ich ein kleines Problem habe. Mein Ablaufdatum ändert sich nicht. Also, wenn ich ein Abonnement immer wieder kaufe, bleibt mein Ablaufdatum gleich und ich falle immer in die else-Klausel, weil das Ablaufdatum "älter" als "neu" ist.Ablaufdatum des automatisch erneuernden Abonnements
Was mache ich falsch damit?
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)
}
So ist die Ausgabe der Konsole wie folgt aus:
expirationDate: 2017.11.01 09.08.11 0.000
jetzt das Datum: 2017.11.01 10.35.11 +0000
Was vermisse ich?
Vielen Dank!