(请参阅下面的主要建议,以跳到我的问题的主旨。)
我的iOS应用在Apple审核过程中被拒绝,原因是很容易修复。
但是,我想对新版本进行一次一次性测试,包括重新测试我们的应用内购买(应用中只有一个可购买的商品)。
现在,在最初检索产品信息时,该应用程序崩溃了。自从我们以沙盒模式多次成功测试应用内购买功能以来,它从未以这种方式崩溃过,代码也没有更改。 (实际上,在最初提交的版本和具有次要修复程序的此版本之间,没有任何代码发生任何更改;该修复程序只是info.plist设置的更改。)
使事情复杂化的是,我使用Airplay/Marmalade SDK来构建应用程序,并且它们使用自己的API和回调机制包装了Objective C调用和回调机制。但是,此包装非常薄,因此我希望/相信这确实是一个常见的iOS/应用内购买问题,而不是Marmalade特有的问题。
因此,正如我所说,在我调用Marmalade调用以检索产品信息的时间与应调用我的(C++)回调时间之间的某个时间里,它崩溃了。 (即,在Marmalade在SKProductsRequest对象上调用[productsRequest start]的时间与调用productRequest:didReceiveResponse()的时间之间,以及Marmalade依次回叫我的时间。)
我的问题的主旨:
我的应用程序在iTunesConnect上处于“已拒绝”状态。此外,当我在iTunesConnect中查看应用程序内购买商品本身时,它也被标记为“已拒绝”。但是,我已经在审查过程中与Apple讨论了我的应用内购买,我相信应用内购买本身对他们来说效果很好,唯一剩下的问题是我已经遇到的次要问题固定的(这是他们的拒绝详细说明的内容:仅是一项)。
因此:我需要了解,当我的应用程序(及其相关的应用程序内购买)处于这种“已拒绝”状态,等待我上传新的二进制文件时,重新测试应用程序内的操作是否很棘手(或者可能是不可能的)购买,我最好的做法是重新提交应用程序并进行次要修复,并确信(因为它与正常测试(当事物未处于拒绝状态时)在正常测试中工作的代码相同)一旦苹果重置了所有功能以测试新的二进制文件,购买就可以进行了。
还是我现在应该做些不同的事情来让我重新测试应用内购买?
我本来想在iTunesConnect函件中询问Apple,但我不想给它们带来任何麻烦,因为到目前为止,审阅过程已经非常快捷和高效。
最佳答案
我得到了苹果技术支持的回复:
就我而言,这种回应并不完全正确。我收到了应用审核小组的单独答复。简单地上传新的二进制文件显然不会重置应用程序内购买商品的“已拒绝”状态。显然,他们必须自己手动重置该密码(那时我相信他们和我都可以对其进行测试)。因此,目前我已上传了新的二进制文件,但他们尚未重置应用内购买商品。
流程完成后,我将在此帖子中添加更多内容...
关于iOS/iPhone : in-app purchase sandbox broken while app in "rejected" state?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6965438/