iOS应用内购买沙盒测试账户反复要求输入密码

5
我用Swift语言开发了一个应用程序。我添加了应用内购买以去除广告。我还创建了一个沙盒账户进行测试。但后来我忘记了这个账户的信息。(我不确定信息是否正确)密码输入界面仍然在闪烁屏幕上显示。即使我重置设备并重新加载,也没有好处。实际上一切都正常工作。这是我的唯一问题。我该怎么办。我很高兴你能帮助我。谢谢。

enter image description here


{btsdaf} - Jonny
2个回答

2

我曾经遇到过这个问题。如果您没有完成交易(无论出于什么原因),它们会留在队列中。这会导致持续的“登录屏幕”问题。

SKPaymentQueue.default().finishTransaction(transaction)

应该放在以下位置的末尾:

restore(transaction: SKPaymentTransaction)
fail(transaction: SKPaymentTransaction)
complete(transaction: SKPaymentTransaction)

这解决了我的问题。希望能对你有所帮助。

另外,还有一件事。如果您添加了具有未完成交易的沙盒,并尝试登录商店,它将“损坏”您的测试飞行。即使您已登录到另一个帐户,它也会向您发送垃圾邮件。如何解决:1.删除沙盒测试帐户,2.删除测试飞行(即使已删除,它仍将保持错误状态),3.登录到另一个测试飞行帐户(新帐户),4.下载测试飞行并安装应用程序。5.它将要求输入旧的沙盒密码(如果出现此弹出窗口)。6.下次就不会有问题了。我不知道为什么,但这解决了我的问题。 - Milos
感谢您的答复,我不明白自己是如何解决这个问题的。已经很长时间没有出现这个错误了,但偶尔会弹出警告视图。 - fozoglu

1
首先,当您使用IAP并尝试购买任何服务时,苹果将要求您输入iTunes帐户的密码,或者如果您也使用沙盒帐户。如果您输入密码并继续,您将可以使用该服务。
除此之外,如果您没有在设备中设置您的帐户,并尝试从商店下载某些内容,那么苹果将要求您输入密码或设置帐户。
正如您所描述的,在您的情况下,您忘记了沙盒测试帐户的密码。因此,每次您都需要取消密码弹出窗口才能继续进行IAP。您可以继续创建另一个沙盒帐户或从设备设置中设置任何临时帐户以避免此密码弹出窗口。我观察到有时即使在获取购买后进行沙盒测试的AIP,有时也会出现弹出窗口,但它不会再次调用您的购买请求。有时这让我感到害怕,但它对IAP没有任何影响。
希望这能帮助您。

我创建了不同的沙盒账户,它们都能正常工作。即使我从沙盒中删除了,该账户仍然继续提出要求。 - fozoglu

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