在IOS应用内购买中,如何检查response.products.count始终为0的原因?

在IOS应用内购买中,如何检查response.products.count始终为0的原因?,ios,swift,in-app-purchase,Ios,Swift,In App Purchase,我试图为消费品实施Ios应用程序内购买。我在appstore connect中向我的应用程序添加了2个产品,其中ID类似于:net.company.app.3000和net.company.app.10000。它们都可以出售。在我的代码中,我尝试了以下方法: @IBAction func addButtonPushed(_ sender: Any) { let ids = Set(["net.company.app.3000","net.company.app.10000"])

我试图为消费品实施Ios应用程序内购买。我在appstore connect中向我的应用程序添加了2个产品,其中ID类似于:net.company.app.3000和net.company.app.10000。它们都可以出售。在我的代码中,我尝试了以下方法:

@IBAction func addButtonPushed(_ sender: Any) {
    let ids = Set(["net.company.app.3000","net.company.app.10000"])
    let r = SKProductsRequest(productIdentifiers: ids)
    r.delegate = self
    print("r=\(r)")
    r.start()
}

这里的产品计数总是0。我还提交了一个版本的产品,该版本被拒绝,他们拒绝了,因为购买不起作用。当然,没有拼写错误


现在,我的问题是,我如何获得我的product.count始终为0的原因/响应

您可以强制强制强制转换设置您的SKProduct请求,如下所示吗

    let productIDs = Set([
                          "net.company.app.3000",
                          "net.company.app.10000",
                          ])
    //Force Cast
    let request = SKProductsRequest(productIdentifiers: productIDs as! Set<String>)
    request.delegate = self
    request.start()
让productIDs=Set([
“net.company.app.3000”,
“net.company.app.10000”,
])
//强制铸造
let request=SKProductsRequest(产品标识符:productIDs as!Set)
request.delegate=self
request.start()

如果您的id为true并已添加到AppStore Connect帐户,则该帐户应能正常工作

请检查以下几点:

1) In app purchase in target's capabilities?  
2) IAP should be enable in provision profile. 
3) Also have a look into contract. 
4) Try to delete and install again.

我发现,主要问题是帐户所有者的付款帐户设置。因此,在这种情况下,不可能从代码中找到错误。

您是否使用沙盒测试仪来测试它?您是否也尝试过不使用Set,而只是执行以下操作:ids=[“net.company.app.3000”,“net.company.app.10000”]?是的,我是一个沙盒用户,现在刚刚尝试不使用Set,它显示了以下错误:无法将“[String]”类型的值转换为预期的参数类型“Set”。除此之外,它过去也能工作,而我从公司的帐户上传了相同的代码。现在,我正在尝试从客户的帐户上传它,并更改包id和产品id。但是,它现在不起作用。检查您的
SKResponse
上的
invalidProductIdentifiers
的内容-您的产品标识符可能不正确;您是否已完成App Store Connect中付费应用的所有协议?[“net.company.App.10000”、“net.company.App.3000”]->invalidProductIdentifiers内容。我多次检查拼写。他们是正确的。此外,它不是付费应用程序。该应用程序是免费的,只是有一些消耗品需要购买。@TazwarUtshas您找到解决方案了吗?事实上,我在IAP中也遇到了同样的问题,我已经配置了协议税和银行业务,沙箱测试仪,尝试使用测试仪帐户登录,目标功能中的应用内购买已打开,在配置文件中启用了IAP,所以我多次重新安装应用程序,但我的产品计数仍然是0。我实际上尝试了所有这些。不知道为什么他们不工作。实际上我的代码是好的。我做的代码,上传应用程序通过我的公司帐户在第一次,当时它工作得很好。然后我上传了相同的代码到我的客户帐户,现在它不工作了。
1) In app purchase in target's capabilities?  
2) IAP should be enable in provision profile. 
3) Also have a look into contract. 
4) Try to delete and install again.