应用内购买返回 0 个产品和 invalidProductIdentifier
Posted
技术标签:
【中文标题】应用内购买返回 0 个产品和 invalidProductIdentifier【英文标题】:In-App Purchase returning 0 products and invalidProductIdentifier 【发布时间】:2011-08-03 22:57:57 【问题描述】:我只是检查和我的:
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
返回了一个产品数组大小为 0 的 SKProducstResponse。这是为什么呢?如果找不到产品,它应该返回 0 对吗?我检查了产品 ID,它与我在 iTunes Connect 中的 ID 匹配。检查了捆绑标识符,它也匹配。是的,我在设备上测试了这个
更新:
我检查了
response.invalidProductIdentifier
它返回了我试图获取的产品 ID。我浏览了这个列表:
• your app is InApp Purchases enabled? **yes**
• do you have an InApp Purchase test account? **yes**
• the product we offer is marked as "Cleared for Sale"? **yes**
• Did you upload the application to iTunes Connect? **no** (don't think it's necessary since 2011, correct me if I am wrong)
• do you generate and install a provisioning profile for the new "App ID"? **yes**
• Does your project is signed with the new provisioning profile? **yes**
• Are you compiling the project for ios 3.0 or higher? **yes**
• Are you using the full product ID when you make a SKProductRequest? ie for example: com.company.sampleapp.productid? **yes**
• Has it been several hours since you added the products to iTunes Connect? **yes**
• Does the contract payment application in the iTunes Connect is complete? **just submitted it**
为了让 IAP 运行,我真的应该让付费合同生效吗?
【问题讨论】:
您是否得到任何响应对象或它的空值?希望这个bit.ly/qifemx 可以帮助你。 我得到一个响应对象 你等得够久了吗?有时可能需要几个小时才能显示新产品。 是的,检查了我上面更新的帖子 iPhone StoreKit - invalid product id's的可能重复 【参考方案1】:参考你的帖子:
• 您在发出 SKProductRequest 时是否使用了完整的产品 ID? 即例如:com.company.sampleapp.productid? 是的
实际上,您需要准确指定您在 iTunes Connect 中输入的字符串 (productId) 作为应用内购买项目。因此,如果您指定了productId
,您的 SKProductRequest 需要准确设置该字符串(没有任何 com.a.b.)。如果您在 iTunes 中指定了 com.a.b.item
之类的内容(推荐),那么您需要在产品请求中完整设置。
编辑 帖子In-App-Purchase 指出,付费应用程序合同必须有效才能允许在应用程序内购买。所以这可能是你的问题的原因。
【讨论】:
合同必须按照此处发布的有效***.com/questions/5799833/in-app-purchase 谢谢,这是我的问题。我假设 itunesconnect 会为您添加 com.a.b。您的产品 ID 正是您在产品列表中看到的。 非常感谢马库斯,你让我开心:)【参考方案2】:我遇到了同样的问题,请按照以下方法解决:
-
转到 iTunes connect > 协议、税务和银行业务
查看“付费应用程序”合同
我已设置联系信息、银行信息、税务信息
填写上述详细信息后,合同状态更改为“待处理”
将合同状态更改为准备就绪大约需要 30 分钟
就是这样。现在我将从以下代表那里获取产品列表。
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse)
注意:在完成上述步骤之前,我可以在上述委托方法的 SKProductsResponse.invalidProductIdentifiers 列表中看到我的产品 ID。
【讨论】:
以上是关于应用内购买返回 0 个产品和 invalidProductIdentifier的主要内容,如果未能解决你的问题,请参考以下文章