ios订阅不会在沙箱中自动续订

mis*_*Not 4 storekit in-app-purchase ios swift

我在我的应用程序中实现了自动续订。根据文档,此功能应每隔几分钟自动更新,每天最多更新六次。但是对于我的应用程序来说,这没有发生。

我在应用收据中寻找订阅的到期日期,这在第一次即可使用,但此后将无法使用。应用收据是否在沙盒环境中不会自动更新?我的理解是应该的。

Dev*_*B2F 7

适用于2019年或以后处理此问题的任何人。

我还遇到了无法自动续订的订阅。

就我而言,自动续订在8小时内购买了6次后就停止了工作。

细节:

沙盒中的一个月订阅持续5分钟,并且会自动续订6次(整个购买将在30分钟后过期)。之后,您必须再次购买,然后重新开始相同的过程。

但是,对于自动续订,每8小时只能购买6次。

此限制是每8小时每位测试用户的费用,因此您可以简单地使用新的测试用户来解决此问题。

设置-> iTunes和App Store

现在,沙盒帐户有了一个新选项,您可以在其中注销并登录新的测试用户。这花了我很长时间才弄清楚。

以下可用于从苹果获取收据

static func getReceipt() -> String? {
    guard let url = Bundle.main.appStoreReceiptURL,
        let _ = try? Data(contentsOf: url) else {
            print("no receipt exists")
            return nil
    }

    do {
        let receipt = try Data(contentsOf: url)
        print("receipt-data: \(receipt.base64EncodedString(options:[]))")
        return receipt.base64EncodedString(options: [])
    }
    catch {
        print("catch error")
        return nil
    }   
}
Run Code Online (Sandbox Code Playgroud)


Dal*_*ord 5

不要每次都尝试“构建并运行”您的应用程序,而是尝试通过直接在设备上重新打开应用程序来重新打开应用程序。我发现通过这种方式,我可以根据之前的沙箱收据刷新订阅收据。

似乎每次您通过 Xcode“构建和运行”时,所有未决的订阅续订都会被重置。潜在地重建您的应用程序是订阅自动续订被重置的原因。