应用内购买初始SKProductsRequest失败。

时间:2016-12-02 23:57:00

标签: ios in-app-purchase skproduct

目标: 我想测试一下,在继续实施之前,我至少可以验证IAP的存在。也就是说,在测试任何之前,我不想实现所有的IAP功能。

症状: 我正在提交SKProductsRequest。回调正确地传递给代表。 response.products成员是一个空数组,response.invalidProductIdentifiers成员具有与我首先使用SKProductsRequest提交的相同的IAP ID。

我仔细检查了ID拼写。请参阅下面的所有步骤。我把这些仅仅包括在内,以防止善意的建议,例如"你忘了这么做了吗?"

问题: 我是否或不需要审核应用程序(Beta审核或全面启动)以使此调用成功?在线观点不同 - 亲,有争议和含糊不清。即:

不需要上传: Ray Wenderlich在https://www.raywenderlich.com/122144/in-app-purchase-tutorial的教程中明确指出SKProductsRequest应该成功没有任何上传或审查应用程序。

需要上传: 另一个stackoverflow问题(In-app purchase 'SKProductsRequest' failing to produce a successful response)表示该应用必须"已提交" 。它没有说提交审核(而不仅仅是为TestFlight上传),但它暗示了这一点。这个答案被标记为正确,但我不确定我是否相信。

在测试IAP流程的第一步之前,我需要检查应用程序似乎是错误的。或者我可以提交IAP的不完整实施吗?这听起来也错了。

来自Apple的暧昧信息: iTunesConnect IAP部分中信息框的措辞可以消除而不是解决问题:

  

您的首次应用内购买必须使用新的应用版本提交。   从应用程序的应用程序内购买部分中选择它,然后单击提交。

我认为"它"意思是IAP。 (使用indef。代词很糟糕。)我的IAP列在IAP部分,黄色"准备提交"注释。当我选择(点击IAP的左侧名称也是一个链接)时,我会进入IAP的特定页面。没有标有"提交"的按钮。确切地说,但有一个标有"提交审查"。它已被禁用。

信息框中的以下段落似乎暗示需要审核应用版本/ IAP组合。

  

上传二进制文件后,您的首次应用程序内购买了   已提交审核,其他应用程序内购买可以   使用下表提交。

请注意,该应用只需要上传,但需要提交IAP以供审核"。重大?但是,仅仅提交SKProductsRequest以验证IAP的存在,确实无法通过应用审核本身。否则,在测试任何一个之前,我似乎必须实现IAP功能的所有

附录 - 步骤

  • 在启用IAP的情况下创建了AppID。在Dev Portal验证了这一点。
  • 使用Xcode"自动管理sisgning" PP生成选项。 Xcode生成了分发PP而不是Dev PP。 (我认为没问题。)
  • 在Dev Portal验证此PP在IVE中已启用IAP"启用服务"。
  • 但是......我如何知道这是用于签名的PP? 使用新的Xcode管理服务,PP设置为"自动"。
  • 在iTunesConnect上创建了IAP。
  • 已验证IAP的ID是应用程序包ID,后缀为产品唯一字符串。
  • 已确认我提交的IAP产品ID没有拼写错误。
  • 创建IAP后等了一天。
  • 选中已清除待售复选框。 (它"自我检查"我创建IAP后的一段时间。)
  • 添加了一个沙箱测试器。
  • 上传了该应用的新版本。 (不用于审查,仅用于测试。)
  • 在模拟器和设备中启动应用程序,并在此帖子顶部指定了失败。

0 个答案:

没有答案