如何反复测试应用内购买?

17

我的应用内购买项目现在工作得非常完美,但我需要测试购买,一旦购买成功就无法撤销。我该如何测试应用内购买以及如何将我的应用升级到完整版,且只能购买一次?

5个回答

11

所有答案都不是真正正确的。即使您从测试设备中删除了缓存的购买记录,该产品也被标记为已在苹果服务器上购买,并与您的测试Apple ID相关联。因此,测试将不能完全重现预期的行为。这对于测试恢复产品功能用例非常重要。

据我所知,这个问题的真正答案是:除非创建一个新的测试帐户,否则无法实现,但这并不是什么大不了的事,您甚至可以使用虚构的电子邮件地址(无需验证),并且在使用后可以删除该帐户。


你是正确的。即使你按照其他答案中的所有步骤操作,当你使用相同的测试账户重新登录并调用restoreCompletedTransactions时,苹果服务器仍会记住之前购买的所有物品。 - DaveAlden

11
  1. 从您的设备中删除应用程序
  2. 在XCode的“产品”菜单中运行“清理(Clean)”操作
  3. 在您的设备上,转到“设置”,“商店”,“Apple ID”,并注销
  4. 重新启动您的应用程序,由于您未登录任何帐户,因此以前的应用内购买将不被识别,您将能够使用相同的测试用户帐户再次购买/下载它

6
如果您删除应用并重新安装它,您可以重新购买产品。它遵循相同的代码流程和几乎完全相同的用户体验(有一个对话框告诉您第二次可以免费重新购买)。此外,您可以在iTunes Connect中创建更多测试用户,以确保您进行完全干净的测试。
我花了几个星期每天多次删除和重新安装我的应用程序,以确保我的StoreKit实现正如我所希望的那样工作。

2

您只需从设备中删除应用程序即可。这将清除任何您可能存储应用内购买详细信息的NSUserDefaults。

再次运行应用程序后,再次进行购买,Store Kit 将会告诉您:

"您已经购买过此项目。点击“确定”可以免费重新下载。"

一旦您点击确认,您将再次经历制作首个应用内购买时的同样情景,这样您就可以再次测试。


0

在您的应用程序上使用虚假数据进行单元测试,直到您满意为止。

(为您使用的每个模块创建测试代码)

我认为我需要更多关于您的过程的描述才能给出更好的答案。


我的意思是,如果有一些重置测试用户购买记录的可能性,我该如何测试应用程序在购买过程中被打断的情况呢?难道需要更多的测试用户账号吗? - Branislav Beno

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