(See 主要推力下面跳到我问题的主要内容。)
我的 iOS 应用程序在 Apple 审核过程中被拒绝,原因很简单,但很容易修复。
但是,我想对新版本进行一次测试,包括重新测试我们的应用内购买(应用程序中只有一个可购买的项目)。
现在,应用程序在初次检索产品信息时崩溃了。以前从来没有出现过这样的崩溃情况,自从我们多次成功测试沙盒模式的内购以来,代码也没有改变过。 (事实上,在最初提交的版本和这个带有小修复的版本之间根本没有任何代码更改;该修复只是 info.plist 设置更改。)
让事情变得复杂的是,我使用 Airplay/Marmalade SDK 来构建应用程序,它们用自己的 API 和回调机制包装 Objective C 调用和回调机制。然而,这个包装非常薄,所以我希望/相信这确实是一个一般的 iOS/应用内购买问题,而不是 Marmalade 特有的问题。
因此,正如我所说,在我调用 Marmalade 来检索产品信息的时间和应该调用我的 (C++) 回调的时间之间,它崩溃了。 (即,Marmalade 在 SKProductsRequest 对象上调用 [productsRequest start] 的时间与调用 productsRequest:didReceiveResponse() 且 Marmalade 依次给我回电的时间之间的某个时间。)
主要推力我的问题:
我的应用程序在 iTunesConnect 上处于“拒绝”状态。此外,当我在 iTunesConnect 中查看应用内购买项目本身时,它也被标记为“已拒绝”。然而,我已经在审核过程中与苹果讨论了我的应用内购买,我相信应用内购买本身对他们来说效果很好,唯一剩下的问题是我已经解决过的小问题已修复(这就是他们的拒绝详细信息所说的:仅此一项)。
所以:我需要了解,当我的应用程序(及其相关的应用程序内购买)处于“拒绝”状态等待我上传新的二进制文件时,重新测试应用程序内是否很棘手(或者可能不可能)购买,我最好的做法就是重新提交应用程序并进行较小的修复,并相信(因为它与正常测试期间未处于拒绝状态时工作的代码相同)应用程序内的状态一旦苹果重置一切以测试新的二进制文件,购买就会自行解决。
或者此时我应该做一些不同的事情来让我重新测试应用内购买?
我本来想在 iTunesConnect 信件中询问 Apple,但我不想给他们带来任何麻烦,因为到目前为止,审核过程非常快速和高效。