ios - 收到零产品以进行应用内购买
问题描述
我在 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()
}
}
我从委托方法收到零产品。
解决方案
您的应用内购买状态需要处于“准备提交”阶段,然后您才能在 Sandbox 中进行测试。一个常见的错过是预览图像,为了测试,你可以上传任何你想要的东西,这样元数据就完成了。此外,您需要确保您签署了“付费应用程序”协议——App Store connect 中的任何地方都不清楚这是必需的,因此有时会被忽略。
我非常好的文章涵盖了您需要配置的所有内容的清单是:Configuring In-app Products is Hard
推荐阅读
- python - 找不到具有您请求的功能的树生成器:xml
- docker - 在 docker 中使用 wine 进程而不附加到 shell
- python - 你如何停止python中的线程?
- android - 使用 onSlicePinned 更新 Android Slice 中的数据
- html - 如何在渲染模板之前运行函数?
- python - 更改占位符形状
- android - 如何在没有root权限的情况下以编程方式杀死另一个应用程序或活动
- sql - 如何根据ID列将一条记录显示为多条记录
- python - 在python的字典中的列表中附加值
- spring - 预期的 CORS 过滤器仅应用于预检一次,并允许后续请求通过 Oauth2ProcessingFilter