首页 > 解决方案 > 收到零产品以进行应用内购买

问题描述

我在 iTunes Connect 中创建了一个在应用程序购买中的消耗品,如下图所示。

在此处输入图像描述

之后,我创建了一个沙盒用户并验证了该 appid。

当我尝试使用以下代码检查产品时

func requestProducts(forIds ids: Set<String>)
{
    productRequest.cancel()
    productRequest = SKProductsRequest(productIdentifiers: "com.iapcourse.meal")
    productRequest.delegate = self
    productRequest.start()
}

func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
    self.products = response.products
    print(products.count)
    if products.count == 0
    {
        requestProducts(forIds: "com.iapcourse.meal")
    }
    else {
        delegate?.iapProductsLoaded()
    }
}

我从委托方法收到零产品。

标签: iosswiftin-app-purchaseapp-store-connectsandbox

解决方案


您的应用内购买状态需要处于“准备提交”阶段,然后您才能在 Sandbox 中进行测试。一个常见的错过是预览图像,为了测试,你可以上传任何你想要的东西,这样元数据就完成了。此外,您需要确保您签署了“付费应用程序”协议——App Store connect 中的任何地方都不清楚这是必需的,因此有时会被忽略。

我非常好的文章涵盖了您需要配置的所有内容的清单是:Configuring In-app Products is Hard


推荐阅读