应用内购买将0个产品和产品标识符作为invalidProductIdentifier

时间:2016-10-20 10:58:44

标签: ios in-app-purchase

我知道几次问这个问题。我已经尝试了所有解决方案,但仍未成功。这是我的问题:

在下面的代码行中,我收到response.products.count = 0并获取我输入的产品ID response.invalidProductIdentifiers

func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {
        if response.products.count != 0 {
            for product in response.products {
                productsArray.append(product )
            }
        }
        else {
            print("There are no products.")
        }
        if response.invalidProductIdentifiers.count != 0 {
            print(response.invalidProductIdentifiers.description)
        }
    }
[![enter image description here][1]][1]

设置我为IAP做的事情:

  1. 在Xcode中 - >目标 - >已启用应用内购买。附上截图。

  2. 在个人资料中,我启用了应用内购买。并将该配置文件附加到项目中。

  3. 在itunes中,为IAP添加了应用程序和添加的产品标识符。
  4. bundle id在Xcode,apple developer portal和iTunes connect中是相同的。
  5. 在Itunes Connect应用程序状态为“准备提交”,并且应用程序内购买的状态为“等待上传”。我还没有在iTuness connect上上传二进制文件。是否需要在iTunes Connect上传二进制文件?以下是Itunes connect的屏幕截图: enter image description here
  6. enter image description here

    是否需要在iTunes Connect上传二进制文件?我错过了什么?任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:2)

试试这个:

付费应用程序的合同必须生效才能接收有关已配置的应用内购买的数据。

这对我有用。我遇到了同样的问题。

https://stackoverflow.com/a/2045064/3901620

答案 1 :(得分:0)

如果产品没有托管内容,则需要将其关闭,以便退出"等待上传"状态。

答案 2 :(得分:0)

我的应用内购买处于“缺少元数据”状态,因此无效:

How to set up in-app purchases ("Missing Metadata")

答案 3 :(得分:0)

  

除非您满足以下条件,否则App Store可能无法识别您的产品标识符:

     

https://developer.apple.com/documentation/storekit/skproductsresponse/1505985-invalidproductidentifiers

在我的情况下是:

  

您的应用使用了明确的应用ID。

在开发过程中,我使用的BundleID与App Store Connect中声明的ID不同。

答案 4 :(得分:0)

上述所有配置正确的问题。 我从Apple Doc找到了解决方案:

重要不要使用您的测试用户帐户登录到 生产环境。这样做会使测试用户帐户无效, 您将无法再使用它。

  • 因此,请确保在“ Xcode”>“目标”>“签名和功能”中:您正在开发而不是在生产中。
  • 创建一个新的测试用户
  • 清理您的Xcode构建文件夹
  • 重新启动
  • 使用新用户进行测试