В настоящее время я проверяю покупки в приложении в песочнице, чтобы узнать, активна ли пользовательская подписка в настоящее время или истекла.Я только что подписался на один месяц, и в квитанции говорится, что срок действия подписки истек.OrginalPurchaseDate и ExpiryDate оба выглядят неправильно.Как я могу определить, какие даты в JSON вернулись, являются правильными.Я сравниваю expiryDate с первоначальной датой покупки, чтобы определить, активна ли подписка.
func checkIfSubscriptionIsActive() {
IAPManager.shared.validatePurchaseReceipt { (pReceipt) in
self.receipt = pReceipt
let expiryDate = self.receipt.last.map { $0.expiresDate}!.skTodate
let originalPurchaseDate = self.receipt.last.map { $0.originalPurhaseDate}!.skTodate
print("Latest Receipt: \(self.receipt.last)")
if expiryDate?.compare(originalPurchaseDate!) == .orderedDescending {
print("Subscription is expired")
} else {
print("Subscription is still active")
}
}
}
Вот мои журналы
Последняя квитанция: необязательно (Vinylly.IAPReceiptInfo (количество: «1», tansactionID: «1000000500500768», productID: «com.myApp.skLLC.autoRenewableSubscription ", originalPurhaseDate:" 2019-01-17 11:50:53 Etc / GMT ", isTrialPeriod:" false ", webOrderLineItem:" 1000000042609588 ", expiresDate:" 2019-02-06 15:55:21Etc / GMT "))