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

Bar*_*rtu 8 iphone in-app-purchase ios ios5

在我的应用内购买试验中,这是一个漫长的夜晚追逐问题,但我似乎无法解决这个问题.我的产品标识符一直作为"无效的产品标识符"返回.希望有人会指出它; (使用当前的配置文件和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"]];
Run Code Online (Sandbox Code Playgroud)

可以提供任何其他信息.

Bar*_*rtu 7

我不知道如何,也不知道它是否仍然有效.但这是一个有趣的解决方案,让我解决我的问题.

根据文档,SKProductRequest应该是;

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];
Run Code Online (Sandbox Code Playgroud)

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

com.my_site.my_app.my_product
Run Code Online (Sandbox Code Playgroud)

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

解决方案#1

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"my_product"]];
Run Code Online (Sandbox Code Playgroud)

在深入挖掘的过程中,我发现对于某些人而言,这种符号也起作用;

解决方案#2

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObjects:@"com.my_site.my_app","my_product",nil]];
Run Code Online (Sandbox Code Playgroud)

我的设置没有任何问题,应该提供上面列出的东西,如果有人对产品标识符无效,我建议他们访问Troy Brant的"无效产品ID列表的原因",这里.您还可以在此处找到有关实施和设置IAP的详细演练.

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


Hit*_*esh 5

请确保您没有错过下面列表中的任何内容。

\n
    \n
  • 请从设备中删除现有应用程序并从 Xcode 安装\n新版本。

    \n
  • \n
  • 您是否为您的 App ID 启用了应用内购买?

    \n
  • \n
  • 您的项目\xe2\x80\x99s .plist Bundle ID 与您的应用程序ID 匹配吗?

    \n
  • \n
  • 您是否为新的应用程序 ID 生成并安装了新的配置文件?

    \n
  • \n
  • 您是否已将项目配置为使用此新的配置文件进行代码签名?

    \n
  • \n
  • 您在发出 SKProductRequest 时是否使用完整的产品 ID?

    \n
  • \n
  • 自从将产品添加到 iTunes Connect 后,您是否已经等待了几个小时?

    \n
  • \n
  • 您的银行详细信息在 iTunes Connect 上有效吗?

    \n
  • \n
  • 您的设备越狱了吗?如果是这样,您需要恢复越狱才能使 IAP 正常工作。

    \n
  • \n
\n

如果您对这些问题中的任何一个回答“否”,则\xe2\x80\x99 就是你的问题。

\n

请参考参考资料

\n