iOS首次应用内购买必须提交二进制文件进行沙盒测试。

9

我正在开发一个In-App Purchase项目,第一次在新应用程序中创建inapp-purchase时,iTunes会在inapp-purchase管理链接中显示以下消息:

首次为应用提交In-App Purchase必须同时提交应用版本进行审核。您必须在“版本详细信息”页面上执行此操作。一旦您的二进制文件被上传并且您的第一个In-App Purchase已提交审核,就可以使用下面的表格提交更多的In-App Purchases。

如下所示的屏幕截图:

enter image description here

我想在设备上使用测试用户测试沙盒环境,但Store Kit返回无可用产品!

单击查看inapp详细信息,会显示以下警告消息的屏幕截图:

enter image description here

我想在设备上测试沙盒(inapppurchase),怎么做?

我的应用程序还没有上传二进制文件细节,我想进行测试!

请……,帮忙重要...!

谢谢...!

3个回答

8

绝对不允许上传二进制文件!

这是一个城市传说,但它与官方的苹果文档相关,而且相当危险: http://developer.apple.com/library/ios/#technotes/tn2259/_index.html

重要提示:在应用程序准备好进行App Review批准之前,请勿将开发二进制文件上传到iTunes Connect。如果二进制文件存在于iTunes Connect中,而且它不是完全功能的,则App Review将审核该二进制文件,并可能拒绝开发二进制文件。如果您或App Review在iTunes Connect中拒绝了最新的二进制文件,则In-App Purchase测试将失败。在这种情况下的解决方法是上传一个没有In-App Purchase功能的二进制文件,以便被App Review批准。一旦二进制文件被批准,就可以恢复使用带有In-App Purchase功能的二进制文件进行测试。

你的问题的解决方案:

你的问题是你比苹果建议的步骤更进一步,上传了in-app-purchase的图片,所以它处于“Ready to Submit”状态(请参见你的插图),这是不正确的(不要问为什么或寻找任何理性,我花了几个小时处理它)。您的in-app必须处于“Waiting for Screenshot”状态。

所以你必须用不同的名称创建新的 - 即使你删除了早期的 - 并将其保留在“等待截图”状态,它将立即起作用。 再提供一些经验数据:永远不要使用大写字母作为产品ID,即使没有任何错误消息或指示表明你不应该这样做。 这份文档包含了你需要知道的所有内容,但基于我多年的实践,这个过程是一种“技术巫术”,没有人能告诉你它是如何工作的或者为什么它能工作或不能工作。不断尝试,最终总会成功...... 2015年更新 苹果公司已经修复了这个过程,现在即使在“准备提交”阶段也可以使用,因此如果意外上传了图片(命名为“审核截图”),你不需要重新启动该过程,但所有其他声明仍然有效。

永远不要在产品ID中使用大写字母,即使没有任何错误消息或指示告诉你不应该这样做。谢谢您的建议,但您能解释一下为什么不这样做吗? - Whirlwind
@Whirlwind - 这只是我的经验,没有真正的答案...可能是一个 bug 或者其他在 api 描述或文档中缺失的东西。也许已经修复了,你可以尝试一下并在这里告诉我们... - BootMaker
我有同样的问题。我创建了带有屏幕截图和不带屏幕截图的产品,但仍然收到无效的产品ID。 - iPatel

4
您只需上传一个二进制文件,然后自己进行拒绝操作即可,这样就足够了。
更新 2017 年:我刚看到这个五年旧答案上有个踩。事情已经发生了很大变化,特别是在 (测试) IAP 和 beta 版本方面。我最近没有能够验证这个上传和拒绝步骤是否仍然合理。

1
@HeroVsZero 请耐心等待!在某些步骤之间,您可能需要等待几个小时。 - mvds
是的,你问得对,我正在沙盒环境中进行测试,它正在工作...!非常感谢! - Dinesh

1

按照this教程操作,它会起作用的。正如@mvds所说,您必须上传一个二进制文件(任何二进制文件),然后将其拒绝。之后,您就可以随心所欲地使用沙盒环境了。


在这个教程中,拒绝二进制文件后等待几个小时以获取无效二进制文件的状态更改? - Dinesh
显然有时候是这样,但我从未遇到过这种情况。 - Paul de Lange

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接