InAppPurchase无效的产品标识符 - 可能的原因

时间:2012-07-08 22:58:50

标签: iphone ios ios5 in-app-purchase

在我的应用内购买试验中,这是一个漫长的夜晚追逐问题,但我似乎无法解决这个问题。我的产品标识符一直作为“无效的产品标识符”返回。希望有人会指出它; (使用当前的配置文件和appId,我可以使用推送通知)

1-生成我的应用程序ID(没有通配符) - 启用inApp购买

2-我的IAP(应用内购买)已添加到“管理您的应用内购买”中并已清除销售。

3-我的IAP是在24小时前添加的(可能还需要几个小时)并处于“等待审核”状态

4-我的应用程序本身被开发者拒绝>并且状态为“准备上传”,应用内购买已添加到应用程序中。

5-我的手机没有越狱(至少不再,无论如何都没有工作)

6-我正在使用3GS,5.1 iOS。

7-我当前的配置文件是“开发者配置文件”而不是“分发配置文件”。 “分发配置文件”仅在上载应用程序二进制文件时使用。

8-我正在为iOS 5.0构建,构建配置设置为Debug。

9-我现在删除了应用程序100次,字面意思。

10-所有详细信息均在iTunes Connect中设置,包括银行详细信息。

11-我创建了一个测试用户,我从设备上的“设置>商店”登录。

12-我的SKProductRequest

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];

可以提供任何其他信息。

6 个答案:

答案 0 :(得分:6)

我不知道怎么做,也不知道它是否仍然有效。但这是一个让我解决问题的有趣解决方案。

根据文档,SKProductRequest应该是;

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];

您的产品要求应该是这样的;

com.my_site.my_app.my_product

但在我的情况下,我刚发送了我的产品ID,就像这样工作;

解决方案#1

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"my_product"]];

在挖掘时,我发现对于某些人来说,这种符号也有效;

解决方案#2

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObjects:@"com.my_site.my_app","my_product",nil]];

我的设置没有任何问题,应该提供上面列出的内容,如果有人遇到无效的产品标识符问题,我建议他们访问Troy Brant的“无效产品ID列表的原因”, here 。您还可以找到有关实施和设置IAP的详细演练, here

如果你绝望,我强烈建议你尝试这两种解决方案,它们可以让你免于数小时的挫折。

答案 1 :(得分:1)

我的付费应用程序协议在iTunes Connect中无效。一旦我同意新的那个,就解决了这个问题。

答案 2 :(得分:0)

您正在使用最新的配置文件(在设置应用内购买后下载)。

答案 3 :(得分:0)

请确认以下内容。

1) Please remove Existing application from Device and Install fresh build from XCode.

2) Have you enabled In-App Purchases for your App ID?


3)  Does your project’s .plist Bundle ID match your App ID?

4)  Have you generated and installed a new provisioning profile for the new App ID?

5) Have you configured your project to code sign using this new provisioning profile?

6) Are you using the full product ID when when making an SKProductRequest?

7)  Have you waited several hours since adding your product to iTunes Connect?

8) Are your bank details active on iTunes Connect?

9) Is your device jailbroken? If so, you need to revert the jailbreak for IAP to work.

如果您对这些问题中的任何一个回答No,那就是您的问题。

请参阅Reference

答案 4 :(得分:0)

花了几天时间。这是我的遗失:

  • 确保itunesconnect中的软件包ID与xcode项目中的软件包ID相匹配。

答案 5 :(得分:0)

事情最终对我有用:

  • 我使用Xcode自动配置文件,并且在应用商店的连接网页上使用配置文件感到有些困惑。我确保ID在Xcode和网页上都匹配。
  • 我只需要产品ID,而不是完整的com.company.app.product
  • 让我花了2个小时使事情正常运行,所以也许在Apple的服务器上需要一些刷新时间