沙箱:是否可以模拟失败或中断的In App Purchase?

时间:2012-10-11 09:27:15

标签: ios app-store in-app-purchase storekit

我最近在我的应用中实施了In App Purchasing。苹果公司documented the whole process非常好。

使用这些文档,我终于可以通过Sandbox测试In App Purchasing,这是一个非常方便的功能。我已成功测试了我的应用,以便当我点按StoreKit时,它会对buyButton返回的任何内容作出反应。

现在这是我的问题。从文档中可以看出,Sandbox模拟了没有财务资源的交易流程。所以我可以随意购买(顺便说一下,我买的是消耗品,只有消耗品)。此外,沙盒将始终模拟成功的交易,无论如何。那么,是否可以让Sandbox模拟失败的交易,更好的是,中断交易?

我想这样做是为了在这些事件发生时捕获可能的错误(虽然我已经读过StoreKit已经处理过的地方)并在屏幕上显示它们(至少),只是为了通知用户在交易过程中发生了什么。

提前致谢。

3 个答案:

答案 0 :(得分:0)

模拟许多常见网络化事务问题的简单方法是从过程中各个点使用的wifi接入点的背面拔下网络电缆。您可以尝试拔掉wifi的WAN电缆,然后使用备用或有线访问从iTunes Connect的可用性中删除您的IAP,然后重新启用WiFi访问。

答案 1 :(得分:0)

模拟各种网络情况的最佳方法是使用网络链接调节器实用程序。这是Apple documentation regarding networked operation testing中提到的事件。

这样您就不会依赖共享访问点,也不会让您的同事干扰您的测试。您还可以轻松模拟比连接/未连接更多的情况。

Here is a step-by-step on how to install it and use在OSX上(用于模拟器中的测试)和iOS。

答案 2 :(得分:0)

iOS 14 +。

您可以在运行iOS 14或更高版本的设备上测试中断的购买方案,方法是在App Store Connect中为特定的测试人员Sandbox Apple ID启用中断的购买。如果选择此选项,则该沙箱Apple ID在设备上的购买尝试将在沙箱环境中中断,并继续被中断,直到取消选择该选项为止。这样,您就可以测试应用对中断的处理,以确保无缝的客户体验。

摘自文档:Testing interrupted purchases