iOS/iPhone:应用程序内购买沙箱被破坏,而应用程序处于“被拒绝”状态状态?
(请参阅下面的主要内容,跳到我的问题的主要内容。)
我的 iOS 应用程序在 Apple 审核过程中被拒绝,原因很简单,但很容易修复。
但是,我想对新版本进行一次测试,包括重新测试我们的应用内购买(应用程序中只有一个可购买的项目)。
现在,应用程序在初次检索产品信息时崩溃了。以前从来没有出现过这样的崩溃情况,自从我们多次成功测试沙盒模式的内购以来,代码也没有改变过。 (事实上,在最初提交的版本和这个带有小修复的版本之间根本没有代码发生变化;修复只是 info.plist 设置更改。)
为了使问题复杂化,我使用 Airplay/Marmalade SDK 来构建app,他们用自己的API和回调机制包装了Objective C调用和回调机制。然而,这个包装非常薄,所以我希望/相信这确实是一个一般的 iOS/应用内购买问题,而不是 Marmalade 特有的问题。
因此,正如我所说,在我调用 Marmalade 来检索产品信息的时间和应该调用我的 (C++) 回调的时间之间,它崩溃了。 (即,Marmalade 在 SKProductsRequest 对象上调用 [productsRequest start] 的时间与调用 productsRequest:didReceiveResponse() 且 Marmalade 依次给我回电的时间之间的某个时间。)
我的问题的 MAIN THRUST :
我的应用程序在 iTunesConnect 上处于“拒绝”状态。此外,当我在 iTunesConnect 中查看应用内购买项目本身时,它也被标记为“已拒绝”。然而,我已经在审核过程中与苹果讨论了我的应用内购买,我相信应用内购买本身对他们来说效果很好,唯一剩下的问题是我已经解决过的小问题已修复(这就是他们的拒绝详细信息所说的:仅此一项)。
所以:我需要了解,当我的应用程序(及其相关的应用程序内购买)处于“拒绝”状态等待我上传新的二进制文件时,重新测试应用程序内是否很棘手(或者可能不可能)购买,我最好的做法就是重新提交应用程序并进行较小的修复,并相信(因为它与正常测试期间未处于拒绝状态时工作的代码相同)应用程序内的状态一旦苹果购买就会自行解决重置一切以测试新的二进制文件。
或者此时我应该做一些不同的事情来让我重新测试应用内购买?
我本来想在 iTunesConnect 信件中询问 Apple,但我不想给他们带来任何麻烦,因为到目前为止,审核过程非常快速和高效。
(See MAIN THRUST below to skip to the main thrust of my question.)
My iOS app was rejected in the Apple review process for a minor reason that was easy to fix.
However, I wanted to give the new build a once-over testing, including retesting our in-app purchase (there is only a single purchasable item in the app).
And now the app crashes when doing the initial retrieval of the product information. It never crashed in this way before, and the code hasn't changed since we successfully tested the in-app purchase in sandbox mode many times. (In fact, no code changed at all between the initially submitted version and this version with the minor fix; the fix was just an info.plist setting change.)
To complicate matters, I'm using the Airplay/Marmalade SDK for building the app, and they wrap the Objective C calls and callback mechanism with their own API and callback mechanism. However, this wrapper is very thin, so I hope/believe that this is really a general iOS/in-app purchase question, not something specific to Marmalade.
So, as I say, it's crashing somewhere between the time I make the Marmalade call to retrieve product information and the time my (C++) callback should be called. (I.e., somewhere between the time that Marmalade calls [productsRequest start] on an SKProductsRequest object, and the time productsRequest:didReceiveResponse() is called and Marmalade calls me back in turn.)
MAIN THRUST of my question:
My app is in "rejected" state on iTunesConnect. Furthermore, when I look at the in-app purchase item itself in iTunesConnect, it's also marked as "Rejected". However, I've already discussed my in-app purchase with Apple during the review process, and it is my belief that the in-app purchase itself works fine for them, and the only remaining problem was the minor issue that I've already fixed (this is what their rejection details said: just that one item).
So: I need to understand whether, when my app (and its associated in-app purchase) are in this "rejected" state pending a new binary upload from me, it's tricky (or maybe impossible) to re-test the in-app purchase, and my best course of action is just to resubmit the app with the minor fix and have faith that (since it's the same code that worked during normal testing when things weren't in the rejected state) the state of the in-app purchase will work itself out once Apple resets everything to test the new binary.
Or is there something different I should do at this point that would allow me to re-test the in-app purchase?
I was thinking of asking Apple in the iTunesConnect correspondence, but I didn't want to introduce any complications with them, since the review process has been amazingly fast and efficient so far.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我收到了苹果技术支持的回复:
对于我来说,这个回答并不完全正确。我收到了应用程序审核团队的单独回复。简单地上传新的二进制文件显然不会重置应用内购买项目的“拒绝”状态。显然他们必须自己手动重置(此时我相信他们和我都可以测试它)。所以目前我已经上传了新的二进制文件,但他们还没有重置应用内购买项目。
该过程完成后,我将在这篇文章中添加更多内容......
I got a reply from Apple tech support on this:
That response wasn't totally correct in my case. I got a separate reply from the app review team. Simply uploading a new binary apparently does not reset the "rejected" state of the in-app purchase item. Apparently they have to manually reset that themselves (at which time I believe both they and I can test it). So currently I have my new binary uploaded but they haven't reset the in-app purchase item yet.
I'll add more to this post when the process is complete...