如何得到正确的原购买和IAP斯威夫特到期日期

问题描述 投票:0回答:1

我目前正在测试在应用程序内购买在沙箱中看到,如果用户订阅当前处于活动状态或已过期。我刚刚订阅一个月,收据说,订阅马上过期。该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”,产品编号: “com.myApp.skLLC.autoRenewableSubscription”,originalPurhaseDate: “2019年1月17日11时五十〇分53秒ETC / GMT” ,isTrialPeriod: “假”,webOrderLineItem: “1000000042609588”,expiresDate: “2019年2月6日15时55分21秒ETC / GMT”))

ios swift in-app-purchase
1个回答
1
投票

每个苹果的文档,一个月的订阅将在5分钟内,当您在沙箱环境中测试其到期。如果你想要写/测试一些解决这个代码,尽量在5分钟内做。

© www.soinside.com 2019 - 2024. All rights reserved.