iOS应用程序每次启动时都会要求输入密码

时间:2016-04-30 15:57:12

标签: ios in-app-purchase storekit

我在我的设备上测试了一个新应用,今天,我开始集成StoreKit进行应用内购买。

问题在于我每次启动应用程序时都会询问我的沙盒帐户密码。接下来,您将找到有关该问题的一些详细信息。

  1. 我第一次启动应用程序时,一切都按预期工作。完成应用内购买时没有问题(使用我的沙箱用户 - 让我们称之为testuser1@t.com - )。
  2. 停止了应用,集成了一个按钮"恢复购买"。不幸的是,我忘了添加" finishTransaction"完成时(不确定这可能是问题)。
  3. 从现在开始,每次启动应用程序时,都会不断向我询问testuser1@t.com' s密码。
  4. StoreKit开始在一个不是rootView的视图中做它的东西,所以我排除了我以编程方式输错了...

    那么,我之后做了什么?

    1. 从设备删除了应用并重新安装(重启后)
    2. 删除了沙盒用户(并创建了一个新用户 - 让我们说testuser2 @t.com - )。我成功使用了新帐户以获得新的IAP。
    3. 我设备上已清除的设置
    4. 从iTunes Connect删除IAP
    5. 问题仍然存在。请记住,所提供的密码是testuser1@t.com(第一个测试帐户!)

1 个答案:

答案 0 :(得分:3)

  

停止了应用,集成了“恢复购买”按钮。不幸的是,我忘了在completition中添加“finishTransaction”(不确定这可能是问题)

确实是问题所在!

如果队列中剩余交易,Store Kit将始终要求您重新进行身份验证。要摆脱这些交易,只需致电:

for transaction in SKPaymentQueue.defaultQueue().transactions {
    SKPaymentQueue.defaultQueue().finishTransaction(transaction)
}