ios subsciptions不会在沙盒中自动续订

时间:2018-02-22 21:40:16

标签: ios swift in-app-purchase storekit

我已在我的应用中实施了自动续订订阅。根据文档,这应该每隔几分钟自动更新一次,最多六次。但是我的应用程序没有发生这种情况。

我在应用收据中查找订阅到期日期,这是第一次使用,但之后不起作用。应用收据是否未在沙盒环境中自动更新?我理解它应该。

2 个答案:

答案 0 :(得分:4)

适用于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
    }   
}

答案 1 :(得分:2)

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

看来每次你建立和运行'通过Xcode重置任何待处理的订阅续订。可能重建您的应用程序是重置订阅自动续订的原因。