应用内购买,总是无效的产品 ID

Posted

技术标签:

【中文标题】应用内购买,总是无效的产品 ID【英文标题】:In-App Purchase, always Invalid Product ID 【发布时间】:2013-06-16 06:07:47 【问题描述】:

感谢阅读。 我以前在 IAP 上是成功的,但是现在,当我回到关于 IAP 的第二个项目时,我总是得到流行的“无效产品 ID”结果。 这是我所做的:

1) 创建App ID:com.tim.TestIAP

2) 创建 Provisioning 配置文件,使用 In-App Purchase(已选中)并将其安装到 Xcode 中

3) 转到 iTunes 连接并添加 bundleID = com.tim.TestIAP 的应用程序

4) 添加应用内购买产品:

 a) com.tim.TestIAP.C1

 b) com.tim.TestIAP.C2

 c) com.tim.TestIAP.NC

5) 打开 XCode 并创建 ID = com.tim.TestIAP 的新项目

6) 设置代码签名 = com.tim.TestIAP 配置文件

7) 编写代码句柄Storekit

productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:@"com.tim.TestIAP.C1"]];
productsRequest.delegate = self;

[productsRequest start];

8) 归档项目并提交到 iTunes connect。

9) 等待(到现在超过 48 小时)

10) 现在我得到:

 a) iTunesconnect: App status = Waiting for review, IAP status = In review

 b) App installed on device via XCode (I signed out iTunes account on device)

但每次我尝试使用正确的产品 ID 发送产品请求时,我仍然会收到该产品 SKProductsResponse.invalidProductIdentifiers

请告诉我哪里错了,非常感谢

【问题讨论】:

您是否在 iTunes Connect 上签署了您的付费应用程序合同? 【参考方案1】:

您是否尝试过从设备中删除应用、清理您的 xcode 并重新安装您的应用? 我知道它是如此经典的答案,但它以前对我有用,而且您确定您的购买是否免费,免费购买绝对行不通。 如果您使用测试帐户,您的购买应该可以提交或等待屏幕截图模式。还要确定您的测试帐户是否正常工作(如果您之前在 iphone 或站点中尝试过使用它签名,则此帐户将无效。) 希望对您有所帮助。

【讨论】:

看起来很疯狂,这解决了我的问题。我重新启动了手机,完成了我能想到的所有事情(许多其他页面),最后删除了我一直在单步执行的代码的(调试)版本,终于让它看到产品不再无效。疯了。 也为我做了。【参考方案2】:

另一种可能性:捆绑 ID 是否匹配?我有一个设置,我将“Beta”自动附加到我的调试版本的包 ID,并在测试期间忘记了这一点。

【讨论】:

啊,今天被这个抓到了,谢谢发帖。【参考方案3】:

我尝试了每个人都在谈论的一切。我最终创建了一个访客帐户,以查看是否可以找到产品 ID.... 是的。所以然后我开始退出活动监视器中的所有内容并发现了问题。我不得不退出下面的“商店”进程。突然间,我不再获得无效的产品 ID。希望能帮助到那里的人。

Quit these and then build and run if you're getting the invalid product id null error

【讨论】:

【参考方案4】:

您是否使用 iTunes Connect 测试帐户来购买 IAP?

在您的应用程序 + 应用程序内购买获得批准之前,您不能使用真实的 Apple id,在此之前您可以从 iTunes 连接 -> 管理用户 -> 测试用户创建测试帐户并使用这些凭据购买您的测试 IAP

【讨论】:

不,我已经在设备上注销了真实账户。【参考方案5】:

您是否在 iTunes Connect 的“协议、税务和银行业务”中填写了付费应用协议?我错过了这一点,花了几天时间进行技术分析。完成后几分钟内就可以工作了。

Screenshot of completed paid apps agreement.

【讨论】:

以上是关于应用内购买,总是无效的产品 ID的主要内容,如果未能解决你的问题,请参考以下文章

解决应用内购买的无效产品 ID 问题?

iOS7 xCode5如何解决2014年应用内购买的“无效产品ID”?

iOS - 应用内购买 - 无效的产品标识符

swift 4 中的应用内购买无效的产品标识符

SFProductsRequest 总是返回零

应用内购买产品 ID 更新一个落后